mcppython

Local 2025-09-01 01:09:42 0

A FastAPI server that implements the Model Context Protocol (MCP) using Server-Sent Events (SSE) transport to provide random cat facts on demand or as a continuous stream.


A FastAPI server that implements the Model Context Protocol (MCP) using Server-Sent Events (SSE) transport to provide cat facts.

Features

  • 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

Requirements

  • Python 3.12+
  • Dependencies:
  • fastapi
  • mcp[cli]
  • uvicorn
  • cmake

Installation

Clone the repository

git clone <repository-url>
cd python-mcp

Create a virtual environment

python -m venv venv
source venv/bin/activate  # On Windows, use: venvScriptsactivate

Install dependencies

pip install -e .

Starting the Server in SSE Mode

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

VS Code Integration

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.

Using the Cat Facts API

Get a single cat fact:

Connect to the SSE endpoint and request a single cat fact. The response will always start with "Hi!".

API Endpoints

  • GET /: Homepage
  • GET /about: Information about the application
  • GET /status: Current server status
  • GET /sse: SSE endpoint for MCP communication
  • GET /docs: API documentation (Swagger UI)
  • GET /redoc: Alternative API documentation (ReDoc)

License

MIT