Mermaid Diagram Generator MCP 服务器
项目简介
本项目实现了一个 MCP (Model Context Protocol) 服务器,专注于将 Mermaid 图表定义渲染成各种图片格式。它通过工具的方式暴露了 Mermaid 图表生成能力,允许 MCP 客户端调用并获取渲染后的图表。
主要功能点
- 'render_mermaid' 工具: 将 Mermaid 图表定义渲染为 PNG, SVG 或 PDF 格式的图片。支持直接使用 Mermaid 语法或 Markdown 格式的 Mermaid 代码块。
- 'dryrun_mermaid' 工具: 验证 Mermaid 图表定义的有效性,但不实际生成图片,用于快速检查语法错误。
- 标准输入/输出通信: 使用 StdioServerTransport,通过标准输入和标准输出与 MCP 客户端进行 JSON-RPC 通信。
安装步骤
- 克隆仓库:
git clone https://github.com/reblabers/mermaid-mcp.git cd mermaid-mcp - 安装依赖:
npm install - 构建项目:
npm run build
服务器配置
MCP 客户端需要配置以下信息以连接到此服务器:
{ "serverName": "mermaid", "command": "node", "args": ["dist/index.js"] }
- 'serverName': 服务器名称,此处为 "mermaid"。
- 'command': 启动服务器的命令,此处为 'node' (假设你的环境中已安装 Node.js)。
- 'args': 传递给启动命令的参数,此处为服务器入口文件 'dist/index.js' 的路径。
基本使用方法
- 启动服务器: 在项目根目录下运行 'node dist/index.js' (或者由 MCP 客户端根据配置自动启动)。
- 客户端调用 'render_mermaid' 工具: MCP 客户端可以使用 'render_mermaid' 工具,并提供 Mermaid 图表定义、输出格式等参数来生成图表。例如,使用 JSON-RPC 请求调用 'render_mermaid' 工具,并传入 diagram (Mermaid 图表定义字符串), format (输出格式,如 "svg", "png", "pdf"), isMarkdown (是否为 Markdown 格式) 等参数。
- 客户端调用 'dryrun_mermaid' 工具: MCP 客户端可以使用 'dryrun_mermaid' 工具验证 Mermaid 图表定义的有效性。
示例 (客户端 JSON-RPC 请求):
{ "jsonrpc": "2.0", "method": "call", "params": { "tool_name": "render_mermaid", "arguments": { "diagram": "graph LR\nA[Client] --> B[Load Balancer]\nB --> C[Server1]\nB --> D[Server2]", "format": "svg" } }, "id": 1 }
服务器将返回包含渲染后的 SVG 图表的 JSON-RPC 响应。
{ "jsonrpc": "2.0", "result": { "content": [ { "type": "text", "text": "<svg ...></svg>" } ] }, "id": 1 }
信息
分类
开发者工具