使用说明
🌦️ 天气MCP服务器和客户端
欢迎来到 天气模型上下文协议(MCP)项目这个项目通过与国家气象局(NWS)等外部API集成,提供实时天气信息。它是使用……构建的(注:原文在此处截断,未提供具体构建技术或工具,因此翻译也相应保留此开放性) FastMCP 框架支持服务器和客户端之间的交互。
🚀 功能
- 天气预警获取美国任何州的天气警报。
- 天气预报获取特定地点的详细天气预报。
- 异步操作完全异步,性能卓越。
- 模块化设计服务器、客户端和实用程序逻辑的清晰分离。
- 大型语言模型(LLM)集成使用语言模型(DistilGPT-2)对天气数据进行总结。
📂 项目结构
- **
server.py**主要服务器文件,用于注册获取天气警报和预报的工具。 - **
client.py**一个用于与服务器交互的命令行客户端。 - **
app.py**一个基于Streamlit的网页应用,提供用户友好的交互体验。 - **
agent.py**一个集成语言模型以总结天气数据的高级客户端。
🛠️ 安装指南
-
克隆仓库:
git clone <repository-url> cd mcp -
安装依赖项: 确保已安装 Python 3.8 或更高版本,然后运行:
pip install -r requirements.txt -
运行服务器: 启动FastMCP服务器:
python server.py -
与客户互动: 使用命令行客户端或Streamlit应用程序与服务器进行交互。
🖥️ 使用方法
命令行客户端
- 列出可用工具:
python client.py list_tools - 获取警报:
python client.py get_alerts --state CA - 获取天气预报:
python client.py get_forecast --latitude 34.05 --longitude -118.25
Streamlit 网页应用
- 运行应用程序:
streamlit run app.py - 使用侧边栏选择操作,如“列出工具”、“获取警报”或“获取预报”
大型语言模型(LLM)集成
- 使用语言模型总结天气数据:
python agent.py interact_with_llm --llm_action get_alerts --state CA python agent.py interact_with_llm --llm_action get_forecast --latitude 34.05 --longitude -118.25
🎥 视频演示
观看Weather MCP项目的快速演示:
🌐 外部依赖
- FastMCP构建MCP服务器和客户端的框架。
- **httpx(注:httpx通常指的是一种基于HTTP协议的工具或框架,用于执行各种HTTP请求和操作,但具体含义需根据上下文确定,此处仅提供基本翻译)**用于发起异步HTTP请求。
- Streamlit用于构建网页应用。
- 变形金刚用于集成DistilGPT-2语言模型。
📋 备注
- 在使用客户端或网页应用之前,请确保服务器正在运行。
- 遵循异步编程模型,以避免阻塞操作。
❤️ 致谢
- FastMCP 用于服务器-客户端框架。
- 美国国家气象局(NWS) 为提供天气数据。
- Hugging Face Transformers(拥抱脸变换器,或直译为“拥抱脸的模型转换工具”,但通常根据上下文简化为“Hugging Face 模型转换工具”或保持原名以体现其特定品牌和技术含义) 对于DistilGPT-2模型。
🤝 贡献
我们欢迎对Weather MCP项目做出贡献!以下是您如何帮助的方式:
- 报告错误如果您遇到任何问题,请在GitHub仓库中提交一个issue。
- 建议功能有新功能的想法吗?通过提交功能请求来告诉我们吧。
- **提交拉取请求(Pull Requests)**克隆该仓库,进行更改,然后提交拉取请求以供审核。
- 改进文档帮助我们通过修正拼写错误、添加示例或阐明说明来完善文档。
贡献指南
- 遵循项目的编码规范和结构。
- 确保所有新代码都有相应的测试覆盖。
- 使用清晰简洁的提交信息。
- 在提交之前,务必彻底测试你的更改。
享受探索天气的乐趣,与 天气气象控制面板(或简称:天气控制面板,MCP在此处可能代表Meteorological Control Panel,但具体翻译可能根据上下文有所调整)!🌤️
