使用说明
项目简介
该仓库包含一个基于 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 等平台部署的指导,说明其作为独立服务运行的能力。
安装步骤
-
确保您已安装 Python 3.7 或更高版本。
-
克隆或下载本仓库代码。
-
进入仓库目录。
-
使用 pip 安装所需的依赖库:
pip install -r requirements.txt这会安装 'fastmcp' 库。
-
如果您需要使用 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 交互(如发现工具、调用工具)。
基本使用方法
-
启动服务器: 在仓库目录下运行 'server.py' 文件。
python server.py服务器将在本地 '0.0.0.0:8080' 地址启动并监听连接。
-
使用 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与计算