Mermaid-MCP
一个基于Model Context Protocol (MCP)的Mermaid流程图生成服务器,支持将文本输入转换为精美的可视化流程图。
项目简介
Mermaid-MCP是一个强大的MCP服务器,允许各种AI客户端(如Claude、Cursor等支持MCP的工具)连接并生成精美的流程图。用户只需提供文本描述(如流程图需求说明、Mermaid代码、结构化文本或思维导图文本),服务器将直接处理这些输入并返回高质量的流程图PNG图像。
核心功能
接收并理解用户的文本输入(需求描述、Mermaid代码或结构化文本)
直接生成精美的HTML可视化图表,无需中间Mermaid转换步骤
支持多种图表类型和描述方式
将生成的HTML图表导出为高质量PNG图像
基于MCP协议,可与任何MCP客户端无缝集成
利用LLM直接理解用户需求并生成图表
支持多种CSS模板,允许用户自定义图表样式
工作原理
graph LR
A[用户输入] -->|发送到MCP客户端| B[MCP客户端]
B -->|连接到| C[Mermaid-MCP服务器]
C -->|直接处理| D[LLM理解需求]
D -->|生成| E[HTML+CSS代码]
E -->|渲染| F[可视化图表]
F -->|导出| G[PNG图像]
G -->|返回给| B
B -->|显示结果| H[用户]
- 用户输入处理:服务器接收用户提供的文本(需求描述、已有Mermaid代码或结构化文本)
- LLM直接理解:LLM直接理解用户需求,无需中间转换步骤
- HTML生成:LLM直接生成包含图表的HTML和CSS代码
- 图像导出:将HTML图表导出为高质量PNG图像
- 结果返回:通过MCP协议将生成的图像返回给客户端
安装与设置
前提条件
- Python 3.8+
- pip
- 支持MCP的客户端(如Claude Desktop、Cursor等)
安装步骤
# 克隆仓库
git clone https://github.com/yourusername/mermaid-mcp.git
cd mermaid-mcp
# 创建虚拟环境(可选但推荐)
python -m venv venv
source venv/bin/activate # Linux/macOS
# 或
venvScriptsactivate # Windows
# 安装依赖
pip install -r requirements.txt
# 启动服务器
python src/server.py
使用方法
连接MCP客户端
在支持MCP的客户端(如Claude Desktop)中,添加本地MCP服务器:
- 打开客户端设置
- 找到"MCP服务器"或"模型上下文协议"部分
- 添加新服务器,指向
http://localhost:5000
(或您设置的端口) - 连接服务器
生成流程图
连接成功后,您可以通过以下方式使用此服务:
直接描述需求:
请生成一个展示用户注册流程的流程图,包括注册、验证邮箱、完善信息和激活账户步骤。
提供Mermaid代码:
生成此流程图的PNG: graph TD A[开始] --> B[步骤1] B --> C[步骤2] C --> D[结束]
提供结构化文本:
处理以下结构化文本并创建流程图: 1. 用户提交申请 2. 系统审核 2.1 自动检查 2.2 人工审核 3. 发送结果通知
CSS模板选择
用户可以通过添加模板参数来选择或自定义图表样式:
使用"暗黑"模板生成一个系统架构图,包括前端、后端和数据库三个主要组件。
或者:
使用以下CSS样式生成流程图(用户可以提供自定义CSS):
.node {
border-radius: 15px;
background: linear-gradient(145deg, #3498db, #2980b9);
color: white;
font-weight: bold;
}
.edge {
stroke: #e74c3c;
stroke-width: 2px;
}
支持的图表类型
Mermaid-MCP支持多种图表类型的描述方式:
- 流程图 (Flowcharts)
- 时序图 (Sequence Diagrams)
- 类图 (Class Diagrams)
- 状态图 (State Diagrams)
- 实体关系图 (Entity Relationship Diagrams)
- 甘特图 (Gantt Charts)
- 饼图 (Pie Charts)
- 用户旅程图 (User Journey)
自定义选项
服务器支持多种自定义选项:
- CSS模板:选择预设模板(默认、暗色、简约、商务等)
- 自定义CSS:提供您自己的CSS样式覆盖默认样式
- 图表尺寸:调整生成图表的宽度和高度
- 颜色方案:选择预定义的颜色组合
- 导出设置:调整PNG分辨率和质量
技术架构
Mermaid-MCP基于以下技术构建:
- Python:服务器开发语言
- Model Context Protocol (MCP):用于与AI客户端通信的开放协议
- Flask/FastAPI:Web服务器框架
- LLM:直接理解用户需求并生成HTML/CSS代码
- Selenium/Playwright:用于HTML到PNG的转换
- Jinja2:模板引擎,用于HTML生成
项目结构
mermaid-mcp/
├── src/
│ ├── server.py # MCP服务器主程序
│ ├── llm_handler.py # LLM请求处理
│ ├── renderer.py # HTML渲染器和PNG导出
│ ├── templates/ # CSS模板目录
│ │ ├── default.css
│ │ ├── dark.css
│ │ └── ...
│ └── utils/ # 工具函数
├── requirements.txt # 项目依赖
└── README.md # 项目文档
贡献指南
我们欢迎社区贡献!如需参与:
- Fork本仓库
- 创建您的特性分支 (
git checkout -b feature/amazing-feature
) - 提交更改 (
git commit -m 'Add some amazing feature'
) - 推送到分支 (
git push origin feature/amazing-feature
) - 提交Pull Request
许可证
本项目采用MIT许可证 - 详见 LICENSE 文件
联系方式
如有问题或建议,请通过以下方式联系我们:
- 提交GitHub Issue
- 发送电子邮件至:your.email@example.com
Mermaid-MCP - 让流程图创建变得简单而优雅
Mermaid Flowchart Generator
Project Details
- chasey-ai/mermaid-mcp
- MIT License
- Last Updated: 5/23/2025
Recomended MCP Servers
Official Firecrawl MCP Server - Adds powerful web scraping to Cursor, Claude and any other LLM clients.
mcp-gitee is a Model Context Protocol (MCP) server implementation for Gitee. It provides a set of tools that...
Agent-MCP is a framework for creating multi-agent systems that enables coordinated, efficient AI collaboration through the Model Context...
A simple POC to expose Mythic as a MCP server
My clone repository
Unblock, scrape, and search tools for MCP clients
A TypeScript implementation of an MCP server that provides GitHub repository information including file content, directory structure, and...