MCP天气服务器
一个连接到OpenWeatherMap API的MCP服务器,用于以不同的测量单位提供全球各地的当前天气数据和多日预报。
服务介绍
天气 MCP 服务器
这是一个使用 OpenWeatherMap API 获取天气数据的 MCP 服务器。它可以托管在 MCP.so 上。
功能
- 任何地点的当前天气数据
- 天气预报(最多 5 天)
- 支持公制和英制单位
- 兼容 stdio 和 REST 传输模式
- Docker 容器化以便于部署
- 符合 MCP.so 托管要求
前提条件
- Node.js v18+
- OpenWeatherMap API 密钥(可以在 OpenWeatherMap 免费获取)
开始使用
本地开发
-
克隆此仓库
git clone https://github.com/yourusername/weather-mcp-server.git cd weather-mcp-server -
安装依赖
npm install -
构建 TypeScript 代码
npm run build -
在 stdio 模式下运行服务器(用于本地测试)
WEATHER_API_KEY=your_api_key_here npm start
以 REST 模式运行
WEATHER_API_KEY=your_api_key_here mode=rest port=9593 endpoint=/rest npm start
Docker
-
构建 Docker 镜像
docker build -t mcp/weather-mcp-server . -
运行容器
docker run -i --rm -e WEATHER_API_KEY=your_api_key_here mcp/weather-mcp-server
使用方法
可用工具
current_weather
获取特定地点的当前天气数据。
参数:
location(必填):城市名称或城市名称+国家代码(例如,“London”,“Paris,FR”)units(可选):测量单位。选项:“metric”(摄氏度)或“imperial”(华氏度)。默认值:“metric”
示例请求:
{
"params": {
"name": "current_weather",
"arguments": {
"location": "Tokyo,JP",
"units": "metric"
}
}
}
weather_forecast
获取特定地点的天气预报。
参数:
location(必填):城市名称或城市名称+国家代码(例如,“London”,“Paris,FR”)units(可选):测量单位。选项:“metric”(摄氏度)或“imperial”(华氏度)。默认值:“metric”days(可选):预报天数。最大为 5 天。默认值:5
示例请求:
{
"params": {
"name": "weather_forecast",
"arguments": {
"location": "New York,US",
"units": "imperial",
"days": 3
}
}
}
在 MCP.so 上托管
要在 MCP.so 上托管此服务器:
- 确保您的 GitHub 仓库是公开的,并且具有 MIT、Apache 或类似的许可证
- 将您的 MCP 服务器提交给 MCP.so 审核
- 一旦通过审核,您的服务器将在 MCP Playground 上可用
许可证
MIT
联系方式
如有关于问题或支持的需求,请在 GitHub 上提出 issue。