使用说明
Python MCP天气服务器
FastMCP stdio服务器暴露出弹性 check_weather 该工具使用wttr.in,带有演示回退和观察元数据。
概述
LLM代理需要一个基于MCP的小型类型化天气工具,该工具可以优雅地离线降级,并返回结构化的成功/错误观察结果。
mcp.server.fastmcp快速mcp应用程序;异步 check_weather 验证位置,超时获取wttr.in,重试替换拼写,可选地返回演示存根;服务器周围的pytest覆盖率。
13个文件的MCP服务器包,具有环境可配置的超时/基本URL/演示模式、CI工作流和包含观察分数的代理就绪JSON有效载荷。
此存储库的维护方式为 注重生产的组合工作:清晰的架构、自动检查(如果有的话)和指标 可追溯到已提交的工件 (从未发明)。
建筑学
MCP客户端(stdio)→ FastMCP检查_天气→ 工具/天气。蚀刻_工人_准备→ wttr.in或演示存根→ JSON观察
flowchart LR
C[MCP Client] -->|stdio| S[FastMCP server]
S --> T[check_weather]
T --> F[fetch_weather_agent_ready]
F -->|live| W[wttr.in]
F -->|fallback| D[Demo stub]
sequenceDiagram
participant U as User/Client
participant S as Service/Pipeline
participant E as Eval/Tools
U->>S: request / job
S->>E: execute
E-->>S: results
S-->>U: report / response
结果和存储库事实
仅列出在代码、配置、测试或生成的报告中找到的值。没有临床/ML准确度数字意味着 不 在repo中发布。
| 度量 | 值 | 来源 |
|---|---|---|
| 默认天气HTTP超时 | 10秒 | config.py |
| 在主屏幕上跟踪斑点 | 13 | git tree main |
| 跟踪的文件 | 13 | git tree |
| Python模块 | 5 | git tree |
| 测试相关路径 | 1 | git tree |
| CI工作流 | 是 | .github/workflows |
| Docker存在 | 不 | repo root |
%%{init: {'theme':'base'}}%%
pie showData title Language composition (bytes)
"Python" : 89
"Batchfile" : 6
"PowerShell" : 4
主要特点
- 单MCP工具:check_weather
- 可配置的WEATHER_TIMEOUT_SECONDS(默认值10,最大值60)
- DEMO_MODE和ALLOW_DEMO_FALLBACK存根
- 使用备用位置拼写重试
- 结构化观察+尝试元数据
- pytest套件+GitHub操作CI
技术栈
| 层 | 技术 |
|---|---|
| 语言 | Python |
| 协议 | 模型上下文协议(stdio) |
| 库 | mcp[cli]FastMCP |
| api | wttr.in |
| 包装 | pyproject.toml/uv.lock |
技能展示
Python·MCP FastMCP·pytest·uv·CI/CD·测试·自动化
关键字表面: Python·Python·机器学习·CI/CD·测试·API·Docker·自动化·数据科学·软件工程·系统设计·可观察性·LLM·云
项目结构
Python-MCP-Weather-Server/
├── main.py
├── config.py
├── tools/weather.py
├── tests/test_weather_server.py
├── pyproject.toml
└── .github/workflows/ci.yml
安装和使用
git clone https://github.com/ArchanaChetan07/Python-MCP-Weather-Server.git
cd Python-MCP-Weather-Server
pip install -r requirements.txt
python main.py
运作原理
在stdio传输上,客户端调用 check_weather(location);该工具验证输入,在配置的超时内调用wttr.in,可以重试,并返回一个dict,其中包含适合代理循环的summary/raw/seccept/demo/error/观察字段。
未来的改进
- 添加更多MCP工具(预测、警报)
- 用于工具输出的OpenAPI样式模式文档
- 用MCP客户端接线示例替换模板README
许可证
请参阅存储库。
Python MCP Weather Server
github.com/ArchanaChetan07/Python-MCP-Weather-Server