使用说明

项目简介

该仓库包含一个基于 FastMCP 框架构建的简单 MCP(Model Context Protocol)示例服务器应用。它演示了如何定义和暴露一个简单的工具(“add”功能),供支持 MCP 的 LLM 客户端调用,以获取上下文信息或执行特定任务。

主要功能点

  • 工具暴露: 演示了如何使用 FastMCP 定义 Python 函数并将其注册为 LLM 可调用的工具。
  • MCP协议支持: 实现了对 MCP 协议的响应,允许客户端通过标准方法(如 'tools/list', 'tools/call')与服务器交互。
  • 多种传输协议: 示例代码配置为使用 SSE (Server-Sent Events) 作为传输协议,但也支持其他 MCP 定义的协议。
  • 易于部署: 提供了在 Google Cloud Run 等平台部署的指导,说明其作为独立服务运行的能力。

安装步骤

  1. 确保您已安装 Python 3.7 或更高版本。

  2. 克隆或下载本仓库代码。

  3. 进入仓库目录。

  4. 使用 pip 安装所需的依赖库:

    pip install -r requirements.txt

    这会安装 'fastmcp' 库。

  5. 如果您需要使用 MCP 客户端测试服务器,可以安装 'cmcp' 工具:

    pip install cmcp

服务器配置(客户端视角)

MCP 服务器是为 MCP 客户端(通常是 LLM 代理或应用)提供服务的。客户端需要知道如何连接和启动服务器。对于本示例服务器,一个典型的 MCP 客户端配置(例如在客户端的配置文件中)可能需要以下信息:

  • 服务器名称 ('name'):用于标识服务器的名称,例如 "fastmcp-demo-server"。
  • 连接地址 ('url'):服务器运行的 URL 地址。如果本地运行,可能是 'http://localhost:8080';如果部署到云端,则是部署服务提供的 URL。
  • 传输协议 ('transport'):客户端应使用的连接协议,本示例服务器配置为 'sse' (Server-Sent Events)。

这是一个示例 JSON 配置结构(请注意,这仅为概念说明,具体格式取决于您使用的 MCP 客户端实现):

{
  "name": "fastmcp-demo-server",
  "url": "YOUR_SERVER_URL", 
  "transport": "sse"
}

将 'YOUR_SERVER_URL' 替换为您的服务器实际运行地址。

客户端会使用这些信息来建立与 MCP 服务器的连接,并进行后续的 MCP 交互(如发现工具、调用工具)。

基本使用方法

  1. 启动服务器: 在仓库目录下运行 'server.py' 文件。

    python server.py

    服务器将在本地 '0.0.0.0:8080' 地址启动并监听连接。

  2. 使用 MCP 客户端交互(例如 cmcp 工具):

    • 列出可用工具: 打开另一个终端,使用 'cmcp' 工具连接到服务器地址(假设本地运行,地址为 'http://localhost:8080')。

      cmcp http://localhost:8080 tools/list

      您应该会看到服务器暴露的工具列表,包括名为 "add" 的工具及其描述和参数 schema。

    • 调用工具: 使用 'cmcp' 工具调用 "add" 工具,并传递参数。

      cmcp http://localhost:8080 tools/call -d '{"name": "add", "arguments": {"a": 5, "b": 3}}'

      您应该会收到服务器返回的调用结果,内容为计算结果 "8"。

通过这些步骤,您可以验证 MCP 服务器是否正常运行并响应 MCP 客户端的请求。

信息

分类

AI与计算