使用说明

项目简介

本项目 '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 与客户端通信。
  • 简单易用: 代码结构清晰,易于理解和扩展,适合学习和快速原型开发。

安装步骤

  1. 安装 'mcp' 库:
    pip install mcp
  2. 保存 'weather_server.py': 将 'weather_server.py' 文件保存到本地。
  3. 运行服务器: 在命令行中,导航到 'weather_server.py' 所在目录,并执行以下命令启动服务器:
    python weather_server.py
    服务器默认会在 'http://localhost:8000/sse' 启动,并输出提示信息。

服务器配置

以下是 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 服务器并调用其提供的天气查询工具。

基本使用方法

  1. 启动 'weather_server.py' 服务器。
  2. 使用 MCP 客户端 (例如 'langchain-mcp-client' 仓库中的 'app.py' 应用) 配置并连接到 'http://localhost:8000/sse'。
  3. 在客户端界面中,可以查看和使用服务器提供的天气查询工具,与 LLM Agent 结合,实现基于工具的天气信息交互功能。

信息

分类

网页与API