使用说明

项目简介

这是一个基于 Python 的 MCP (Model Context Protocol) 服务器模板,旨在帮助开发者快速搭建符合 MCP 协议的服务端应用。该模板预置了服务器框架,并提供了工具 (Tools)、Prompt 模板 (Prompts) 和资源 (Resources) 的基本示例和注册方法,方便用户扩展和定制功能,为大型语言模型 (LLM) 应用提供结构化的上下文信息和功能调用能力。

主要功能点

  • 资源管理 (Resources): 允许服务器托管和提供数据资源,客户端可以通过 URI 访问这些资源。模板中已包含资源定义的示例和注册方法。
  • 工具注册与执行 (Tools): 支持注册 Python 函数作为工具,供 LLM 客户端调用执行外部功能。模板中已包含计算器工具的示例和注册方法。
  • Prompt 模板 (Prompts): 支持定义和注册 Prompt 模板,允许客户端请求预定义的 Prompt 以进行 LLM 交互。模板中已包含 Prompt 模板的示例和注册方法。
  • HTTP 和 Stdio 传输: 支持通过 HTTP 协议和标准输入输出流 (Stdio) 进行通信,方便在不同环境中使用。
  • 易于扩展: 项目结构清晰,方便用户添加自定义的工具、Prompt 和资源,快速构建满足特定需求的 MCP 服务器。
  • Docker 支持: 提供 Dockerfile,方便容器化部署。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/Nisarg38/mcp-server-template-python.git my-mcp-server
    cd my-mcp-server
  2. 安装依赖:

    pip install -e ".[dev]"

    这将安装项目及其开发依赖。

服务器配置

MCP 客户端需要配置连接到 MCP 服务器的信息。以下是一个 MCP 客户端可能的服务器配置示例 (JSON 格式):

{
  "serverName": "my-mcp-server",  //  MCP 服务器名称,可以自定义
  "command": "mcp-server-template", //  启动 MCP 服务器的命令,这里假设 mcp-server-template 命令已添加到系统 PATH
  "args": [], //  启动命令的参数,当前配置为空,可以使用 --port, --host, --transport, --debug 等参数进行配置
  "transport": "http" //  传输协议,默认为 http,也可以配置为 stdio
}

你可以根据需要修改 'args' 参数来配置服务器:

  • '--port <端口号>': 指定 HTTP 服务器端口,默认为 '8080'。例如: '["--port", "9000"]' 将端口设置为 9000。
  • '--host <主机地址>': 指定 HTTP 服务器监听地址,默认为 '0.0.0.0' (监听所有地址)。
  • '--transport <http|stdio>': 选择传输协议,可以设置为 'http' 或 'stdio'。例如: '["--transport", "stdio"]' 使用 Stdio 传输。
  • '--debug': 启用 Debug 模式,输出更详细的日志。例如: '["--debug"]'。
  • '--log-level <debug|info|warning|error|critical>': 设置日志级别,默认为 'info'。例如: '["--log-level", "debug"]'。

基本使用方法

  1. 启动服务器: 在项目根目录下,可以直接运行以下命令启动 HTTP 服务器 (默认端口 8080):

    mcp-server-template

    或者使用 Python 模块方式启动:

    python -m src.main

    如果需要使用 Stdio 传输,可以运行:

    mcp-server-template --transport stdio
  2. 定义工具和 Prompt: 修改 'src/main.py' 文件,使用 '@mcp.tool()' 装饰器定义工具函数,使用 '@mcp.prompt()' 装饰器定义 Prompt 模板函数。具体方法请参考 'src/main.py' 中的示例代码和 README 文档。

  3. 运行和测试: 启动服务器后,MCP 客户端即可根据 MCP 协议与服务器进行通信,请求资源、调用工具或获取 Prompt。你可以编写 MCP 客户端代码或使用 MCP 客户端工具来测试服务器的功能。

例如,你可以通过 HTTP 访问服务器的根路径 'http://localhost:8080' (如果使用默认配置) 来查看服务器是否运行正常。

信息

分类

AI与计算