MCP气象服务器
轻量级、自托管 模型上下文协议(MCP)服务器 将您的天气预报API公开为MCP工具。\ 这允许LLM和代理框架通过标准化接口直接调用您的天气数据。
客户端在自己的环境中运行此服务器,并将其连接到首选的MCP兼容LLM(例如,Claude Desktop、Cursor等)。
______________________________________________________________________
🚀 特性
- MCP兼容的WebSocket服务器
- 工具用于:
- 按纬度/经度划分的当前天气 - 多日预报
- JSON模式-经过验证的工具输入
- 通过环境变量进行简单配置
- 运行服务器不需要外部依赖(Node.js之外)
- 已准备好进行Docker、CI和云部署
______________________________________________________________________
🛠️ 需求
- Node.js 20+
- 天气服务的有效API密钥
- 访问您的天气API基础URL
______________________________________________________________________
⚙️ 配置
复制示例环境文件:
bash cp.env.example.env
然后编辑\.env\:
WEATHER_API_KEY=您的_API_KEY_here 天气_API_URL=https://api.yourweather.com 端口=3001 LOGLEVEL=信息
______________________________________________________________________
▶️ 运行服务器
开发模式
bash npm 运行开发
构建和运行
bash npm 运行构建 npm启动
服务器将在以下时间启动: ws://localhost:3001
______________________________________________________________________
🌤️ 可用的MCP工具
\获取当前天气\
检索特定纬度/经度的当前天气状况。
输入:
JSON { “lat”:38.9, “lon”:-77.0 }
输出(示例):
JSON { “摘要”:“当前天气为(38.9,-77)”, “数据”:{…} }
______________________________________________________________________
\getForecast\
检索某个地点的多日预报。
输入:
JSON { “lat”:38.9, “lon”:-77.0, “天数”:5 }
输出(示例):
JSON { “摘要”:“(38.9,-77)的5天预测”, “数据”:{…} }
______________________________________________________________________
🧪 测试
bash npm测试
______________________________________________________________________
🐳 Docker(可选)
包含一个Dockerfile。
构建: bash docker build-t mcp天气服务器。
运行: bash docker运行-p 3001:3001 -e WEATHER_API_KEY=您的_API_KEY -e天气_API_URL=https://api.yourweather.com mcp天气服务器
______________________________________________________________________
🔒 安全说明
- 在您的网络或VPC中托管此服务器
- 如果暴露在外部,则使用防火墙规则或mTLS保护访问
- 定期旋转API键
- 避免在日志或客户端代码中暴露天气API密钥
______________________________________________________________________
📄 许可证
MIT许可证。\ 您可以自由地分叉、修改和集成到自己的系统中。
______________________________________________________________________
🤝 贡献
欢迎提交请求和问题。\ 如果您扩展了工具集或添加了新的天气端点,请随时做出贡献。
