Nabeelshar

FastAPI MCP Server

Community Nabeelshar
Updated

MCP server for introspecting and working with FastAPI applications - enables AI assistants to understand your FastAPI codebase

FastAPI MCP Server

A Model Context Protocol (MCP) server that provides comprehensive tools for introspecting and working with FastAPI applications.

Features

🔧 Tools

  1. load_fastapi_app - Load a FastAPI application from a module path
  2. list_routes - List all routes with optional filtering
  3. get_route_details - Get comprehensive details about a specific route
  4. get_openapi_schema - Extract the OpenAPI schema
  5. list_models - List all Pydantic models used in the app
  6. get_model_schema - Get detailed schema for a specific model
  7. search_routes - Search routes by query and criteria
  8. analyze_dependencies - Analyze dependency injection usage
  9. 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.

MCP Server · Populars

MCP Server · New

    mksglu

    Context Mode

    MCP is the protocol for tool access. We're the virtualization layer for context.

    Community mksglu
    Altinity

    Altinity MCP Server

    Model Context Protocol server to use ClickHouse® databases in your AI agents

    Community Altinity
    Vexa-ai

    Vexa

    Open-source meeting transcription API for Google Meet, Microsoft Teams & Zoom. Auto-join bots, real-time WebSocket transcripts, MCP server for AI agents. Self-host or use hosted SaaS.

    Community Vexa-ai
    imran-siddique

    AgentOS MCP Server

    A Safety-First Kernel for Autonomous AI Agents - POSIX-inspired primitives with 0% policy violation guarantee

    Community imran-siddique
    openclaw

    🦞 OpenClaw — Personal AI Assistant

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    Community openclaw