Canopy MCP 服务器

使用说明内容(Markdown格式)

  • 项目简介

    • Canopy MCP 服务器是 Canopy 中用于对接 LLM 客户端的后端服务,负责托管资源、注册并执行工具,以及定义/渲染提示模板,支持通过 JSON-RPC 与客户端通信。支持基于 STDIO 的本地 MCP 服务以及基于 HTTP 的 MCP 服务两种接入方式,方便在本地开发和跨设备协作场景中使用。
  • 主要功能点

    • MCP 核心能力:以标准化的 JSON-RPC 形式响应客户端请求,提供资源读取、工具执行、以及提示/模板相关能力。
    • 资源、工具与提示托管:后端负责资源数据、工具实现、以及可定制的提示模板的注册、执行与渲染。
    • 多传输协议支持:内置 STDIO 传输用于本地/客户端集成,以及可选的 HTTP 服务器端口供 MCP 管理端/管理器等接入场景使用。
    • 安全与会话管理:通过 API 密钥/鉴权、权限检查等机制确保工具调用和资源访问的安全性。
    • 与 Canopy 生态集成:依托 Canopy 的应用框架,利用其应用组件、对象模型和权限系统实现对接。
  • 安装步骤

      1. 克隆仓库并进入项目根目录。
      1. 安装依赖(例如 credentials/网络/框架相关依赖,请按照仓库根目录的要求执行,如 pip install -r requirements.txt)。
      1. 启动方式(两种常用方式之一):
      • 通过 STDIO 启动 MCP 服务器(本地开发/Cursor 等客户端): 命令示例(不直接写代码,仅作参考):运行 start_mcp_server.py
      • 通过 HTTP 启动 MCP 服务器(便于远程/网格管理接入): 命令示例(不直接写代码,仅作参考):运行 canopy_mcp_server.py,指定端口如 8030
      1. 如果需要与 Cursor 等工具对接,请确保环境变量/配置项(如 CANOPY_API_KEY 等)已正确设置。
  • 服务器配置(MCP 客户端需要提供的连接信息,以下为示例 JSON,实际需按客户端要求配置)

    • server_name: "Canopy MCP Server STDIO"
    • command: "python3"
    • args: ["start_mcp_server.py"] 说明:该配置用于 MCP 客户端通过 STDIO 方式连接到 MCP 服务器,该模式适合本地开发与完成快速集成。若使用 HTTP 版本,请将 server_name/command/args 替换为对应的 HTTP 服务启动信息,并依据客户端要求提供相应的主机/端口等参数。
  • 基本使用方法

    • 启动 MCP 服务器后,使用客户端连接到服务器,发送 JSON-RPC 请求,进行资源读取、工具调用、提示模板获取等操作。
    • 根据客户端的能力,授权/钥匙(API Key)管理、工具权限、以及内容上下文的渲染会在服务器端进行校验,确保只对具备权限的客户端开放相应能力。
    • 结合 Canopy 实例的本地/对等网络特性,MCP 服务能够与本地代理、网格中的其他节点进行协同,提供一致的上下文与功能支撑给对话中的 LLM。

服务器信息