使用说明

项目简介

本项目是一个基于 Model Context Protocol (MCP) 的服务器模板,旨在帮助开发者快速上手并构建自己的 MCP 服务器。它包含一个简单的“数字比大小”工具作为示例,展示了如何定义和注册工具,并通过 MCP 协议与客户端进行交互。

主要功能点

  • 提供数字比较工具: 服务器实现了一个简单的工具,可以比较两个数字的大小,并返回比较结果。
  • 基于FastMCP框架: 使用 'fastmcp' 库简化 MCP 服务器的开发,自动处理 JSON-RPC 协议和工具注册。
  • 支持Stdio传输: 服务器默认使用 Stdio (标准输入输出) 作为传输协议,方便本地开发和调试。
  • 提供客户端示例: 包含一个 Python 客户端示例 'openai_client.py',演示了如何使用 'openai-agents' 库与 MCP 服务器进行交互。

安装步骤

  1. 安装 uv 包管理器 (如果尚未安装):
    curl -LsSf https://astral.sh/uv/install.sh | sh
    source ~/.local/bin/env
  2. 安装 Python 3.10 (如果尚未安装):
    uv python install 3.10
  3. 进入 'server' 目录并创建虚拟环境:
    cd server
    uv venv --python 3.10
    source .venv/bin/activate
  4. 安装 'mcp' 库:
    uv add "mcp[cli]" httpx
  5. 进入 'client' 目录并创建虚拟环境:
    cd ../client
    uv venv --python 3.10
    source .venv/bin/activate
  6. 安装 'openai-agents' 和 'python-dotenv' 库:
    uv add openai-agents python-dotenv
  7. (可选) 配置 OpenAI API Key:
    • 在 'client' 目录下创建 '.env' 文件。
    • 在 '.env' 文件中设置 'OPENAI_API_KEY' 环境变量,例如:'OPENAI_API_KEY=YOUR_API_KEY'。
    • 如果不需要运行客户端示例,则可以跳过此步骤。

服务器配置

MCP 客户端需要配置服务器的启动命令 (command) 及其参数 (args) 才能连接到 MCP 服务器。以下是针对本项目 'server/math.py' 示例的服务器配置信息:

{
  "server_name": "math",
  "command": "python",
  "args": ["math.py"]
}

配置信息参数说明:

  • 'server_name': 服务器名称,这里设置为 "math",与 'server/math.py' 中 'FastMCP("math")' 初始化时设置的名称一致。
  • 'command': 启动服务器的命令,这里使用 'python' 命令来运行 Python 脚本。
  • 'args': 启动命令的参数列表,这里指定要运行的服务器脚本为 'math.py'。

注意: 客户端在配置 MCP 服务器时,需要将以上 JSON 配置信息提供给客户端软件或 SDK,以便客户端能够正确启动和连接到 MCP 服务器。具体的配置方式取决于所使用的 MCP 客户端。

基本使用方法

  1. 启动 MCP 服务器:

    • 进入 'server' 目录并激活虚拟环境 ('source .venv/bin/activate')。
    • 运行以下命令启动 'math.py' 服务器 (使用 'mcp dev' 命令可以方便地进行本地开发和调试):
      mcp dev math.py
    • 服务器启动后,会监听 Stdio,并等待客户端请求。
  2. 运行 MCP 客户端 (可选):

    • 进入 'client' 目录并激活虚拟环境 ('source .venv/bin/activate')。
    • (如果配置了 OpenAI API Key) 运行 'openai_client.py' 客户端示例:
      python openai_client.py
    • 客户端示例代码 'openai_client.py' 演示了如何使用 'openai-agents' 库创建一个 Agent,并配置 'MCPServerStdio' 连接到本地运行的 MCP 服务器。Agent 可以利用 MCP 服务器提供的 "数字比较" 工具来辅助完成任务。
    • 如果没有配置 OpenAI API Key 或不需要运行客户端示例,可以跳过此步骤。

通过以上步骤,您就可以体验基于此模板创建的 MCP 服务器,并理解如何定义和使用 MCP 工具。开发者可以基于此模板扩展更多工具,构建功能更强大的 MCP 服务器。

信息

分类

开发者工具