FastAPI Hello World Application
by xxradar
A simple Hello World API built with FastAPI and MCP SSE support. It includes a dynamic greeting endpoint and OpenAI integration.
View on GitHub
Last updated: N/A
FastAPI Hello World Application
A simple Hello World API built with FastAPI and MCP SSE support.
Features
- Root endpoint that returns a Hello World message
- Dynamic greeting endpoint that takes a name parameter
- OpenAI integration with GPT-4o for advanced AI-powered chat completions
- Automatic API documentation with Swagger UI
Prerequisites
- Python 3.7+ (for local setup)
- pip (Python package installer)
- OpenAI API key (for the
/openai
endpoint) - Docker (optional, for containerized setup)
Setup Instructions
You can run this application either locally or using Docker.
Local Setup
1. Clone the repository
git clone https://github.com/xxradar/mcp-test-repo.git
cd mcp-test-repo
2. Create a virtual environment (optional but recommended)
# On macOS/Linux
python -m venv venv
source venv/bin/activate
# On Windows
python -m venv venv
venv\Scripts\activate
3. Install dependencies
pip install -r requirements.txt
4. Run the application
uvicorn main:app --reload
The application will start and be available at http://127.0.0.1:8000
Alternatively, you can run the application directly with Python:
python main.py
Docker Setup
1. Clone the repository
git clone https://github.com/xxradar/mcp-test-repo.git
cd mcp-test-repo
2. Build the Docker image
docker build -t fastapi-hello-world .
3. Run the Docker container
docker run -p 8000:8000 fastapi-hello-world
The application will be available at http://localhost:8000
API Endpoints
GET /
: Returns a simple Hello World messageGET /hello/{name}
: Returns a personalized greeting with the provided nameGET /openai
: Returns a response from OpenAI's GPT-4o model (accepts an optionalprompt
query parameter)GET /docs
: Swagger UI documentationGET /redoc
: ReDoc documentation
OpenAI Integration
The /openai
endpoint uses OpenAI's GPT-4o model and requires an OpenAI API key to be set as an environment variable:
Local Setup
# Set the OpenAI API key as an environment variable
export OPENAI_API_KEY=your_api_key_here
# Run the application
uvicorn main:app --reload
Docker Setup
# Run the Docker container with the OpenAI API key
docker run -p 8000:8000 -e OPENAI_API_KEY=your_api_key_here fastapi-hello-world
Example Usage
Using curl
# Get Hello World message
curl http://127.0.0.1:8000/
# Get personalized greeting
curl http://127.0.0.1:8000/hello/John
# Get OpenAI chat completion with default prompt
curl http://127.0.0.1:8000/openai
# Get OpenAI chat completion with custom prompt
curl "http://127.0.0.1:8000/openai?prompt=Tell%20me%20a%20joke%20about%20programming"
Using MCP
Connect to MCP Inspector
npx @modelcontextprotocol/inspector
Using a web browser
- Open http://127.0.0.1:8000/ in your browser for the Hello World message
- Open http://127.0.0.1:8000/hello/John in your browser for a personalized greeting
- Open http://127.0.0.1:8000/openai in your browser to get a response from OpenAI with the default prompt
- Open http://127.0.0.1:8000/openai?prompt=What%20is%20FastAPI? in your browser to get a response about FastAPI
- Open http://127.0.0.1:8000/docs for the Swagger UI documentation
Development
To make changes to the application, edit the main.py
file. The server will automatically reload if you run it with the --reload
flag.