Raffay0177/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.
This document provides a comprehensive overview of a Model Context Protocol (MCP) server integrated with a weather information application using FastAPI.
Weather Info App with MCP Server
A simple weather information application built with FastAPI and integrated with an MCP (Model Context Protocol) server for use with Gemini CLI.
📋 Requirements Checklist
- ✅ FastAPI weather application
- ✅ MCP Server implementation
- ✅ Gemini CLI integration
- ✅ MCP tools demonstration
- ✅ Screen recording (see
SCREEN_RECORDING_GUIDE.md)
🎥 Screen Recording
IMPORTANT: This repository includes a screen recording demonstrating:
- MCP server running
gemini mcp listcommand showing available tools- Usage of all MCP tools (
get_weather,get_weather_batch,check_api_health)
See SCREEN_RECORDING_GUIDE.md for detailed recording instructions.
Project Structure
.
├── weather_api.py # FastAPI weather application
├── mcp_server.py # MCP server exposing weather tools
├── requirements.txt # Python dependencies
├── mcp_config.json # Gemini CLI MCP configuration
├── demo.py # Demo script for testing
└── README.md # This file
Features
- FastAPI Weather API: RESTful API providing weather information
- MCP Server: Exposes weather functionality as MCP tools
- Gemini CLI Integration: Ready to use with Google's Gemini CLI
- Multiple Tools: Get weather for single/multiple cities, health check
Installation
- Clone this repository:
git clone <your-repo-url>
cd "MCp derver using FAST MCP"
- Install dependencies:
pip install -r requirements.txt
Running the Application
Step 1: Start the FastAPI Weather Server
In one terminal:
python weather_api.py
The API will be available at http://localhost:8000
You can test it:
# Using curl
curl http://localhost:8000/weather?city=London
# Or using the browser
http://localhost:8000/weather?city=Paris
Step 2: Configure Gemini CLI for MCP
The MCP server uses stdio transport. Create or update your Gemini CLI configuration file:
On Windows:
%APPDATA%\Google\Gemini CLI\mcp_config.json
On macOS/Linux:
~/.config/google-gemini-cli/mcp_config.json
Example configuration:
{
"mcpServers": {
"weather-info": {
"command": "python",
"args": ["<absolute-path-to-mcp_server.py>"],
"env": {}
}
}
}
For Windows, use full path like:
{
"mcpServers": {
"weather-info": {
"command": "python",
"args": ["B:\\MCp derver using FAST MCP\\mcp_server.py"],
"env": {}
}
}
}
Step 3: Use with Gemini CLI
- Start Gemini CLI
- List available MCP tools:
gemini mcp list
- Use the tools:
# Get weather for a city
gemini mcp call weather-info get_weather --city "Tokyo"
# Get weather for multiple cities
gemini mcp call weather-info get_weather_batch --cities "London,Paris,New York"
# Check API health
gemini mcp call weather-info check_api_health
Available MCP Tools
1. get_weather
Get current weather information for a single city.
Parameters:
city(required): Name of the citycountry(optional): Country name
Example:
gemini mcp call weather-info get_weather --city "London" --country "UK"
2. get_weather_batch
Get weather information for multiple cities at once.
Parameters:
cities(required): Comma-separated list of cities
Example:
gemini mcp call weather-info get_weather_batch --cities "Tokyo,Seoul,Beijing"
3. check_api_health
Check if the weather API is running and healthy.
Example:
gemini mcp call weather-info check_api_health
Testing
Run the demo script to test the setup:
python demo.py
API Endpoints
The FastAPI server provides:
GET /- API informationGET /health- Health checkGET /weather?city=<name>&country=<name>- Get weather (GET)POST /weather- Get weather (POST with JSON body)
Screen Recording Instructions
To create a screen recording demonstrating the MCP server:
- Start the FastAPI server:
python weather_api.py - Open Gemini CLI
- Show
gemini mcp listcommand to see available tools - Demonstrate each tool:
get_weatherfor a single cityget_weather_batchfor multiple citiescheck_api_health
- Show the responses and how they work together
Project Files
weather_api.py- FastAPI weather applicationmcp_server.py- MCP server exposing weather toolsdemo.py- Testing and demonstration scriptget_path.py- Helper to get correct paths for configurationtest_mcp_structure.py- Verify MCP imports and structurerequirements.txt- Python dependenciesmcp_config.json- Example Gemini CLI configuration
Documentation
README.md- This file (main documentation)QUICK_START.md- Quick setup guidesetup_instructions.md- Detailed setup instructionsSCREEN_RECORDING_GUIDE.md- Guide for creating demo videoPROJECT_SUMMARY.md- Complete project overview
Notes
- The weather data is mock/simulated for demonstration purposes
- Make sure the FastAPI server is running before using MCP tools
- The MCP server communicates with the FastAPI server via HTTP
- All paths in the configuration must be absolute paths
Troubleshooting
MCP server not connecting:
- Ensure FastAPI server is running on port 8000
- Check that the path to
mcp_server.pyin the config is correct and absolute - Verify Python is in your PATH
Tools not appearing:
- Restart Gemini CLI after updating the configuration
- Check the MCP server logs for errors
- Verify the configuration JSON syntax is correct