Skip to main content
Glama

Mermaid-MCP

by chasey-ai
README.md5.83 kB
# 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模板,允许用户自定义图表样式 ## 工作原理 ```mermaid 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[用户] ``` 1. **用户输入处理**:服务器接收用户提供的文本(需求描述、已有Mermaid代码或结构化文本) 2. **LLM直接理解**:LLM直接理解用户需求,无需中间转换步骤 3. **HTML生成**:LLM直接生成包含图表的HTML和CSS代码 4. **图像导出**:将HTML图表导出为高质量PNG图像 5. **结果返回**:通过MCP协议将生成的图像返回给客户端 ## 安装与设置 ### 前提条件 - Python 3.8+ - pip - 支持MCP的客户端(如Claude Desktop、Cursor等) ### 安装步骤 ```bash # 克隆仓库 git clone https://github.com/yourusername/mermaid-mcp.git cd mermaid-mcp # 创建虚拟环境(可选但推荐) python -m venv venv source venv/bin/activate # Linux/macOS # 或 venv\Scripts\activate # Windows # 安装依赖 pip install -r requirements.txt # 启动服务器 python src/server.py ``` ## 使用方法 ### 连接MCP客户端 在支持MCP的客户端(如Claude Desktop)中,添加本地MCP服务器: 1. 打开客户端设置 2. 找到"MCP服务器"或"模型上下文协议"部分 3. 添加新服务器,指向`http://localhost:5000`(或您设置的端口) 4. 连接服务器 ### 生成流程图 连接成功后,您可以通过以下方式使用此服务: 1. **直接描述需求**: ``` 请生成一个展示用户注册流程的流程图,包括注册、验证邮箱、完善信息和激活账户步骤。 ``` 2. **提供Mermaid代码**: ``` 生成此流程图的PNG: graph TD A[开始] --> B[步骤1] B --> C[步骤2] C --> D[结束] ``` 3. **提供结构化文本**: ``` 处理以下结构化文本并创建流程图: 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 # 项目文档 ``` ## 贡献指南 我们欢迎社区贡献!如需参与: 1. Fork本仓库 2. 创建您的特性分支 (`git checkout -b feature/amazing-feature`) 3. 提交更改 (`git commit -m 'Add some amazing feature'`) 4. 推送到分支 (`git push origin feature/amazing-feature`) 5. 提交Pull Request ## 许可证 本项目采用MIT许可证 - 详见 [LICENSE](LICENSE) 文件 ## 联系方式 如有问题或建议,请通过以下方式联系我们: - 提交GitHub Issue - 发送电子邮件至:your.email@example.com --- **Mermaid-MCP** - 让流程图创建变得简单而优雅

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/chasey-ai/mermaid-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server