使用说明
气象MCP服务器
一个简单的模型上下文协议(MCP)服务器,提供天气信息并演示构建MCP服务器的核心概念。
特性
此MCP服务器演示:
- 资源:不同地点的天气数据(纽约、伦敦、东京)
- 工具:获取当前天气和预报的功能
- 鼓励:天气报告和比较模板
安装
- 安装所需的依赖项:
pip3 install -r requirements.txt
- (可选)创建
.env配置文件:
WEATHER_API_KEY=your_weather_api_key_here
SERVER_NAME=weather-mcp-server
SERVER_VERSION=1.0.0
LOG_LEVEL=INFO
运行服务器
直接运行服务器:
python3 weather_mcp_server.py
可用资源
服务器为以下项目提供天气资源:
weather://new_york-纽约天气,NYweather://london-英国伦敦天气weather://tokyo-日本东京的天气
可用工具
-
get_weather:获取任何位置的当前天气
- 参数:
location(字符串,必填)
- 参数:
-
get_weather_forecast:获取某个地点的天气预报
- 参数:
location(字符串,必填),days(整数,1-7,默认值:3)
- 参数:
可用提示
-
天气报告:生成详细的天气报告
- 参数:
location(字符串,必填)
- 参数:
-
天气比较:比较两个地点的天气
- 参数:
location1(字符串,必填),location2(字符串,必填)
- 参数:
测试服务器
您可以使用MCP检查器工具测试服务器,也可以将其与MCP兼容的客户端集成。
示例用法
这是一个使用示例数据的模拟实现。在现实世界中,你会:
- 用实际天气API调用替换模拟数据
- 添加身份验证和错误处理
- 实现缓存以获得更好的性能
- 添加更详细的天气信息
MCP协议概述
此服务器实现了模型上下文协议,该协议由以下部分组成:
- 资源:可以读取的静态或动态数据源
- 工具:可以调用以执行操作的函数
- 鼓励:LLM交互的模板消息
服务器通过stdio上的JSON-RPC进行通信,使其易于与各种MCP客户端集成。
扩展服务器
要添加新功能,请执行以下操作:
- 添加新工具:在中定义新功能
handle_call_tool方法 - 添加新资源:更新
handle_list_resources和handle_read_resource方法 - 添加新提示:更新
handle_list_prompts和handle_get_prompt方法
依赖项
mcp>=1.0.0:模型上下文协议SDKhttpx>=0.25.0:API调用的HTTP客户端python-dotenv>=1.0.0:环境变量加载