OpenPencil MCP 服务端
使用说明
- 项目简介
- OpenPencil 的 MCP 服务端实现,旨在为 AI 代理/LLM 客户端提供对设计资源、工具执行以及提示模板的统一访问接口。服务端通过 JSON-RPC 与客户端通信,管理会话、能力声明,并可通过多种传输协议暴露服务端能力,便于在不同环境下接入。
- 主要功能点
- 资源与数据访问:托管并管理 Resources(设计资源、页面、节点等),提供数据读取与查询能力。
- 工具注册与执行:注册并暴露外部工具,LLM 客户端可通过稳定的接口调用工具执行外部功能。
- 提示模板与交互:定义与渲染 Prompt 模板,支持自定义的 LLM 交互模式。
- JSON-RPC 通信:服务器核心通过 JSON-RPC 进行请求/响应处理,保持通信协议标准化。
- 会话与能力声明:提供会话管理、能力声明,以及对客户端能力的协商。
- 多传输协议支持:支持多种传输通道,如 Stdio、HTTP、SSE、WebSocket,满足不同部署场景。
- 安全性与扩展性:服务端职责包括权限、能力声明、可扩展的插件/工具体系,适用于 AI 辅助的后端上下文服务。
- 安装步骤
- MCP 服务端组件已在仓库中实现并可直接运行。通常需要在 Node.js/Bun 环境中安装并启动相应的 MCP 服务包(如 @open-pencil/mcp),并根据需要选择传输模式启动服务。
- 典型安装与启动方式(根据仓库文档,任选一种):
- 作为本地可执行服务运行(HTTP 模式):
- 安装依赖并安装 MCP 服务端工具:
- 全局安装工具包(示例方式,实际以仓库提供为准):
安装命令示例(请按实际包管理器执行):
- 安装 MCP 服务端工具
- 启动 HTTP 版本的 MCP 服务
- 全局安装工具包(示例方式,实际以仓库提供为准):
安装命令示例(请按实际包管理器执行):
- 安装依赖并安装 MCP 服务端工具:
- 通过测试/示例快速体验:
- 使用内置测试用例进行端到端验证,确认服务器能正确注册工具、响应工具查询与执行请求。
- 作为本地可执行服务运行(HTTP 模式):
- 服务器配置
- MCP 客户端需要配置连接到 MCP 服务器的启动命令与参数,配置内容为 JSON,包含 server name、command、args 等字段,便于客户端在本地启动并连接到服务端。
- 配置示例(用于 MCP 客户端读取并启动服务器,文本描述如下,不以代码块形式呈现): JSON 配置名称为 mcpServers,其中包含一个名为 open-pencil 的服务器条目,其 command 字段为 openpencil-mcp,若需要可添加 args 字段用于传递启动参数。该配置用于告诉 MCP 客户端如何在本地启动并连接到 OpenPencil 的 MCP 服务端。注:具体的命令名与参数请以仓库中的实现为准。
- 参数注释要点
- server name:客户端对接的服务器唯一标识,一般使用 OpenPencil 的服务器名。
- command:启动 MCP 服务端的可执行命令或脚本名称。
- args:启动时传递的参数数组(如需要可指定端口、工作目录、日志等级等;若无需参数可留空)。
- 基本使用方法
- 启动与连接
- 客户端按照配置启动后,会通过 JSON-RPC 与 MCP 服务端建立通信,查询可用工具、读取资源、获取 Prompts 等。
- 资源与工具操作
- 通过 JSON-RPC 请求读取资源、执行 Tools、获取 Prompts,服务端返回 JSON-RPC 响应或通知。
- 会话与安全
- 服务端维护会话状态并声明可用能力,确保多并发场景下的上下文服务稳定性与隔离性。
- 开发者与运维
- 如需调试,可开启 HTTP/WS 日志,监控请求/响应、工具调用与资源访问,确保与不同 LLM 代理的对接稳定。
- 启动与连接