MCP FastAPI Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP FastAPI ServerGenerate a Python function to add two numbers."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP FastAPI Server
Overview
This project is a scalable FastAPI server for handling Model Control Protocol (MCP) requests. It is designed to route requests to different AI model services (such as code generation and debugging), enforce API key security, and provide rate limiting and logging. The server is modular, extensible, and ready for production or research use.
Related MCP server: DeepClaude MCP Server
Features
FastAPI-based: High-performance, async Python web server
API Key Security: Protects endpoints with API key authentication
Rate Limiting: Per-key or per-client rate limiting (Redis or in-memory)
Code Generation & Debugging: Specialized endpoints for codegen and debugging models
Extensible Routers: Easily add new model types or endpoints
Comprehensive Logging: Info and error logs for all requests and errors
Health Checks: Endpoints for service and model health
Environment-based Configuration: Uses
.envandconfig.pyfor settings
Project Structure
MCP_SERVER/
├── __init__.py
├── auth.py # API key management and authentication
├── codegen_router.py # Endpoints for code generation
├── config.py # App and environment configuration
├── degubber_router.py # Endpoints for code debugging
├── main.py # FastAPI app setup and router inclusion
├── middleware.py # Custom middleware (rate limiting, logging)
├── models.py # Pydantic models for requests/responses
├── requirements.txt # Python dependencies
├── services.py # Model routing and core logic
├── start_server.py # Production server startup script
├── test_client.py # (Legacy) server startup script
├── api_test_script.py # Script to test all main endpointsSetup & Installation
Clone the repository
Install dependencies:
pip install -r requirements.txt(Optional) Set environment variables in a
.envfile or your shell (seeconfig.pyfor options)
Running the Server
Development:
python start_server.pyThe server will start on
http://localhost:8000by default.API docs available at
http://localhost:8000/docs
API Usage
Authentication
All main endpoints require an API key in the
X-API-Keyheader.Example keys are defined in
auth.py(e.g.,mcp-key-dev-123).
Main Endpoints
GET /— Root infoGET /health— Server healthPOST /mcp— General MCP request (routes to appropriate model)GET /api/v1/codegen/capabilities— Codegen model capabilitiesPOST /api/v1/codegen/generate— Generate code (requireswritepermission)GET /api/v1/codegen/templates— Code templatesGET /api/v1/codegen/health— Codegen healthGET /api/v1/debugger/capabilities— Debugger model capabilitiesPOST /api/v1/debugger/analyze— Analyze code for bugs/errorsGET /api/v1/debugger/best-practices— Coding best practicesGET /api/v1/debugger/health— Debugger health
Example Request (with httpx)
import httpx
headers = {"X-API-Key": "mcp-key-dev-123"}
payload = {
"model": "aiden-7b",
"prompt": "Generate a Python function to add two numbers",
"context": {"language": "python"}
}
resp = httpx.post("http://localhost:8000/api/v1/codegen/generate", headers=headers, json=payload)
print(resp.json())Testing
Use
api_test_script.pyto test all main endpoints automatically:python api_test_script.pyThe script prints status and response for each endpoint.
Extending the Project
Add new models: Implement new handlers in
services.pyand register them inModelRouter.Add new endpoints: Create new routers (see
codegen_router.py,degubber_router.py).Change rate limiting: Update or extend
middleware.py.Change API key logic: Update
auth.py.
Contributing
Fork the repo and submit pull requests.
Please include tests and update documentation for new features.
License
MIT License (or specify your own)
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/taha-sadikot-m/MCP_SERVER'
If you have feedback or need assistance with the MCP directory API, please join our Discord server