FastAPI MCP Server
A Model Context Protocol (MCP) server that provides comprehensive tools for introspecting and working with FastAPI applications.
Features
🔧 Tools
- load_fastapi_app - Load a FastAPI application from a module path
- list_routes - List all routes with optional filtering
- get_route_details - Get comprehensive details about a specific route
- get_openapi_schema - Extract the OpenAPI schema
- list_models - List all Pydantic models used in the app
- get_model_schema - Get detailed schema for a specific model
- search_routes - Search routes by query and criteria
- analyze_dependencies - Analyze dependency injection usage
- get_route_source - View the source code of route handlers
Installation
pip install -e .
Usage
With Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"fastapi": {
"command": "python",
"args": [
"-m",
"fastapi_mcp_server.server"
],
"cwd": "/path/to/your/fastapi/project"
}
}
}
Standalone
# From your FastAPI project directory
python -m fastapi_mcp_server.server
Example Usage
1. Load Your FastAPI App
Tool: load_fastapi_app
Arguments: {"app_path": "main:app"}
2. List All Routes
Tool: list_routes
Arguments: {}
Or with filters:
Tool: list_routes
Arguments: {
"method_filter": "GET",
"tag_filter": "users"
}
3. Get Route Details
Tool: get_route_details
Arguments: {
"path": "/users/{user_id}",
"method": "GET"
}
4. Search for Routes
Tool: search_routes
Arguments: {
"query": "authentication",
"has_auth": true
}
5. View Route Source Code
Tool: get_route_source
Arguments: {
"path": "/users",
"method": "POST"
}
6. List All Models
Tool: list_models
Arguments: {}
7. Get Model Schema
Tool: get_model_schema
Arguments: {"model_name": "User"}
8. Get OpenAPI Schema
Tool: get_openapi_schema
Arguments: {}
Or for specific paths:
Tool: get_openapi_schema
Arguments: {
"include_only": ["/users", "/users/{user_id}"]
}
9. Analyze Dependencies
Tool: analyze_dependencies
Arguments: {}
Example FastAPI App
See example_app.py for a sample FastAPI application to test with.
Use Cases
🔍 API Discovery
- Quickly understand what endpoints exist
- Find routes by functionality or path
- Explore API structure
📚 Documentation Generation
- Extract OpenAPI schemas
- Get detailed parameter information
- View model schemas with examples
🐛 Debugging
- Inspect route configurations
- View dependency injection hierarchy
- Check parameter validations
🔨 Development
- Generate client code from schemas
- Understand existing APIs before modification
- Find all routes using specific models
🧪 Testing
- List all endpoints for test coverage
- Get parameter requirements for test cases
- Validate response models
Requirements
- Python 3.10+
- FastAPI 0.100.0+
- MCP 1.0.0+
- Pydantic 2.0.0+
Contributing
Contributions are welcome! This tool helps developers work more efficiently with FastAPI applications.
License
MIT License - feel free to use in your projects!
Author
Created as part of the FastAPI ecosystem to improve developer experience with AI-assisted development.
