气象MCP服务器
一种模型上下文协议(MCP)服务器,为全球任何城市提供实时天气信息。该服务器与AI助手和IDE集成,通过简单的工具调用获取实时天气数据。
特性
- 实时天气数据 使用Open Meteo API
- 全球城市支持 使用地理编码查找
- 综合天气信息 包括温度、湿度、降水
- MCP协议合规性 实现无缝的人工智能集成
- 错误处理 对于无效的城市名称
数据源
此服务器从以下位置获取数据 Open Meteo,免费天气API服务:
- 地理编码API:
https://geocoding-api.open-meteo.com/v1/search-将城市名称转换为坐标 - 天气API:
https://api.open-meteo.com/v1/forecast-提供当前和每小时的天气数据 - 不需要API密钥 -Open Meteo完全免费使用
- 高可靠性 覆盖全球
安装
- 克隆或下载 此存储库
- 安装依赖项:
npm install用法
独立运行服务器
npx tsx main.ts服务器将通过stdin/stdout启动并监听MCP协议消息。
MCP检验员测试
要在web浏览器中交互式测试服务器,请执行以下操作:
npx @modelcontextprotocol/inspector npx -y tsx main.ts这将:
- 启动代理服务器(通常在端口6277上)
- 提供会话令牌
- 打开一个web界面,您可以在其中测试
get-weather工具
与IDE集成
光标IDE
创建一个 .cursor/mcp.json 项目根目录中的文件:
{
"mcpServers": {
"weather-server": {
"command": "npx",
"args": [
"-y",
"tsx",
"/absolute/path/to/your/main.ts"
]
}
}
}替换 /absolute/path/to/your/main.ts 带有main.ts文件的完整路径。
VS代码(带MCP扩展名)
安装MCP兼容扩展并将其配置为使用:
- 命令:
npx - 参数:
["-y", "tsx", "/absolute/path/to/your/main.ts"]
其他MCP客户端
任何兼容MCP的客户端都可以使用stdio传输连接到此服务器。配置您的客户端以运行:
npx -y tsx /path/to/main.ts可用工具
获取天气信息
获取指定城市的当前天气信息。
参数:
city(string):要获取天气的城市名称
示例用法:
Tool: get-weather
Input: { "city": "London" }答复包括:
- 当前温度和湿度
- 降水数据
- 每小时预测
- 天气情况
发展
项目结构
main.ts-主MCP服务器实现package.json-依赖关系和项目配置.cursor/mcp.json-游标IDE集成配置
需求
- Node.js 18+
- TypeScript支持(通过tsx)
进行更改
- 编辑
main.ts修改服务器行为 - 重新启动MCP客户端以获取更改
- 使用MCP检查器进行测试更改
故障排除
“不支持顶级等待”
本项目使用ES模块("type": "module").异步代码被正确地包装在 main() 功能。
MCP检查器中的“连接错误”
- 确保没有其他进程正在使用代理端口
- 检查服务器启动时是否没有TypeScript错误
- 验证会话令牌是否正确
未找到城市
服务器优雅地处理未知城市,并返回一条有用的错误消息。确保使用常见的城市名称或尝试其他拼写。
许可证
MIT许可证-可根据需要自由使用和修改。
