Model Context Protocol logo

Model Context Protocol

by arkapatra31

This project provides a service built using the Model Context Protocol (MCP) with FastMCP. It enables users to query real-time weather information and access internet usage data.

View on GitHub

Last updated: N/A

MODEL CONTEXT PROTOCOL

A service built using the Model Context Protocol (MCP) with FastMCP. This project enables users to query real-time weather information for any city using the Tavily search API, as well as access internet usage data by country.

Setup

Configure Poetry to create virtual environment

poetry config virtualenvs.in-project true

Install dependencies

poetry install

Update dependencies

poetry update --lock

Features

Get current weather information for any city Query internet usage data by country Async API for efficient processing MCP-based protocol for standardized communication MongoDB integration for internet usage data

Project Structure

Weather Service
➡️weather/weather_mcp_server.py: Defines the FastMCP server with a weather tool
➡️weather/weather_tool.py: Contains utility functions for fetching weather data
➡️weather/__init__.py: Entry point that runs the MCP server
Internet Usage Service
➡️internet_usage/internet_mcp_server.py: Defines the FastMCP server for internet usage data
➡️internet_usage/internet_usage_resource.py: Contains resource definitions and MongoDB connection
➡️internet_usage/__init__.py: Entry point for the internet usage service

📃Resources
The internet usage service provides the following resources:
1️⃣list://resources: Lists all available resources
2️⃣internet-usage://{country}: Retrieves internet usage data for a specific country

Create .env file

# Weather service
TAVILY_API_KEY=your_tavily_api_key_here

# Internet usage service
MONGODB_URI=your_mongodb_connection_string
MONGO_DB_NAME=your_database_name
MONGO_DB_COLLECTION=your_collection_name

Usage

Weather Service
1. Create the MCP server configuration
2. From a MCP Client (Claude Desktop), search for Current weather in <city_name>
Internet Usage Service
1. Create the MCP server configuration
mcp dev .<entry-point internet-usage>