本项目包含一个基于 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 环境。

  1. 克隆仓库:
    git clone https://github.com/thidaskaveesha/MCPs-and-ADKs.git
    cd MCPs-and-ADKs
  2. 进入服务器目录:
    cd MCPServer
  3. 安装依赖: 虽然仓库没有明确的 '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与计算