Cognetivy MCP 服务端

  • 项目简介
    • 该仓库实现了一个基于 MCP 的后端服务器,采用 STDIO 的 JSON-RPC 通信方式,向 MCP 客户端提供对资源、工具、提示等的访问与执行能力。核心功能涵盖工作流、运行、事件、集合等数据的管理,以及对工具的注册与执行、Prompts 的获取与渲染等能力。
  • 主要功能点
    • MCP 协议核心能力:以 JSON-RPC 2.0 形式处理 initialize、notifications、method 调用等请求,返回标准化的 JSON-RPC 响应。
    • 工具注册与执行:通过 tools/list/ calls 等接口,客户端可查询可用工具并调用具体的工具实现(如 workflow_get、run_start、run_step、collection_schema_get 等)。
    • 资源、工具、Prompts 的管理与渲染:后端实现了对工作流相关数据的存取、版本管理、节点信息、集合(Collection)模式的存储与读取,以及对节点输出的可观察性支持。
    • 会话与能力声明:实现了对当前工作区的状态、工作流版本、运行状态等信息的维护与暴露,支持多种数据传输的扩展能力。
    • 本地运行与集成能力:通过 CLI 命令 cognetivy mcp 启动 MCP 服务器,能够与编辑器/代理(如 Cursor、Claude/Codes 等技能)进行集成。
  • 安装与运行步骤
    • 安装依赖(如 Node.js >= 18)。
    • 在项目根目录执行启用 MCP 服务的命令(详见下方“服务器配置”与“使用方法”部分)。
    • 启动 MCP 服务器:使用 Cognetivy 提供的 mcp 命令,通过 STDIN/STDOUT 与 MCP 客户端交互。
  • 服务器配置(MCP 客户端需要知道的连接信息)
    • MCP 客户端需要配置服务器启动信息(不需要客户端代码,给出配置信息供参考):
    • JSON 配置示例(说明性文本,不含代码块): { "server_name": "Cognetivy", "command": "cognetivy", "args": ["mcp"] }
    • 注释:命令中 "command" 为启动 MCP 服务器的可执行项,"args" 为传给服务器的参数。若工作区不在当前目录,应在 args 中加入 --workspace 指定工作区路径。以上信息来自仓库 README 与实现代码,确保 MCP 客户端能够正确启动并通过标准 IO 与服务器通信。
  • 基本使用方法
    • 使用情景:将 MCP 服务器与 LLM 客户端(如编辑器内的智能代理)对接,提供工作流、节点执行、数据集合等能力。
    • 步骤要点
      • 确保工作区存在或初始化后再启动 MCP 服务器。
      • 启动服务器:在工作区根目录执行启动命令 cognetivy mcp(服务器将通过标准输入输出进行通信)。
      • 客户端连接:配置客户端的服务器信息,让其通过命令和参数启动并通过 JSON-RPC 与服务器通信。
      • 常用调用:
        • initialize:协议握手与能力声明。
        • tools/list:获取可用的工具集合。
        • tools/call:执行具体工具(如 workflow_get、run_start、run_step、collection_schema_get 等)。
        • 其他 RPC:根据需要查询工作流版本、运行信息、集合数据等。
      • 会话与数据流:服务器负责会话管理、版本控制、事件记录及节点/集合写入等,确保 MCP 客户端可以安全、可扩展地访问上下文服务。
  • 重要注意
    • 该实现是一个“最小实现”的 MCP 服务器示例,重点在于展示 MCP 请求/响应的处理,以及与 Cognetivy 工作流/运行数据的对接能力。若需在生产环境中扩展,需要进一步增强安全性、并发处理、传输协议(如 SSE/WebSocket)等能力。

服务器信息