Eraser MCP 服务器
使用说明(Markdown 格式)
-
项目简介
- 该仓库包含一个用于 MCP 的服务器实现(特定在 packages/eraser-mcp),通过窗口化的 JSON-RPC 请求与客户端交互,核心功能包括:
- 初始化握手,声明协议版本、能力与服务器信息
- 列出可用工具(Tools)及其输入模式
- 将工具调用请求转发到 Eraser API,并将响应结果回传给客户端
- 传输方式为标准输入输出(stdio)适配器,便于与 UV 的 Cursor、Claude Desktop 等工具对接
- 该仓库包含一个用于 MCP 的服务器实现(特定在 packages/eraser-mcp),通过窗口化的 JSON-RPC 请求与客户端交互,核心功能包括:
-
主要功能点
- MCP 握手与能力声明:支持 initialize 请求,返回 protocolVersion、 capabilities、serverInfo
- 工具查询:实现 tools/list,返回工具列表(名称、描述、输入模式)
- 工具执行:实现 tools/call,将调用参数转发给 Eraser API,并将返回的 JSON-RPC 响应返回给客户端
- 结果增强:若工具返回的内容包含图片链接,会尝试将图片下载并缓存到本地,返回本地路径信息
- 安全与配置:通过 ERASER_API_TOKEN 环境变量进行鉴权,请求向 API Server 进行身份验证
- 易扩展性:工具集合来自 mcpTools,支持多种 diagram 相关工具与图形渲染
-
安装步骤
- 准备环境:确保 Node.js 版本符合项目依赖要求
- 安装依赖:
- 进入包含 MCP 的包目录,例如 packages/eraser-mcp
- 运行 npm install 或 yarn install 以安装所需的依赖
- 启动 MCP 服务器(标准用法示例,与 MCP 客户端兼容的启动方式之一)
- 直接执行:npx @eraserlabs/eraser-mcp
- 运行时要提供必要的环境变量,例如 ERASER_API_TOKEN 用于认证
- 运行时的搭配使用
- MCP 客户端(如 Cursor、Claude Code 等)通常需要在其配置中指定服务器启动命令及参数,以便建立 JSON-RPC 通道
-
服务器配置(MCP 客户端需要的配置信息) 说明:MCP 客户端需要知道如何启动服务器,以及如何向服务器传递认证信息。以下为最常用的配置字段及示例含义,请按需替换实际值。
配置示例(JSON 结构,字段含义在注释中解释,实际请按你的环境填写): { "eraser": { "command": "npx", "args": ["@eraserlabs/eraser-mcp"], "env": { "ERASER_API_TOKEN": "<your-token>" } // 说明: // - serverName(此处为 "eraser")用于在客户端标识服务器实例 // - command 与 args 指定启动 MCP 服务器的命令与参数 // - env 中的 ERASER_API_TOKEN 用于对接 Eraser 的后台 API // 可选(若需要覆盖默认行为): // - ERASER_API_URL 指定 MCP 服务的 API 地址,默认是 https://app.eraser.io/api/mcp // - ERASER_OUTPUT_DIR 指定本地缓存输出目录,默认是 .eraser/scratchpad } }
-
基本使用方法
- 客户端配置阶段:将上面的配置写入 MCP 客户端的配置文件(如 Cursor 的 .cursor/mcp.json),客户端将按照该配置启动并通过标准输入输出与 MCP 服务器建立连接
- 启动流程:客户端启动时会执行配置中的命令(如 npx @eraserlabs/eraser-mcp),并设置必要的环境变量(如 ERASER_API_TOKEN)
- 认证与请求:客户端通过 JSON-RPC 形式向服务器发送初始化、工具查询与调用请求,服务器将返回结果或错误
- 结果处理:如果返回结果包含 diagram 的图片链接,服务器会尝试将图片下载至本地缓存,并在响应中提供 localPath(可用于在后续渲染中直接使用)
- 常用交互路径
- initialize:握手并获取协议版本、能力和服务器信息
- tools/list:获取可用工具清单
- tools/call:执行指定工具(如创建文件、渲染图等),服务器会转发到 Eraser API 并返回结果
-
说明与注意
- 该 MCP 服务器通过环境变量进行鉴权,未提供 ERASER_API_TOKEN 将导致工具调用失败
- 伺服器能力与工具定义来自代码中的 mcpTools 列表,确保 API 端点可用且正确授权
- 该实现采用 stdio 传输,兼容多种支持 stdio 的 MCP 客户端