天气数据API服务

一个轻量级、自托管的Model Context Protocol(MCP)服务器,提供天气数据API作为MCP工具,使LLM和代理框架能够通过标准化接口直接调用天气数据。

  • by Cdalwadi
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 Cdalwadi/MCPServer_AgenticApp

使用说明

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许可证。
您可以自由地分叉、修改和集成到自己的系统中。


🤝 贡献

欢迎提交请求和问题。
如果您扩展了工具集或添加了新的天气端点,请随时做出贡献。