气象MCP服务器
提供天气信息工具的示例模型上下文协议(MCP)服务器。此服务器演示了如何构建可以使用MCP Autodeploy平台部署的MCP服务器。
特性
工具
- get_weather:获取任何城市的当前天气信息
- 获取预测:获取任何城市的5天天气预报
资源
- weather://cities/popular:天气查询热门城市列表
- weather://api/status:API天气现状
鼓励
- 天气_总结:生成全面的天气摘要
- 旅游天气广告:根据天气状况提供旅行建议
设置
- 克隆此存储库 (或将其用作模板)
- 获取天气API密钥 从 OpenWeatherMap
- 设置环境变量:
WEATHER_API_KEY=your_api_key_here
地方发展
# Install dependencies
npm install
# Run in development mode
npm run dev
# Build for production
npm run build
# Run production build
npm start使用MCP自动部署进行部署
- 推送到GitHub:确保你的代码在GitHub存储库中
- 访问MCP自动部署:转到\[您的部署URL\]
- 部署:粘贴您的GitHub存储库URL并单击部署
- 配置:添加您的
WEATHER_API_KEY作为环境变量 - 使用:获取您的部署URL并与AI应用程序集成
使用Claude Desktop
添加到您的Claude Desktop配置中:
{
"mcpServers": {
"weather": {
"command": "npx",
"args": ["@modelcontextprotocol/server-remote"],
"env": {
"REMOTE_SERVER_URL": "https://your-deployed-server.run.app"
}
}
}
}api参考
工具
get_weather
获取一个城市的当前天气。
参数:
city(字符串,必填):城市名称units(字符串,可选):温度单位(metric,imperial,kelvin)
例子:
{
"name": "get_weather",
"arguments": {
"city": "San Francisco",
"units": "metric"
}
}获取预测
获取一个城市的5天天气预报。
参数:
city(字符串,必填):城市名称units(字符串,可选):温度单位(metric,imperial,kelvin)
例子:
{
"name": "get_forecast",
"arguments": {
"city": "London",
"units": "metric"
}
}资源
weather://cities/popular
返回用于天气查询的热门城市的JSON列表。
weather://api/status
返回天气API和配置的当前状态。
鼓励
天气_总结
为城市生成全面的天气摘要。
论据:
city(必填):生成天气摘要的城市
旅游天气广告
根据天气状况提供旅行建议。
论据:
destination(必填):旅行目的地城市travel_date(可选):计划旅行日期(YYYY-MM-DD)
环境变量
| 变量 | 描述 | 必填 | 默认 |
|---|---|---|---|
WEATHER_API_KEY | OpenWeatherMap API密钥 | 是 | demo_key |
NODE_ENV | 环境模式 | 否 | development |
错误处理
服务器处理各种错误情况:
- 未找到城市:返回用户友好的错误消息
- API密钥无效:提示配置API密钥
- 网络错误:返回连接错误信息
- 费率限制:处理API速率限制响应
测试
# Run tests
npm test贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 添加新功能的测试
- 提交拉取请求
许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
支持
- 文档: MCP自动部署文档
- 问题:
- 社区: Discord 的中文翻译是“不和谐”或“纷争”。
