MCP天气模拟服务器
模拟天气MCP(模型上下文协议)服务器,为多个国家的城市提供天气数据。
快速入门
1.创建虚拟环境
python -m venv .venv2.激活虚拟环境
Linux/macOS/代码空间:
source .venv/bin/activateWindows(PowerShell):
.venv\Scripts\Activate.ps1Windows(命令提示符):
.venv\Scripts\activate.bat3.安装依赖项
pip install -r requirements.txt4.运行服务器
python main.py服务器启动于 http://localhost:8000.
Docker部署
构建Docker镜像
docker build -t mcp-weather-mock .运行容器
docker run -d -p 8000:8000 --name mcp-weather mcp-weather-mock停止并移除容器
docker stop mcp-weather
docker rm mcp-weather查看容器日志
docker logs mcp-weatherMCP客户端连接
从MCP客户端连接
使用可流式传输的HTTP端点:
http://localhost:8000/mcp可用工具
| 工具 | 说明 |
|---|---|
get_cities | 获取一个国家(美国、加拿大、英国、澳大利亚、印度、葡萄牙、泰国)的城市列表 |
get_weather | 获取城市的天气信息(支持泰国城市的泰国名称) |
示例用法
获取城市:
{"country": "thailand"}
// Returns: ["Bangkok", "Chiang Mai", "Phuket", ...]获取天气:
{"city": "Bangkok"}
// Returns: {"city": "Bangkok", "condition": "Sunny", "temperature": 28.5, "humidity": 65.2}使用HTTP文件进行测试
您可以使用附带的测试工具测试MCP端点 test/test.http 文件。
先决条件
安装 REST客户端 VS代码中的扩展。
运行测试
- 启动服务器:
python main.py - 打开
test/test.httpVS代码 - 点击任何请求上方的“发送请求”以执行它
可用测试
- 初始化 -启动MCP会话
- 列出工具 -发现可用工具
- get_cities -获取泰国、美国的城市
- get_weather -获取城市天气(英语和泰语名称)
