返回 MCP 目录
public公开dns本地运行

Mermaid Diagram Generator

一个将Mermaid图表转换为PNG图像的MCP服务器,支持多种主题和背景色定制。

article

README

🚀 海妖(Mermaid)模型上下文协议服务器

本项目的海妖(Mermaid)模型上下文协议服务器,可用于生成和管理各类图表。它支持多种图表类型、主题设置和自定义背景颜色,还提供命令行工具和编程接口,方便用户交互与输出图表。

🚀 快速开始

按照以下步骤安装并启动海妖(Mermaid)模型上下文协议服务器:

  1. 克隆仓库:
git clone https://github.com/yourusername/mermaid-mcp.git
cd mermaid-mcp
  1. 安装依赖:
npm install
  1. 启动服务:
npm run dev

✨ 主要特性

  • 多图表类型支持:支持多种图表类型,如流程图、序列图、类图。
  • 主题设置丰富:可设置不同主题(默认、forest、dark)。
  • 背景颜色自定义:支持自定义背景颜色。
  • 交互方式多样:提供命令行工具和编程接口进行交互。
  • 输出灵活:支持将图表保存为文件或直接输出。

📦 安装指南

npm run dev # 开发模式启动服务器
npm run build # 构建生产环境

💻 使用示例

基础用法

{
  "code": "graph LR\nA --> B\nB --> C"
}

设置主题和背景颜色

{
  "code": "sequenceDiagram\n    Alice->>John: Hello John, how are you?\n    John-->>Alice: Great!",
  "theme": "forest",
  "backgroundColor": "#F0F0F0"
}

保存到指定路径

{
  "code": "classDiagram\n    Class01 <|-- AveryLongClass\n    Class03 *-- Class04\n    Class05 o-- Class06",
  "theme": "dark",
  "name": "类图示例",
  "folder": "/var/www/diagrams"
}

📚 详细文档

API

请求格式

HTTP POST 请求,Body 格式为 JSON:

{
  "code": string,
  "theme": string,
  "backgroundColor": string,
  "name": string,
  "folder": string
}

响应格式

成功时返回:

{
  "status": "success",
  "data": {
    "url": "http://example.com/diagram.png"
  }
}

失败时返回:

{
  "status": "error",
  "message": "错误信息"
}

环境变量

| 属性 | 详情 | |------|------| | 变量名 | 说明 | | NODE_ENV | 环境模式,可选值:development、production,默认 development。 | | PORT | 服务端口号,默认 3000 | | MERMAID_VERSION | 指定 Mermaid.js 的版本,默认 latest。 |

示例

基本流程图

{
  "code": "graph LR\nA --> B\nB --> C"
}

复杂序列图

{
  "code": "sequenceDiagram\n    Alice->>John: 你好,你怎么样?\n    John-->>Bob: 我很好,谢谢!",
  "theme": "forest",
  "backgroundColor": "#E6E6E6"
}

类图示例

{
  "code": "classDiagram\n    Class01 <|-- AveryLongClass\n    Class03 *-- Class04\n    Class05 o-- Class06",
  "theme": "dark",
  "name": "类图示例",
  "folder": "/var/www/diagrams"
}

常见问题

Q: 是否支持直接在客户端渲染 Mermaid?

答:目前不支持,必须通过服务器进行解析和生成。

Q: 如何处理大尺寸图表?

答:可以通过调整 Mermaid.js 的配置参数来优化渲染质量,或者分块加载。

项目结构

mermaid-mcp/
├── src/         # 源代码目录
│   ├── index.ts     # 入口文件
│   └── types.ts    # 类型定义
├── public/       # 静态资源目录
└── package.json  # 依赖管理文件

🔧 技术细节

Mermaid MCP 服务器基于 Puppeteer 和 Mermaid.js 实现。通过解析用户提供的 JSON 请求,生成对应的 Mermaid 图表,并使用 Puppeteer 截取生成的 SVG 图像,最后将其转换为 PNG 格式返回给客户端。

📄 许可证

本项目采用 MIT 协议,具体条款请参考 LICENSE 文件。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端