这是一个模型上下文协议(MCP)服务器,借助WeatherAPI服务提供天气信息。该服务器允许AI助手通过标准输入输出(stdio)通信获取当前天气、天气预报,并搜索地点。
本服务器可让AI助手借助标准输入输出通信获取当前天气、天气预报并搜索地点。你可以按照以下步骤进行安装和配置。
通过 Smithery MCP注册表自动安装:
npx -y @smithery/cli install weather-mcp-server --client claude
或者用于其他MCP客户端:
npx -y @smithery/cli install weather-mcp-server
这将自动完成以下操作:
请确保你的API密钥安全,切勿将其提交到版本控制系统。
uv sync
WEATHER_API_KEY=your_api_key uv run server.py
DEBUG=true WEATHER_API_KEY=your_api_key uv run server.py
当你的MCP客户端(如mcphost或Claude Desktop)连接到服务器时,服务器将自动启动。
获取某个地点的当前天气状况。 参数:
q(必需):地点查询(城市名称、坐标、邮政编码)aqi(可选):是否包含空气质量数据(“yes” 或 “no”,默认:“no”)
示例:{
"name": "weather_current",
"arguments": {
"q": "New York, NY",
"aqi": "yes"
}
}
获取1 - 14天的天气预报。 参数:
q(必需):地点查询days(可选):预报天数(1 - 14,默认:1)
示例:{
"name": "weather_forecast",
"arguments": {
"q": "London, UK",
"days": 7
}
}
搜索与查询匹配的地点。 参数:
q(必需):搜索查询
示例:{
"name": "weather_search",
"arguments": {
"q": "Paris"
}
}
天气工具支持多种地点格式:
设置你的WeatherAPI密钥:
export WEATHER_API_KEY=your_api_key_here
可选 - 启用调试日志:
export DEBUG=true
将此服务器添加到你的MCP客户端配置(例如 config.json)中:
{
"mcpServers": {
"weather": {
"command": "uv",
"args": [
"--directory",
"/path/to/weather-mcp-server",
"run",
"server.py"
],
"env": {
"WEATHER_API_KEY": "your_api_key_here"
}
}
}
}
启用调试日志,添加 DEBUG 环境变量:
{
"mcpServers": {
"weather": {
"command": "uv",
"args": [
"--directory",
"/path/to/weather-mcp-server",
"run",
"server.py"
],
"env": {
"WEATHER_API_KEY": "your_api_key_here",
"DEBUG": "true"
}
}
}
}
使用JSON - RPC请求测试服务器:
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' | WEATHER_API_KEY=your_api_key uv run server.py
启用调试日志:
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' | DEBUG=true WEATHER_API_KEY=your_api_key uv run server.py
测试天气工具:
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"weather_current","arguments":{"q":"New York"}}}' | WEATHER_API_KEY=your_api_key uv run server.py
docker build -t weather-mcp-server .
docker run --rm -i -e WEATHER_API_KEY=your_api_key weather-mcp-server
服务器支持可选的调试日志。设置 DEBUG 环境变量以启用详细日志记录。
日志级别:
INFO:基本服务器操作(默认)DEBUG:详细的请求/响应信息、API调用(当 DEBUG=true 时)服务器能够优雅地处理常见错误:
httpx:用于API请求的HTTP客户端asyncio:支持异步/等待json、logging、sys、osWeatherAPI免费套餐包括:
WEATHER_API_KEY 环境变量weather_search 工具查找有效地点通过设置 DEBUG 环境变量启用详细日志记录:
DEBUG=true WEATHER_API_KEY=your_api_key uv run server.py 2>&1 | grep -E "(DEBUG|ERROR)"
此服务器使用以下方式实现MCP协议:
本项目采用MIT许可证 - 详情请参阅 LICENSE 文件。
最后更新时间:2025年7月12日