aqibqureshi786/MCP-Server-using-FAST-MCP
If you are the rightful owner of MCP-Server-using-FAST-MCP and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Model Context Protocol (MCP) server facilitates seamless integration between various AI models and applications, enabling efficient communication and tool utilization.
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:
This video shows the full integration in action, including FastAPI startup, MCP tools testing, and Gemini AI interactions.
🚀 Quick Start
1. Install Dependencies
pip install -r requirements.txt
2. Set Up Gemini API Key
Create a .env file in the project root:
GEMINI_API_KEY=your-gemini-api-key-here
Get your API key from Google AI Studio.
3. Start FastAPI
python start_fastapi.py
4. Test the Integration
# Test MCP tools directly
python test_mcp_cli.py
# Test Gemini integration
python gemini_integration.py
# Run complete demo
python demo.py
📁 Project Structure
FASTMCP/
├── main.py # FastAPI application
├── mcp_server.py # FastMCP server with tools
├── gemini_integration.py # Gemini SDK integration
├── test_mcp_cli.py # CLI testing script
├── demo.py # Complete demonstration
├── start_fastapi.py # FastAPI startup script
├── requirements.txt # Dependencies
└── README.md # This file
🛠️ 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
"Get all users from the FastAPI application"
→ Gemini calls get_all_users() and formats the response
"Create a new user named Alice with email alice@example.com and age 28"
→ Gemini calls create_user() with the specified parameters
"What is the health status of the application?"
→ Gemini calls get_health_status() and reports the status
🔧 API Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | / | Welcome message |
| GET | /users | List all users |
| GET | /users/{id} | Get user by ID |
| POST | /users | Create user |
| PUT | /users/{id} | Update user |
| DELETE | /users/{id} | Delete user |
| GET | /health | Health check |
🧪 Testing
Test FastAPI Endpoints
# Get all users
python -c "import requests; print(requests.get('http://localhost:8000/users').json())"
# Health check
python -c "import requests; print(requests.get('http://localhost:8000/health').json())"
Test MCP Tools
python test_mcp_cli.py
Test Gemini Integration
python gemini_integration.py
🔑 Environment Variables
| Variable | Description | Required |
|---|---|---|
GEMINI_API_KEY | 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_KEYis set correctly in.envfile - Check API quota and permissions
- Ensure google-genai package is installed
🔗 Learn More
📄 License
This project is open source and available under the MIT License.