Eraser MCP 服务器

使用说明(Markdown 格式)

  • 项目简介

    • 该仓库包含一个用于 MCP 的服务器实现(特定在 packages/eraser-mcp),通过窗口化的 JSON-RPC 请求与客户端交互,核心功能包括:
      • 初始化握手,声明协议版本、能力与服务器信息
      • 列出可用工具(Tools)及其输入模式
      • 将工具调用请求转发到 Eraser API,并将响应结果回传给客户端
    • 传输方式为标准输入输出(stdio)适配器,便于与 UV 的 Cursor、Claude Desktop 等工具对接
  • 主要功能点

    • 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 客户端

服务器信息