Cover image
Try Now
2025-04-05

A Simple Implementation of the Model Context Protocol

3 years

Works with Finder

1

Github Watches

0

Github Forks

5

Github Stars

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:

相关推荐

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • Yusuf Emre Yeşilyurt
  • I find academic articles and books for research and literature reviews.

  • Carlos Ferrin
  • Encuentra películas y series en plataformas de streaming.

  • https://zenepic.net
  • Embark on a thrilling diplomatic quest across a galaxy on the brink of war. Navigate complex politics and alien cultures to forge peace and avert catastrophe in this immersive interstellar adventure.

  • https://reddgr.com
  • Delivers concise Python code and interprets non-English comments

  • 林乔安妮
  • A fashion stylist GPT offering outfit suggestions for various scenarios.

  • 田中 楓太
  • A virtual science instructor for engaging and informative lessons.

  • ShrimpingIt
  • Micropython I2C-based manipulation of the MCP series GPIO expander, derived from Adafruit_MCP230xx

  • apappascs
  • Discover the most comprehensive and up-to-date collection of MCP servers in the market. This repository serves as a centralized hub, offering an extensive catalog of open-source and proprietary MCP servers, complete with features, documentation links, and contributors.

  • GeyserMC
  • A library for communication with a Minecraft client/server.

  • Mintplex-Labs
  • The all-in-one Desktop & Docker AI application with built-in RAG, AI agents, No-code agent builder, MCP compatibility, and more.

  • awslabs
  • AWS MCP Servers — specialized MCP servers that bring AWS best practices directly to your development workflow

  • modelcontextprotocol
  • Model Context Protocol Servers

  • 1Panel-dev
  • 💬 MaxKB is an open-source AI assistant for enterprise. It seamlessly integrates RAG pipelines, supports robust workflows, and provides MCP tool-use capabilities.

  • open-webui
  • User-friendly AI Interface (Supports Ollama, OpenAI API, ...)

  • GLips
  • MCP server to provide Figma layout information to AI coding agents like Cursor

    Reviews

    1 (1)
    Avatar
    user_A88pTLZ2
    2025-04-17

    As a dedicated user of MCP_Server, I highly recommend this tool for anyone needing a reliable and efficient server solution. Created by Abhinavexists, this project is well-documented and easy to deploy. The seamless user experience and robust performance make it a standout choice. For more details, visit the GitHub page here: https://github.com/Abhinavexists/MCP_Server.