A FastAPI server that implements the Model Context Protocol (MCP) using Server-Sent Events (SSE) transport to provide cat facts.
- Get a single random cat fact
- Subscribe to a stream of cat facts delivered every 10 seconds
- SSE (Server-Sent Events) for real-time communication
- FastAPI framework with automatic OpenAPI documentation
- Python 3.12+
- Dependencies:
- fastapi
- mcp[cli]
- uvicorn
- cmake
git clone <repository-url>
cd python-mcp
python -m venv venv
source venv/bin/activate # On Windows, use: venv\Scripts\activate
pip install -e .
Start the server using the uv run command:
uv run start
Once the server is running, it will be available at:
- API: http://localhost:8000
- API Documentation: http://localhost:8000/docs
To use this MCP server with VS Code, you need to add the following configuration to your mcp.json
file:
{
"servers": {
"mcp-sse": {
"type": "sse",
"url": "http://0.0.0.0:8000/sse"
}
}
}
This configuration tells VS Code how to connect to your MCP server using SSE transport.
Connect to the SSE endpoint and request a single cat fact. The response will always start with "Hi!".
GET /
: HomepageGET /about
: Information about the applicationGET /status
: Current server statusGET /sse
: SSE endpoint for MCP communicationGET /docs
: API documentation (Swagger UI)GET /redoc
: Alternative API documentation (ReDoc)