Provides MCP tools for interacting with a FastAPI application, enabling CRUD operations for user management, health checks, and application information retrieval through natural language commands.
Integrates with Google's Gemini AI to provide natural language interface capabilities, allowing automatic tool selection and execution of MCP tools based on conversational prompts.
FastAPI + FastMCP + Gemini Integration
A complete demonstration of integrating FastAPI with Google's Gemini AI through the Model Context Protocol (MCP) using FastMCP.
๐ฅ Demo Video
Watch the complete demonstration: Fast MCP.mp4
This video shows the full integration in action, including FastAPI startup, MCP tools testing, and Gemini AI interactions.
๐ Quick Start
1. Install Dependencies
2. Set Up Gemini API Key
Create a .env
file in the project root:
Get your API key from Google AI Studio.
3. Start FastAPI
4. Test the Integration
๐ Project Structure
๐ ๏ธ Core Components
FastAPI Application (main.py
)
RESTful API with user management (CRUD operations)
Health check endpoint
Auto-generated documentation at
/docs
FastMCP Server (mcp_server.py
)
Provides 7 MCP tools for API interaction:
get_all_users()
- Retrieve all usersget_user_by_id(user_id)
- Get specific usercreate_user(name, email, age)
- Create new userupdate_user(user_id, name, email, age)
- Update userdelete_user(user_id)
- Delete userget_health_status()
- Check app healthget_app_info()
- Get app information
Gemini Integration (gemini_integration.py
)
Direct integration with Google's Gemini API
Natural language interface for MCP tools
Automatic tool selection based on prompts
๐ค How It Works
FastAPI provides a RESTful API for user management
FastMCP creates an MCP server that exposes API functions as tools
Gemini can call these tools automatically based on natural language prompts
Example Gemini Interactions
๐ง API Endpoints
Method | Endpoint | Description |
GET |
| Welcome message |
GET |
| List all users |
GET |
| Get user by ID |
POST |
| Create user |
PUT |
| Update user |
DELETE |
| Delete user |
GET |
| Health check |
๐งช Testing
Test FastAPI Endpoints
Test MCP Tools
Test Gemini Integration
๐ Environment Variables
Variable | Description | Required |
| Google Gemini API key | For Gemini integration |
๐ Key Features
โ Natural Language Interface - Ask questions in plain English
โ Automatic Tool Selection - Gemini chooses appropriate MCP tools
โ Real-time API Interaction - Direct communication with FastAPI
โ Complete CRUD Operations - Full user management capabilities
โ Error Handling - Comprehensive error management
โ Cross-platform Support - Works on Windows, macOS, Linux
๐ Troubleshooting
FastAPI Not Starting
Check if port 8000 is available
Ensure all dependencies are installed
Run:
uvicorn main:app --reload
MCP Tools Not Working
Verify FastAPI is running on http://localhost:8000
Check MCP server script for errors
Gemini Integration Issues
Verify
GEMINI_API_KEY
is set correctly in.env
fileCheck API quota and permissions
Ensure google-genai package is installed
๐ Learn More
๐ License
This project is open source and available under the MIT License.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Enables natural language interaction with FastAPI applications through Google's Gemini AI using MCP tools. Provides CRUD operations for user management and application health monitoring through conversational prompts.