Sponsored by Deepsite.site

MCP

Created By
Abhinavexists8 months ago
A Simple Implementation of the Model Context Protocol
Content

MCP

A Simple implementation of a command-line tool that provides access to US weather data through a client-server architecture using the Model Context Protocol (MCP) and Google's Gemini AI. Built to practive and understand how MCP works.

Overview

This project connects a Python client application with a weather data server, allowing users to query weather information using natural language. The server communicates with the National Weather Service API to retrieve weather alerts and forecasts.

Features

  • Query weather alerts for US states using state codes
  • Get detailed weather forecasts for specific locations using latitude and longitude
  • Natural language interface powered by Google's Gemini AI
  • Client-server architecture using Model Context Protocol (MCP)

Prerequisites

  • Python 3.8+
  • Node.js (if running JavaScript server)
  • Google Gemini API key

Installation

  1. Clone the repository:

    git clone https://github.com/Abhinavexists/MCP_Server.git
    cd weather-tool
    
  2. Install uv if you don't have it already:

    pip install uv
    
  3. Create and activate a virtual environment:

    uv venv
    
    • On Windows: .venv\Scripts\activate
    • On macOS/Linux: source .venv/bin/activate
  4. Install dependencies using uv (this project uses uv.lock and pyproject.toml):

    uv pip sync
    
  5. Create a .env file in the project root directory with your Gemini API key:

    GEMINI_API_KEY=your_gemini_api_key_here
    

Usage

  1. Start the client and connect to the weather server:

    python client.py server.py
    
  2. Once connected, you can ask questions about weather information:

    Query: What are the current weather alerts in CA?
    Query: What's the forecast for latitude 37.7749, longitude -122.4194?
    
  3. Type quit to exit the application.

Available Tools

The server provides the following tools:

  • get_alerts: Fetches weather alerts for a specified US state (using two-letter state code)
  • get_forecast: Retrieves weather forecasts for a specific location (using latitude and longitude)

Project Structure

  • client.py: MCP client that connects to the server and processes user queries using Gemini AI
  • server.py: MCP server that implements weather data tools and communicates with the National Weather Service API

Error Handling

The application includes robust error handling for:

  • Invalid server script paths
  • Connection issues with the NWS API
  • Invalid or missing data in API responses

Future Improvements

  • Add additional weather data endpoints
  • Implement caching for frequently requested data
  • Add support for location name lookup (instead of requiring lat/long)
  • Create a web interface

License

MIT License

Resources

For more information about Model Context Protocol (MCP), refer to the official Claude MCP documentation:

Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
Playwright McpPlaywright MCP server
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
Tavily Mcp
WindsurfThe new purpose-built IDE to harness magic
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
Amap Maps高德地图官方 MCP Server
ChatWiseThe second fastest AI chatbot™
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
DeepChatYour AI Partner on Desktop
CursorThe AI Code Editor
Serper MCP ServerA Serper MCP Server
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。