Skip to main content
Glama

Weather Info MCP Server

by Raffay0177
README.md•5.66 kB
# 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: 1. MCP server running 2. `gemini mcp list` command showing available tools 3. 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 1. Clone this repository: ```bash git clone <your-repo-url> cd "MCp derver using FAST MCP" ``` 2. Install dependencies: ```bash pip install -r requirements.txt ``` ## Running the Application ### Step 1: Start the FastAPI Weather Server In one terminal: ```bash python weather_api.py ``` The API will be available at `http://localhost:8000` You can test it: ```bash # 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: ```json { "mcpServers": { "weather-info": { "command": "python", "args": ["<absolute-path-to-mcp_server.py>"], "env": {} } } } ``` For Windows, use full path like: ```json { "mcpServers": { "weather-info": { "command": "python", "args": ["B:\\MCp derver using FAST MCP\\mcp_server.py"], "env": {} } } } ``` ### Step 3: Use with Gemini CLI 1. Start Gemini CLI 2. List available MCP tools: ```bash gemini mcp list ``` 3. Use the tools: ```bash # 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 city - `country` (optional): Country name **Example:** ```bash 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:** ```bash 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:** ```bash gemini mcp call weather-info check_api_health ``` ## Testing Run the demo script to test the setup: ```bash python demo.py ``` ## API Endpoints The FastAPI server provides: - `GET /` - API information - `GET /health` - Health check - `GET /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: 1. Start the FastAPI server: `python weather_api.py` 2. Open Gemini CLI 3. Show `gemini mcp list` command to see available tools 4. Demonstrate each tool: - `get_weather` for a single city - `get_weather_batch` for multiple cities - `check_api_health` 5. Show the responses and how they work together ## Project Files - `weather_api.py` - FastAPI weather application - `mcp_server.py` - MCP server exposing weather tools - `demo.py` - Testing and demonstration script - `get_path.py` - Helper to get correct paths for configuration - `test_mcp_structure.py` - Verify MCP imports and structure - `requirements.txt` - Python dependencies - `mcp_config.json` - Example Gemini CLI configuration ## Documentation - `README.md` - This file (main documentation) - `QUICK_START.md` - Quick setup guide - `setup_instructions.md` - Detailed setup instructions - `SCREEN_RECORDING_GUIDE.md` - Guide for creating demo video - `PROJECT_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.py` in 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

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Raffay0177/MCP-server-using-FAST-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server