项目简介

Sage MCP是一个生产级的平台,旨在为大型语言模型(LLM)应用提供上下文信息和功能。它支持多租户架构,允许您为不同的团队或应用运行多个独立的MCP服务器实例。平台内置了OAuth认证,方便与GitHub、Jira、Slack、Google Docs等外部服务进行安全集成,并通过可插拔的连接器系统提供对这些服务的工具和资源的访问能力。

主要功能点

  • 多租户支持: 平台支持路径隔离的多租户架构,每个租户可以拥有独立的MCP服务器实例,并配置自己的连接器和认证信息,确保数据和操作的隔离性。
  • MCP协议兼容: 完全支持Model Context Protocol (MCP) 标准,包括WebSocket、HTTP和Server-Sent Events (SSE) 等多种传输协议,能够与Claude Desktop等符合MCP标准的客户端无缝集成。
  • OAuth 2.0集成: 提供安全的OAuth 2.0认证机制,支持与GitHub、Jira、Slack、Google Docs等主流服务提供商集成,允许LLM访问和操作受保护的外部数据和功能。
  • 可扩展的连接器系统: 采用灵活的插件系统,可以方便地扩展和添加新的外部服务集成。目前已内置并支持GitHub(24种工具)、Jira(20种工具)、Slack(11种工具)和Google Docs(10种工具)。
  • 可视化管理界面: 提供基于React的直观Web管理界面,方便用户创建和管理租户、配置连接器、设置OAuth认证以及监控平台状态。
  • 灵活的数据库支持: 支持使用PostgreSQL或Supabase作为后端数据库,提供数据存储和管理能力。

安装步骤

  1. 克隆仓库: 在命令行中执行以下命令,将项目仓库克隆到您的本地机器:
    git clone https://github.com/mvmcode/SageMCP.git
    cd SageMCP
  2. 配置环境: 复制 '.env.example' 文件为 '.env':
    cp .env.example .env
    然后,您需要编辑 '.env' 文件。为了体验完整功能,建议您根据README中的指引,配置OAuth凭据(例如GitHub、Jira、Slack和Google Docs的'CLIENT_ID'和'CLIENT_SECRET'),这将允许Sage MCP连接到这些外部服务。
  3. 启动平台: 确保您已安装Docker和Docker Compose。然后执行以下命令初始化并启动所有服务(包括后端API、前端管理界面和数据库):
    make setup
    make up
    这将构建Docker镜像并启动所有必要的容器。
  4. 访问应用: 服务启动成功后,您可以在浏览器中访问以下地址:
    • 前端管理界面: 'http://localhost:3001'
    • API服务: 'http://localhost:8000'
    • API文档: 'http://localhost:8000/docs'

MCP服务器配置(适用于MCP客户端)

MCP客户端(如Claude Desktop)需要通过以下配置信息来连接到Sage MCP服务器并使用其提供的功能。请根据您在管理界面创建的 租户标识符 (tenant-slug)连接器ID (connector-id) 来替换示例中的占位符。

通常,您需要在MCP客户端的配置文件(例如Claude Desktop的'.anthropic/config.json')中添加类似以下的MCP服务器配置:

{
  "mcpServers": {
    "my-team-github": { // 您可以为每个连接器实例定义一个独特的服务器名称
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-everything"],
      "env": {
        "MCP_SERVER_URL": "ws://localhost:8000/api/v1/{tenant-slug}/connectors/{connector-id}/mcp",
        "MCP_SERVER_NAME": "sage-mcp" // 可选,MCP服务器的名称
      }
    },
    "my-team-jira": { // 另一个连接器的配置示例
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-everything"],
      "env": {
        "MCP_SERVER_URL": "ws://localhost:8000/api/v1/{tenant-slug}/connectors/{another-connector-id}/mcp",
        "MCP_SERVER_NAME": "sage-mcp"
      }
    }
  }
}
  • 'command' 和 'args': 这些参数用于启动一个通用MCP客户端代理程序,该程序会通过 'MCP_SERVER_URL' 连接到Sage MCP服务器。'@modelcontextprotocol/server-everything' 是一个常用的Node.js包,用于从指定的URL连接到MCP服务器。
  • 'MCP_SERVER_URL': 这是您的Sage MCP服务器中特定 租户连接器 实例的WebSocket地址。
    • 您需要将 '{tenant-slug}' 替换为实际的租户标识符(例如,如果您在管理界面中创建的租户slug是 'my-team')。
    • 您需要将 '{connector-id}' 替换为您要连接的特定连接器的唯一ID。这个ID可以在Sage MCP管理界面的连接器列表中找到。
    • 例如,如果您创建了一个名为 'my-team' 的租户,并且其中一个GitHub连接器的ID是 'abc-123-def',那么完整的URL将是 'ws://localhost:8000/api/v1/my-team/connectors/abc-123-def/mcp'。

基本使用方法

  1. 访问Web管理界面: 在浏览器中打开 'http://localhost:3001'。
  2. 创建租户: 在管理界面中,创建一个新的租户(例如,命名为 "My Team",slug为 'my-team')。
  3. 添加连接器: 为新创建的租户添加一个连接器(例如,选择 "GitHub")。
  4. 配置OAuth: 按照界面提示完成OAuth认证流程,授权Sage MCP访问您的GitHub账户。
  5. 获取MCP URL: 在连接器详情页面,您将看到为该连接器生成的MCP服务器URL(例如 'ws://localhost:8000/api/v1/my-team/connectors/{github-connector-id}/mcp')。复制这个URL。
  6. 配置MCP客户端: 将复制的URL粘贴到您的MCP客户端(如Claude Desktop)的配置文件中,按照上述“MCP服务器配置”部分给出的格式进行配置。
  7. 开始使用: 启动您的MCP客户端,现在LLM就可以通过Sage MCP平台与您配置的外部服务(如GitHub)进行安全、上下文感知的交互了。

信息

分类

AI与计算