使用说明
天气MCP服务器
一个使用Open-Meteo API提供天气信息的模型上下文协议(MCP)服务器。
特点/特性
- 获取全球任意地点的当前天气
- 返回温度、体感温度、湿度、风速和天气状况
- 无需API密钥(使用免费的Open-Meteo API)
- 兼容MCP客户端,如Claude Desktop、Cline及其他AI助手
安装
- 安装依赖项:
npm install
- 构建服务器:
npm run build
使用方法
运行服务器
对于开发:
npm run dev
对于生产:
npm start
MCP客户端配置
将此添加到您的MCP客户端配置中(例如,Claude Desktop配置):
对于Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json (在 macOS 上):
{
"mcpServers": {
"weather": {
"command": "node",
"args": ["/absolute/path/to/weather-mcp/dist/index.js"]
}
}
}
对于Cline/VS Code MCP (.vscode/mcp.json 或用户设置:
{
"mcpServers": {
"weather": {
"command": "node",
"args": ["${workspaceFolder}/weather-mcp/dist/index.js"]
}
}
}
可用工具
get_weather
获取指定位置的当前天气信息。
输入:
location(字符串,必填):城市名称或地点(例如,“伦敦”,“纽约”,“东京”)
输出:
{
"temperature": 20.5,
"feelsLike": 19.8,
"humidity": 65,
"windSpeed": 12.3,
"windGust": 18.5,
"conditions": "Partly cloudy",
"location": "London"
}
示例用法
在您的MCP客户端中配置后,您可以询问:
- “巴黎的天气怎么样?”
- “获取东京的当前天气”
- “告诉我纽约的天气情况”
该人工智能助手将使用 get_weather 用于获取实时天气数据的工具。
API
这台服务器使用的是免费版 Open-Meteo API(开放气象API):
- 用于位置查找的地理编码API
- 当前天气状况的天气预报API
- 无需API密钥
- 非商业用途免费
发展
服务器构建于:
- TypeScript
- 模型上下文协议SDK(@modelcontextprotocol/sdk)
- 用于通信的标准I/O传输
- 开放气象API用于获取天气数据
故障排除
TLS证书错误
如果你看到类似这样的错误:
Fetch failed: TypeError: fetch failed ... UNABLE_TO_GET_ISSUER_CERT_LOCALLY
这是由于 Node.js 不信任系统用于 HTTPS 请求的根证书所导致的。
权宜之计: 设置环境变量 NODE_TLS_REJECT_UNAUTHORIZED=0 在您的MCP客户端配置中或在运行服务器之前:
NODE_TLS_REJECT_UNAUTHORIZED=0 node dist/index.js
或者,在您的 MCP 客户端配置中(针对 Cline/VS Code):
{
"mcpServers": {
"weather": {
"command": "node",
"args": ["${workspaceFolder}/weather-mcp/dist/index.js"],
"env": {
"NODE_TLS_REJECT_UNAUTHORIZED": "0"
}
}
}
}
警告: 这会禁用证书验证,仅应用于本地开发或在您信任您的网络的情况下使用。
许可证
麻省理工学院(MIT)