About MCP FastAPI Server
MCP FastAPI Server is an asynchronous FastAPI service for interacting with MCP servers. It provides HTTP endpoints to enumerate servers and tools, then invoke a selected tool.
Key features
- 01List MCP servers
- 02List server tools
- 03Invoke MCP tools
- 04Interactive API documentation
Use cases
- 01Expose MCP operations through HTTP
- 02Inspect tools before invocation
- 03Call MCP tools from API clients
MCP support
It connects to accessible local or remote MCP servers. Its API lists servers and their tools and invokes tools on a selected server.
Details
From the project READMEMCP FastAPI Server
A FastAPI-based async API server that communicates with Model Context Protocol (MCP) servers.
Features
- List available MCP servers
- List tools available from MCP servers
- Invoke tools on MCP servers
API Endpoints
POST /api/list-mcp-servers: List all available MCP serversPOST /api/list-tools: List all tools available from an MCP serverPOST /api/invoke-tool: Invoke a tool on an MCP server
Prerequisites
- Python 3.8 or higher
- An accessible MCP server (local or remote)
Installation
-
Clone this repository:
git clone <repository-url> cd mcp-fastapi-server -
Create a virtual environment:
python -m venv venv source venv/bin/activate # For Windows: venv\Scripts\activate -
Install dependencies:
pip install -r requirements.txt -
Create a
.envfile from the example:cp .env.example .envEdit the
.envfile to configure your MCP server URL and other settings.
Running the Server
Start the server with:
uvicorn app.main:app --reload
This will start the server on http://localhost:8000.
API Usage Examples
List MCP Servers
curl -X POST http://localhost:8000/api/list-mcp-servers -H "Content-Type: application/json" -d '{}'
List Tools from an MCP Server
curl -X POST http://localhost:8000/api/list-tools -H "Content-Type: application/json" -d '{"server_url": "http://localhost:5000"}'
Invoke a Tool
curl -X POST http://localhost:8000/api/invoke-tool -H "Content-Type: application/json" -d '{
"server_url": "http://localhost:5000",
"tool_name": "example_tool",
"params": {
"parameter1": "value1",
"parameter2": "value2"
}
}'
Documentation
Once the server is running, you can access the interactive API documentation at:
- Swagger UI:
http://localhost:8000/docs - ReDoc:
http://localhost:8000/redoc
License
MIT # chat-mcp
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.