article
README
🚀 天气MCP服务器
这是一个强大的天气信息服务器,基于FastMCP构建,可通过多个接口提供天气预警和相关工具。
🚀 快速开始
选项1:交互式启动器(推荐)
python run_server.py
运行此命令后,你可以选择启动MCP服务器或Web界面。
选项2:直接启动Web界面
python server/web_interface.py
然后在浏览器中打开:http://localhost:8000
选项3:仅启动MCP服务器
python main.py
✨ 主要特性
- 🌤️ 天气预警:获取美国任何州的实时天气预警。
- 🔊 回声资源:具备简单的消息回显功能。
- 🖥️ 多接口选择:可选择MCP服务器或Web界面。
- 🎨 精美界面:拥有现代、响应式的Web界面。
📦 安装指南
- 安装依赖项:
uv sync - 启动服务器:
python run_server.py
💻 使用示例
Web界面
- 启动Web界面。
- 在浏览器中打开 http://localhost:8000。
- 使用表单进行以下操作:
- 获取美国某个州(如CA、NY、TX)的天气预警。
- 通过资源系统回显消息。
MCP服务器
MCP服务器提供以下工具:
get_alerts(state):获取美国某个州的天气预警。state:美国州的双字母代码(如 "CA"、"NY")。
echo_resource(message):将消息作为资源进行回显。message:任何要回显的文本消息。
📚 详细文档
API端点
GET /:主Web界面。POST /api/alerts:获取天气预警(表单数据:state)。POST /api/echo:回显消息(表单数据:message)。
依赖项
mcp[cli]>=1.13.0:MCP服务器框架。fastapi>=0.104.0:Web框架。uvicorn[standard]>=0.24.0:ASGI服务器。httpx>=0.25.0:HTTP客户端。python-multipart>=0.0.6:表单数据处理。
项目结构
secondproject/
├── main.py # MCP服务器入口点
├── run_server.py # 交互式启动器
├── server/
│ ├── weather.py # MCP服务器实现
│ └── web_interface.py # Web界面
├── pyproject.toml # 项目配置
└── README.md # 本文件
故障排除
常见问题
- 端口已被占用:在
web_interface.py中更改端口或停止其他服务。 - 缺少依赖项:运行
uv sync安装所有依赖项。 - API错误:检查网络连接以获取天气数据。
获取帮助
- 检查控制台输出的错误消息。
- 确保所有依赖项已安装。
- 验证Python版本(需要3.12+)。
📄 许可证
本项目为开源项目,采用MIT许可证。
Scan to join WeChat group