
Example Model Context Protocol Server use SSE from python's MCP sdk
概览
This is a tutorial application for setting a Server-Sent Events (SSE) Model Context Protocol (MCP) Server. This server returns weather information for a specified location. This server demonstrates how to implement a simple MCP SSE server that can be integrated with AI agents. - SSE-based MCP server implementation - Real-time weather data retrieval - Support for current conditions and forecasts - Easy integration with AI agents through MCP - Python 3.10 or later - Node.js and NPM (for the MCP Inspector) - Git (for version control) 2. Run the setup script: This will: - Create a Python virtual environment in .venv - Activate the virtual environment - Install all required dependencies 3. (Optional) Configure your IDE to use the Python interpreter from .venv There are several ways to run the server: 1. Check if the server is running: - Open your browser and navigate to http://127.0.0.1:3001/sse - You should see a response like:
README
以下为原文 README 节选,完整内容请查看原文。
Introduction
This is a tutorial application for setting a Server-Sent Events (SSE) Model Context Protocol (MCP) Server. This server returns weather information for a specified location.
This server demonstrates how to implement a simple MCP SSE server that can be integrated with AI agents.
Features
- SSE-based MCP server implementation
- Real-time weather data retrieval
- Support for current conditions and forecasts
- Easy integration with AI agents through MCP
Prerequisites
- Python 3.10 or later
- Node.js and NPM (for the MCP Inspector)
- Git (for version control)
Installation
-
Clone the repository:
git clone [repository-url] cd mcp-weather-service -
Run the setup script:
scripts/setup.batThis will:
- Create a Python virtual environment in
.venv - Activate the virtual environment
- Install all required dependencies
- Create a Python virtual environment in
-
(Optional) Configure your IDE to use the Python interpreter from
.venv
Running the Server
There are several ways to run the server:
Method 1: Direct Run (Preferred)
python src/mcp_weather_service/weather_server.py
Method 2: Using Uvicorn
uvicorn mcp_weather_service.weather_server:app --host 127.0.0.1 --port 3001
Method 3: Using Launch Script
scripts/launch.bat
Verifying the Server
-
Check if the server is running:
- Open your browser and navigate to
http://127.0.0.1:3001/sse - You should see a response like:
event: endpoint data: /weather?session_id=f0c33285de5846d79a89f41212acfd75
- Open your browser and navigate to
-
Using the MCP Inspector:
scripts/inspect.batThis launches the MCP Protocol Inspector, which allows you to:
- Interact with the server directly
- Test weather queries
- Debug server responses
- You MUST connect via
http://127.0.0.1:3001/sse(use127.0.0.1instead oflocalhostespecially on Windows!)
-
Using with a MCP Client There is a gradio MCP Client demo that can be used to interact with this server. See that projects’ details to set it up The entry for
config.jsonfor THAT project is:
{
"mcpServers": {
"weather": {
"type": "sse",
"url": "http://127.0.0.1"
}
}
}
Available Tools
get_current_weather
Gets current weather and forecast for a specified location.
Input Schema:
{
"location_name": {
"type": "string",
"description": "The location to get the weather for"
}
}
Example Response:
{
"currently": {
"current_temperature": 72.5,
"sky": "☀️",
"feels_like": 74.2,
"humidity": 65,
"wind_speed": 8.5,
"wind_direction": "NW↗️",
"visibility": 10,
"uv_index": 5,
"description": "Clear skies",
"forecasts": [
{
"date": "2024-12-05",
"high_temperature": 75.8,
"low_temperature": 62.4
}
]
}
}
Development
安装
This server does not publish a one-line install command.
Open the repository installation guide 新手?先看 mcpskill.org 教程 →配置
{
"mcpServers": {
"weather": {
"type": "sse",
"url": "http://127.0.0.1"
}
}
}