OpenPencil MCP 服务端

使用说明

  • 项目简介
    • OpenPencil MCP 服务端是在本仓库中实现的一个 MCP 服务器,用于提供对本地设计文档的上下文服务。它通过 Model Context Protocol (MCP) 提供一个后端接口,允许 LLM 客户端读取资源、注册并执行工具、以及获取和渲染 Prompts/模板。服务器支持通过标准的 JSON-RPC 与客户端通信,并提供多种传输方式(如 Stdio、HTTP)以满足不同场景的集成需求。
  • 主要功能点
    • 资源与数据访问:托管和管理设计相关的资源,便于工具与模型读取/写入。
    • 工具注册与执行:将工具定义注册到 MCP 服务器,客户端可通过 JSON-RPC 调用读取、创建、修改和导出 Fig 文件等操作。
    • MCP 转换与扩展:通过插件化方式支持多种传输协议与工具集,便于绑定不同的设计工作流。
    • 安全与权限:提供可选的身份认证与根目录限制等安全特性,确保对本地文件和资源的受控访问。
    • 与现有 OpenPencil 生态的整合:与 core、Kiwi/Fig 输出等模块无缝对接,支持在 MCP 客户端执行真实的设计工具链操作。
  • 安装步骤
      1. 克隆仓库并进入项目目录。
      1. 安装依赖并构建后端 MCP 服务(通常通过运行项目自带的构建/安装脚本或包管理工具进行)。
      1. 启动 MCP 服务器(支持标准输出日志监控,确认服务已就绪)。
      1. 在 MCP 客户端配置中指向服务器地址和传输方式,建立连接并通过 JSON-RPC 调用工具与资源接口。
  • 服务器配置(MCP 客户端的必需信息,示例为配置项格式,非代码)
    • server name: open-pencil
    • command: openpencil-mcp
    • 说明:该配置用于 MCP 客户端在本地或远端启动 MCP 服务器进程并建立连接。具体连接方式可选 Stdio/HTTP 传输,客户端需使用服务器提供的地址/端口与之通信。若使用 HTTP 传输,还可以设置身份认证、CORS 等安全参数,确保仅授权客户端可访问。
    • 配置示例(JSON 形式,供参考,实际使用时请按客户端要求传参): { "mcpServers": { "open-pencil": { "command": "openpencil-mcp" } // 如需额外选项,可在此扩展,例如 "args": ["--enable-xxx"] } }
  • 基本使用方法
    • 启动与连接
      • 启动 MCP 服务器后,MCP 客户端通过指定的 serverName 与命令参数建立连接,随后可以向服务器发送 JSON-RPC 请求来读取资源、执行工具、获取提示模板等。
    • 常用操作
      • 打开/加载 Fig 文件:向服务器发送 open_file 请求,参数包含文件路径。
      • 新建文档:发送 new_document 请求,服务器返回新文档信息。
      • 调用工具:使用工具名调用对应的工具请求,传入工具所需的参数结构,服务器执行并返回结果。
      • 获取页面与树结构:请求 get_page_tree 或相关查询,以获取文档结构信息。
    • 调试与安全
      • 如使用 HTTP 传输,请配置授权头(Authorization: Bearer <token>)或 x-mcp-token,确保只有授权客户端能执行操作。
      • 如需本地化根目录限制,请设置 OPENPENCIL_MCP_ROOT 并在服务端配置中开启 fileRoot 约束。

服务器信息