使用说明

项目简介

gumloop MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务框架,旨在简化 LLM 应用与外部数据和工具的集成。它提供了一套标准化的接口,使得 LLM 客户端能够安全、可扩展地访问各种资源、调用工具并使用 Prompt 模板,从而构建功能丰富的 LLM 应用。该项目采用模块化设计,易于扩展和集成新的服务。

主要功能点

  • 资源 (Resources) 管理: 支持托管和管理来自不同数据源的资源,例如 Google Drive 文件、Gmail 邮件、Slack 频道等,并提供统一的数据访问接口。
  • 工具 (Tools) 注册与执行: 允许注册和执行各种外部工具,例如搜索文件、发送邮件、创建日历事件等,扩展 LLM 的能力边界。
  • Prompt 模板 (Prompts) 定义: 支持定义和渲染 Prompt 模板,实现可定制的 LLM 交互模式,优化 LLM 应用的用户体验。
  • 多种传输协议: 支持 Stdio 和 SSE 等多种传输协议,方便与不同类型的 MCP 客户端集成。
  • 会话管理与能力声明: 服务器端负责会话管理和能力声明,确保服务的稳定性和安全性。
  • 模块化与可扩展性: 采用模块化架构,方便开发者根据需求扩展和集成新的服务模块。
  • 丰富的服务集成: 内置了对多种常用服务的集成支持,包括 Google Drive, Google Docs, Google Sheets, Gmail, Google Calendar, Slack, Linear, Airtable, Outlook, Attio 和 Perplexity 等。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/gumloop/guMCP
    cd guMCP
  2. 创建并激活 Python 虚拟环境 (推荐):

    python3 -m venv venv
    source venv/bin/activate  # 或根据你的系统使用 venv\Scripts\activate
  3. 安装依赖:

    pip install -r requirements.txt

服务器配置

MCP 客户端需要配置 MCP 服务器的启动命令及其参数才能建立连接。以下是针对 'gumloop MCP Server' 的本地 Stdio 连接配置示例 (JSON 格式):

{
  "serverName": "服务器名称,例如 simple-tools-server",
  "command": "python",
  "args": [
    "src/servers/local.py",
    "--server",
    "服务器名称,例如 simple-tools-server",
    "--user-id",
    "用户ID (可选)"
  ]
}

参数注释:

  • 'serverName': 指定要连接的 MCP 服务器的名称,例如 'simple-tools-server', 'slack', 'gdrive' 等。这个名称需要与 'src/servers' 目录下的服务器文件夹名称相匹配。
  • 'command': 启动 MCP 服务器的命令,通常为 'python' 或 'python3'。
  • 'args': 启动命令的参数列表。
    • '"src/servers/local.py"': 指定运行本地服务器的脚本路径。
    • '"--server"': 参数,用于指定要运行的具体服务器模块的名称,需要与 'serverName' 字段的值保持一致。
    • '"服务器名称,例如 simple-tools-server"': 实际的服务器模块名称,替换为你要使用的服务器,例如 'simple-tools-server', 'slack', 'gdrive' 等。
    • '"--user-id"': 可选参数,用于指定用户 ID,以便服务器为不同用户提供隔离的数据和会话。
    • '"用户ID (可选)"': 实际的用户 ID,可以根据需要替换,例如 'user123' 或 'test-user'。如果不需要用户隔离,可以省略 '--user-id' 参数。

注意: 请根据你想要使用的具体 MCP 服务器 (例如 'simple-tools-server', 'slack', 'gdrive' 等) 替换 'serverName' 和 'args' 中的 '"服务器名称,例如 simple-tools-server"' 占位符。

基本使用方法

  1. 启动 MCP 服务器: 根据你选择的服务器模块和配置,运行相应的启动命令,例如使用 'python src/servers/local.py --server simple-tools-server' 启动 'simple-tools-server'。

  2. 配置 MCP 客户端: 在你的 MCP 客户端应用中,配置连接信息,指定服务器名称、启动命令和参数 (如上述 JSON 配置示例)。

  3. 连接并交互: 运行 MCP 客户端应用,客户端将根据配置连接到 MCP 服务器。连接成功后,你可以通过客户端向服务器发送 MCP 请求,例如列出资源、调用工具、获取 Prompt 等,并接收服务器返回的响应。

  4. 使用工具和资源: 根据服务器提供的工具和资源,构建你的 LLM 应用功能。例如,如果连接到 'gdrive-server',你可以使用 'search' 工具搜索 Google Drive 文件,并使用 'read_resource' 读取文件内容。

请参考仓库中的 'tests' 目录下的测试用例和客户端示例 ('tests/clients/LocalMCPTestClient.py', 'tests/clients/RemoteMCPTestClient.py') 了解更多使用细节。

信息

分类

AI与计算