使用说明
气象代理MCP服务器
示例MCP服务器,使用OpenWeatherMap API提供指定城市的天气信息。
描述
该项目实现了一个名为“天气机器人”的简单模型上下文协议(MCP)服务器。它公开了一个单一的工具,可以获取给定城市的当前天气数据,包括摄氏温度、湿度和天气描述。服务器通过标准I/O(stdio)进行通信,可以与MCP兼容的客户端集成。
在苹果M1 Air上测试。
特性
- 获取任何城市的当前天气信息
- 返回格式化的天气数据,包括描述、温度(°C)和湿度
- 与OpenWeatherMap API集成,提供最新天气数据
安装
-
将此存储库克隆或下载到本地计算机。
-
安装所需的依赖项:
pip install -r requirements.txt
配置
-
从获取API密钥 开放天气地图
-
创建一个
.env文件,并添加您的API密钥:WEATHER_API_KEY=your_api_key_here安全说明: 永远不要承诺你的
.env文件到版本控制。确保它包含在您的.gitignore.
用法
使用以下命令运行MCP服务器:
python weather_agent.py
服务器启动并通过stdio监听MCP协议消息。它可以与MCP兼容的应用程序或客户端集成。
与Claude Desktop集成
要使用Claude Desktop测试此MCP服务器,请执行以下步骤:
-
确保您的计算机上安装了Claude Desktop。
-
找到您的
claude_desktop_config.json文件。在macOS上,它通常位于~/Library/Application Support/Claude/claude_desktop_config.json。您还可以通过UI打开路径,Claude>Settings>Developer>Edit Config。 -
打开
claude_desktop_config.json文件并在JSON对象中添加以下配置(如果存在,则添加到“mcpServers”对象中,或创建它):
{
"mcpServers": {
"weather-agent": {
"command": "python",
"args": ["/path/to/your/mcp-server/weather_agent.py"]
}
}
}
替换 /path/to/your/mcp-server/weather_agent.py 与你的绝对路径 weather_agent.py 文件。例如,路径可能是 /Users/yourusername/Desktop/mcp-server/weather_agent.py.
-
保存
claude_desktop_config.json文件。 -
重新启动Claude Desktop以加载新配置。
-
在Claude Desktop中,您现在可以与天气代理进行交互。例如,问Claude:“东京的天气怎么样?”它应该使用MCP服务器获取并返回天气信息。
注: 请确保在中配置了API密钥 .env 文件,如配置部分所述,并且Python环境已设置为运行脚本(例如,已安装所需的包)。
API
get_weather(城市:str)->str
获取指定城市的当前天气信息。
参数:
city:String-要获取天气的城市名称
退货: 一个格式化的字符串,包含:
- 城市名称
- 天气描述
- 当前温度(摄氏度)
- 湿度百分比
示例响应:
The current weather in London is overcast clouds with a temperature of 15°C and humidity of 72%.
依赖项
requests:用于向天气API发出HTTP请求python-dotenv:用于从.env文件加载环境变量fastmcp:MCP服务器框架
错误处理
如果天气API返回错误或找不到城市,该工具将返回错误消息,指示获取数据失败。
许可证
这是一个示例项目。您可以根据需要自由修改和使用。