Excalidraw MCP服务器使用说明
项目简介
Excalidraw MCP服务器是一个基于Model Context Protocol (MCP) 构建的后端服务,它将流行的在线绘图工具 Excalidraw 的功能通过标准化的API暴露给大型语言模型 (LLM)。借助此服务器,LLM可以创建、修改、查询和操作Excalidraw图表,从而实现更丰富的交互式LLM应用,例如:
- LLM驱动的图表生成和编辑: 让LLM根据用户指令直接生成或编辑Excalidraw图表。
- 可视化信息呈现: 将LLM处理的数据或知识以图形化的方式呈现出来,例如流程图、思维导图等。
- 增强型LLM工具: 为LLM提供更强大的绘图和可视化能力,扩展其应用场景。
主要功能点
- 全面的Excalidraw元素控制: 支持创建、更新、删除和查询各种Excalidraw元素(矩形、椭圆、箭头、文本等)。
- 高级元素操作: 提供分组、对齐、分布、锁定和解锁元素等高级操作,方便LLM进行复杂的图表编辑。
- 资源管理: 允许LLM访问和修改场景信息、库、主题和元素等资源。
- 易于集成: 可以与Claude Desktop、Cursor等支持MCP协议的LLM客户端轻松集成。
- Docker支持: 提供Docker镜像,方便部署和管理。
安装步骤
NPM 安装 (推荐用于开发环境):
- 安装 Node.js 和 npm: 确保你的系统已安装 Node.js 和 npm (Node包管理器)。
- 下载仓库代码: 'git clone https://github.com/yctimlin/mcp_excalidraw.git'
- 进入项目目录: 'cd mcp_excalidraw'
- 安装依赖: 'npm install'
Docker 安装 (推荐用于生产环境):
- 安装 Docker: 确保你的系统已安装 Docker。
- 下载仓库代码: 'git clone https://github.com/yctimlin/mcp_excalidraw.git'
- 进入项目目录: 'cd mcp_excalidraw'
- 构建 Docker 镜像: 'docker build -t mcp/excalidraw .'
服务器配置
MCP服务器需要配置在支持MCP协议的客户端中,例如 Claude Desktop 或 Cursor。以下是配置信息示例,你需要根据你的实际使用环境进行配置。
Claude Desktop 配置示例:
打开 Claude Desktop 的配置文件 'claude_desktop_config.json',在 '"mcpServers"' 部分添加以下配置:
{ "mcpServers": { "excalidraw": { "command": "node", // 启动命令,这里使用 Node.js 运行 JavaScript 文件 "args": ["src/index.js"], // 启动参数,指定服务器入口文件 "env": { "LOG_LEVEL": "info", // 日志级别,可选值:debug, info, warn, error "DEBUG": "false" // 是否开启debug模式,true 或 false } } } }
Cursor 配置示例:
在你的 Cursor 工作区根目录下创建 '.cursor/mcp.json' 文件,并添加以下配置:
{ "mcpServers": { "excalidraw": { "command": "node", // 启动命令,这里使用 Node.js 运行 JavaScript 文件 "args": ["/path/to/your/directory/mcp_excalidraw/src/index.js"], // 启动参数,需要替换为你的 mcp_excalidraw 项目的绝对路径 "env": { "LOG_LEVEL": "info", // 日志级别,可选值:debug, info, warn, error "DEBUG": "false" // 是否开启debug模式,true 或 false } } } }
Docker 配置示例:
{ "mcpServers": { "excalidraw": { "command": "docker", // 启动命令,使用 Docker 运行容器 "args": ["run", "-i", "--rm", "mcp/excalidraw"], // 启动参数,运行名为 mcp/excalidraw 的 Docker 镜像 "env": { "LOG_LEVEL": "info", // 日志级别,可选值:debug, info, warn, error "DEBUG": "false" // 是否开启debug模式,true 或 false } } } }
注意:
- 你需要将 '/path/to/your/directory/mcp_excalidraw/src/index.js' 替换为你实际的项目 'src/index.js' 文件的绝对路径 (仅在 Cursor 配置中需要)。
- 如果你使用 Docker 部署,请确保已经成功构建了 Docker 镜像 'mcp/excalidraw'。
- 'LOG_LEVEL' 和 'DEBUG' 是可选的环境变量,可以根据需要进行配置。
基本使用方法
-
启动服务器:
- NPM 方式: 在项目目录下运行 'npm start'。
- Docker 方式: 确保 Docker 容器已运行 (配置客户端时会自动启动)。
-
在 MCP 客户端中使用:
- 在支持 MCP 协议的 LLM 客户端 (如 Claude Desktop, Cursor) 中配置并启用 'excalidraw' MCP 服务器。
- LLM 客户端可以通过调用服务器提供的 工具 (Tools) 来与 Excalidraw 服务器进行交互。
服务器提供的工具 (Tools) 示例:
- 'create_element': 创建新的 Excalidraw 元素 (例如矩形、圆形等)。
- 'update_element': 更新已存在的 Excalidraw 元素。
- 'delete_element': 删除 Excalidraw 元素。
- 'query_elements': 查询 Excalidraw 元素,可以根据类型或属性进行过滤。
- 'get_resource': 获取 Excalidraw 资源,例如场景信息、主题等。
- 'group_elements': 将多个元素组合成一个组。
- 'ungroup_elements': 解散元素组。
- 'align_elements': 对齐多个元素。
- 'distribute_elements': 均匀分布多个元素。
- 'lock_elements': 锁定元素,防止被修改。
- 'unlock_elements': 解锁元素,允许修改。
具体工具的调用方式和参数需要参考 MCP 客户端的文档和工具的 'inputSchema' 定义。 通常,LLM 客户端会提供界面或指令,允许用户或 LLM 模型自身调用这些工具,并传递相应的参数。
总结
Excalidraw MCP 服务器为 LLM 应用提供了强大的绘图和可视化能力。通过简单的配置和标准化的 MCP 协议,开发者可以轻松地将 Excalidraw 的功能集成到各种 LLM 应用中,创造更具交互性和实用性的智能应用。
信息
分类
开发者工具