使用说明

项目简介

本项目 'mcp-server-python-template' 是一个用于快速搭建 Model Context Protocol (MCP) 服务器的 Python 模板。它提供了一个结构化的基础框架,帮助开发者轻松创建能够与 LLM 客户端进行交互的 MCP 服务器应用。该模板预置了工具注册和基于 SSE (Server-Sent Events) 及 Stdio 的通信机制,并提供了一个天气信息工具的示例,方便用户理解和扩展。

主要功能点

  • MCP 服务器基础框架: 提供构建 MCP 服务器所需的核心组件和结构。
  • 工具 (Tools) 注册: 允许开发者注册自定义工具,供 LLM 客户端调用,例如示例中的天气查询工具。
  • 传输协议支持: 内置支持 SSE 和 Stdio 两种传输协议,满足不同应用场景的需求。
  • 示例工具: 包含获取天气预警和天气预报的示例工具,展示了如何集成外部 API。
  • 易于扩展: 模板结构清晰,方便开发者根据自身需求扩展功能,例如添加资源管理和Prompt模板渲染等功能。

安装步骤

  1. 克隆仓库
    git clone https://github.com/Cris-0k/mcp-server-python-template.git
    cd mcp-server-python-template
  2. 安装依赖 建议使用虚拟环境:
    python -m venv venv
    source venv/bin/activate  # 或 venv\Scripts\activate for Windows
    pip install -r requirements.txt

服务器配置

MCP 客户端需要配置以下信息以连接到此 MCP 服务器。以下是针对不同传输方式的配置示例:

1. Stdio 传输 (默认)

{
  "serverName": "weather-stdio-server",
  "command": "python",
  "args": ["server.py"]
}
  • 'serverName': 服务器的名称,可以自定义。
  • 'command': 启动服务器的命令,这里是 'python'。
  • 'args': 传递给 'python' 命令的参数,'server.py' 表示运行 'server.py' 文件。

2. SSE 传输

{
  "serverName": "weather-sse-server",
  "command": "python",
  "args": ["server.py", "--transport", "sse", "--host", "0.0.0.0", "--port", "8080"]
}
  • 'serverName': 服务器的名称,可以自定义。
  • 'command': 启动服务器的命令,这里是 'python'。
  • 'args': 传递给 'python' 命令的参数:
    • '--transport sse': 指定使用 SSE 传输协议。
    • '--host 0.0.0.0': 指定服务器监听的 host 地址为 '0.0.0.0' (允许所有IP访问)。
    • '--port 8080': 指定服务器监听的端口为 '8080'。

注意: MCP客户端需要根据选择的传输方式配置相应的连接参数 (例如 SSE 传输还需要配置服务器的 URL,默认为 'http://0.0.0.0:8080/sse'),具体请参考 MCP 客户端的使用说明。

基本使用方法

  1. 启动服务器: 根据选择的传输方式,使用上述配置中的命令启动服务器。例如,使用 Stdio 传输,在项目根目录下运行 'python server.py'。使用 SSE 传输,运行 'python server.py --transport sse' (或自定义 host 和 port)。
  2. 配置 MCP 客户端: 在 MCP 客户端中,根据选择的传输方式,填入相应的服务器配置信息 (如上述 JSON 示例) 和连接参数。
  3. 调用工具: 客户端连接成功后,即可调用服务器提供的工具,例如 'get_alerts' (获取州天气预警) 和 'get_forecast' (获取经纬度天气预报)。 具体工具的使用方法和参数请参考代码中的函数注释。

信息

分类

开发者工具