Awesome MCP FastAPI¶
Production-Ready MCP Implementation with FastAPI Superpowers
A modern, high-performance implementation of the Model Context Protocol that leverages FastAPI's mature ecosystem for better developer experience and enhanced capabilities.
Why Awesome MCP FastAPI?¶
The Model Context Protocol provides a solid foundation for connecting AI models with tools and data sources, but our implementation offers several significant advantages:
🚀 Production-Ready
Built on FastAPI, a high-performance, modern web framework with automatic OpenAPI documentation generation.
🧩 Dependency Injection
Leverage FastAPI's powerful dependency injection system for more maintainable and testable code.
🔄 Middleware Support
Easy integration with authentication, monitoring, and other middleware components.
✅ Built-in Validation
Pydantic integration for robust request/response validation and data modeling.
âš¡ Async Support
First-class support for async/await patterns for high-concurrency applications.
📚 Enhanced Documentation
Automatic documentation in both MCP and OpenAPI formats with rich type information.
Enhanced Tool Registry¶
Our implementation improves upon the standard MCP tool registry with:
- Automatic Documentation Generation: Tools are automatically documented in both MCP format and OpenAPI specification.
- Improved Type Hints: Enhanced type information extraction for better tooling and IDE support.
- Richer Schema Definitions: More expressive JSON Schema definitions for tool inputs and outputs.
- Better Error Handling: Structured error responses with detailed information.
- Enhanced Docstring Support: Better extraction of documentation from Python docstrings.
Getting Started is Simple¶
from fastapi import FastAPI
from awesome_mcp_fastapi import auto_tool, bind_app_tools
app = FastAPI()
bind_app_tools(app)
@auto_tool(
name="calculator",
description="Perform basic arithmetic operations",
tags=["math"]
)
@app.post("/api/calculator")
async def calculator(operation: str, a: float, b: float):
"""
Perform basic arithmetic operations.
Parameters:
- operation: The operation to perform (add, subtract, multiply, divide)
- a: First number
- b: Second number
Returns:
The result of the operation
"""
if operation == "add":
return {"result": a + b}
elif operation == "subtract":
return {"result": a - b}
# ... more operations
Real-World Use Cases¶
- AI-Powered Applications: Easily expose your application's capabilities to AI models.
- Enterprise Systems: Production-ready implementation with security, authentication, and monitoring.
- Development Tools: Create powerful development tools with automatic documentation.
- Data Analysis Tools: Expose data analysis capabilities to LLMs for more intelligent insights.
Community and Support¶
- Join our Discord community
- Star us on GitHub
- Follow our Twitter for updates
Ready to supercharge your AI tools?
Get started with Awesome MCP FastAPI today and experience the difference!
Get Started