本项目包含一个基于 FastMCP 库实现的 MCP 示例服务器。MCP 服务器旨在为大型语言模型 (LLM) 客户端提供结构化的上下文信息(资源)和可调用的外部功能(工具)。
主要功能点
- 资源暴露: 允许定义具有特定 URI 模式的数据或信息(例如,本项目中的个性化问候语 'greeting://{name}'),LLM 客户端可以通过 MCP 协议请求获取这些资源。
- 工具注册: 允许定义 LLM 可以调用的函数或服务(例如,本项目中的加法函数 'add'),LLM 客户端可以通过 MCP 协议发起请求并执行这些工具。
- MCP 协议支持: 利用 FastMCP 库处理 LLM 客户端发送的标准化 JSON-RPC 请求和响应。
本项目是 GitHub 仓库 'MCPs-and-ADKs' 的一部分,该仓库主要用于比较不同的代理开发工具包,其中 FastMCP 被用作实现 MCP 服务器的示例。
安装步骤
本项目是 Python 项目,需要 Python 环境。
- 克隆仓库:
git clone https://github.com/thidaskaveesha/MCPs-and-ADKs.git cd MCPs-and-ADKs - 进入服务器目录:
cd MCPServer - 安装依赖: 虽然仓库没有明确的 'requirements.txt' 文件,但根据代码推断,你需要安装 'mcp-server' 和 'fastmcp' 库。
pip install mcp-server fastmcp
服务器配置 (供 MCP 客户端使用)
MCP 客户端需要配置如何启动并连接到 MCP 服务器。对于使用 Stdio 传输的 MCP 服务器,通常需要指定启动服务器进程的命令和参数。以下是基于本项目结构的配置信息示例(JSON 格式,用户需要根据实际情况填写 'args' 中的路径):
{ "name": "HelloWorld", "command": "python", "args": ["路径/到/你的/MCPs-and-ADKs/MCPServer/main.py"], "transport": "stdio", "description": "一个基于 FastMCP 的示例 MCP 服务器,提供问候语资源和加法工具。", "capabilities": { "resources": true, "tools": true } }
- 'name': 服务器的名称,用于在客户端识别。
- 'command': 启动服务器进程的命令,本项目是 Python 脚本,所以是 'python'。
- 'args': 传递给命令的参数列表。第一个参数是服务器脚本 'main.py' 的路径。请将 '"路径/到/你的/MCPs-and-ADKs/MCPServer/main.py"' 替换为你本地仓库中 'main.py' 文件的实际绝对或相对路径。
- 'transport': 客户端与服务器通信的传输协议,此处使用标准的 'stdio'(标准输入输出)。
- 'description': 服务器功能的简要描述。
- 'capabilities': 服务器支持的功能列表,本项目支持 'resources' 和 'tools'。
LLM 客户端会使用这份配置来启动并与 MCP 服务器建立连接。
基本使用方法
一旦 MCP 客户端使用上述配置成功启动了 MCP 服务器进程并建立连接,LLM 就可以通过标准的 MCP JSON-RPC 请求来与服务器交互:
- 访问资源: LLM 可以请求读取 'greeting://Alice' 这样的资源 URI 来获取个性化问候语。
- 调用工具: LLM 可以调用服务器注册的 'add' 工具,例如发送请求来计算 'add(a=5, b=3)' 并接收返回结果。
本项目代码('MCPServer/main.py')定义了这些可用的资源和工具。客户端负责根据 LLM 的需要构造相应的 MCP 请求。
信息
分类
AI与计算