天气模拟服务

一个模拟天气数据的MCP服务器,提供多个国家城市的天气信息。

  • by isaru66
  • Python
  • 混合部署
  • 更新于
在 GitHub 查看 isaru66/mcp-weather-mock

使用说明

MCP天气模拟服务器

模拟天气MCP(模型上下文协议)服务器,为多个国家的城市提供天气数据。

快速入门

1.创建虚拟环境

python -m venv .venv

2.激活虚拟环境

Linux/macOS/代码空间:

source .venv/bin/activate

Windows(PowerShell):

.venv\Scripts\Activate.ps1

Windows(命令提示符):

.venv\Scripts\activate.bat

3.安装依赖项

pip install -r requirements.txt

4.运行服务器

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-weather

MCP客户端连接

从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代码中的扩展。

运行测试

  1. 启动服务器: python main.py
  2. 打开 test/test.http VS代码
  3. 点击任何请求上方的“发送请求”以执行它

可用测试

  • 初始化 -启动MCP会话
  • 列出工具 -发现可用工具
  • get_cities -获取泰国、美国的城市
  • get_weather -获取城市天气(英语和泰语名称)