使用说明
项目简介
本项目 'weather_server.py' 是一个基于 Model Context Protocol (MCP) 的简单天气服务服务器示例。它使用 'fastmcp' 库构建,提供了获取天气信息的一系列工具,例如查询当前天气、获取天气预报、查询天气警报和温度转换。此服务器旨在演示如何使用 MCP 协议构建应用后端,为 LLM 客户端提供上下文信息和功能。
主要功能点
- 工具 (Tools) 注册: 提供了四个天气相关的工具:
- 'get_current_weather': 获取指定地点的当前天气。
- 'get_forecast': 获取指定地点未来几天的天气预报。
- 'get_weather_alert': 查询指定地点是否存在天气警报。
- 'convert_temperature': 在摄氏度、华氏度和开尔文之间转换温度。
- JSON-RPC over SSE: 使用 Server-Sent Events (SSE) 协议通过 JSON-RPC 与客户端通信。
- 简单易用: 代码结构清晰,易于理解和扩展,适合学习和快速原型开发。
安装步骤
- 安装 'mcp' 库:
pip install mcp - 保存 'weather_server.py': 将 'weather_server.py' 文件保存到本地。
- 运行服务器:
在命令行中,导航到 'weather_server.py' 所在目录,并执行以下命令启动服务器:
服务器默认会在 'http://localhost:8000/sse' 启动,并输出提示信息。python weather_server.py
服务器配置
以下是 MCP 客户端连接到 'weather_server.py' 服务器的示例配置信息(JSON 格式)。客户端需要根据此配置与服务器建立连接并使用其提供的工具。
{ "server_name": "WeatherService", "transport": "sse", "command": "python", "args": ["weather_server.py"], "url": "http://localhost:8000/sse" }
配置参数说明:
- 'server_name': 服务器名称,例如 "WeatherService",用于在客户端标识和管理服务器连接。
- 'transport': 传输协议,这里设置为 "sse" (Server-Sent Events),表示使用 SSE 协议进行通信。
- 'command': 启动服务器的命令,通常为 "python",表示使用 Python 解释器。
- 'args': 启动命令的参数列表,'["weather_server.py"]' 表示执行 'weather_server.py' 脚本来启动服务器。
- 'url': 服务器的 SSE 端点 URL,客户端通过此 URL 与服务器建立连接,通常为 "http://localhost:8000/sse"。
注意: 实际使用时,请确保 'weather_server.py' 文件路径与 'args' 配置中的脚本名称一致,并且服务器运行在配置的 'url' 上。客户端根据这些配置信息,即可连接到此 MCP 服务器并调用其提供的天气查询工具。
基本使用方法
- 启动 'weather_server.py' 服务器。
- 使用 MCP 客户端 (例如 'langchain-mcp-client' 仓库中的 'app.py' 应用) 配置并连接到 'http://localhost:8000/sse'。
- 在客户端界面中,可以查看和使用服务器提供的天气查询工具,与 LLM Agent 结合,实现基于工具的天气信息交互功能。
信息
分类
网页与API