A Model Context Protocol (MCP) server that provides comprehensive tools for introspecting and working with FastAPI applications.
- 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
pip install -e .Add to your claude_desktop_config.json:
{
"mcpServers": {
"fastapi": {
"command": "python",
"args": [
"-m",
"fastapi_mcp_server.server"
],
"cwd": "/path/to/your/fastapi/project"
}
}
}# From your FastAPI project directory
python -m fastapi_mcp_server.serverTool: load_fastapi_app
Arguments: {"app_path": "main:app"}
Tool: list_routes
Arguments: {}
Or with filters:
Tool: list_routes
Arguments: {
"method_filter": "GET",
"tag_filter": "users"
}
Tool: get_route_details
Arguments: {
"path": "/users/{user_id}",
"method": "GET"
}
Tool: search_routes
Arguments: {
"query": "authentication",
"has_auth": true
}
Tool: get_route_source
Arguments: {
"path": "/users",
"method": "POST"
}
Tool: list_models
Arguments: {}
Tool: get_model_schema
Arguments: {"model_name": "User"}
Tool: get_openapi_schema
Arguments: {}
Or for specific paths:
Tool: get_openapi_schema
Arguments: {
"include_only": ["/users", "/users/{user_id}"]
}
Tool: analyze_dependencies
Arguments: {}
See example_app.py for a sample FastAPI application to test with.
- Quickly understand what endpoints exist
- Find routes by functionality or path
- Explore API structure
- Extract OpenAPI schemas
- Get detailed parameter information
- View model schemas with examples
- Inspect route configurations
- View dependency injection hierarchy
- Check parameter validations
- Generate client code from schemas
- Understand existing APIs before modification
- Find all routes using specific models
- List all endpoints for test coverage
- Get parameter requirements for test cases
- Validate response models
- Python 3.10+
- FastAPI 0.100.0+
- MCP 1.0.0+
- Pydantic 2.0.0+
Contributions are welcome! This tool helps developers work more efficiently with FastAPI applications.
MIT License - feel free to use in your projects!
Created as part of the FastAPI ecosystem to improve developer experience with AI-assisted development.