Mermaid MCP Server - Mermaid 图表转换的后端服务
使用说明内容(Markdown格式)
项目简介
Mermaid MCP Server 是一个基于 MCP 的后端服务,核心职责是提供 Mermaid 图表代码到多种图像格式的转换能力,并通过 MCP 的工具、资源与提示模板等能力向支持 MCP 的客户端暴露接口。支持 STDIO 和 SSE 两种传输模式,便于本地桌面客户端与网络客户端的接入。
主要功能点
- Mermaid 图表转换:将 Mermaid 代码转换为 PNG/JPG/SVG/PDF 等格式的图像,并可自定义主题、背景色和尺寸
- 语法验证:实时检查 Mermaid 语法的正确性
- 多格式输出与选项:支持多种输出格式及相应参数(格式、主题、尺寸等)
- 资源与示例:提供示例 Mermaid 代码和资源读取接口
- MCP 协议实现:提供工具、资源和服务接口,符合 MCP 的调用与响应模式
- 双模式通信:STDIO 与 SSE 两种传输模式,便于不同客户端接入
- 错误处理与日志:完善的错误信息返回与日志记录
安装步骤
- 环境要求
- Python 3.12 及以上
- uv 包管理器(推荐),也可使用 pip 安装依赖
- 获取代码
- 克隆仓库并进入目录
- 安装依赖
- 使用 uv 进行依赖同步:uv sync
- 启动服务
- STDIO 模式(桌面客户端等):uv run python main.py
- SSE 模式(网络访问):uv run python main.py --sse
- 配置与运行参数
- 运行时可通过命令行参数指定传输模式、主机与端口等
- 主要环境变量与默认值在文档中已有说明
- 本地测试
- 参考仓库中的测试客户端代码(test_client.py)进行 MCP 调用测试
服务器配置
以下为 MCP 客户端所需的服务器配置信息(JSON 形式,直接粘贴到客户端的配置中使用即可;注释为说明性文字,实际配置请仅保留 JSON 字段):
- server name: mermaid-mcp-server-png-pdf-jpg-svg
- command: uvx
- args: ["mermaid-mcp-server-png-pdf-jpg-svg"]
- mode: stdio(STDIO 模式为默认推荐;若需 SSE,请使用对应启动参数与 URL 配置) 示例配置说明(非代码块描述): { "server_name": "mermaid-mcp-server-png-pdf-jpg-svg", "command": "uvx", "args": ["mermaid-mcp-server-png-pdf-jpg-svg"], "mode": "stdio", "description": "STDIO 模式下通过 uvx 启动 Mermaid MCP Server 主入口,提供 Mermaid 图表转换工具给 MCP 客户端使用" } 注:
- 客户端配置需要提供 server_name、command、args 等字段以启动服务器进程;具体网络地址与端口等信息(如 SSE 的 URL)由服务器运行模式决定,MCP 客户端不需要该信息的代码实现——仅在服务运行时生效。
基本使用方法(对开发者/运维友好)
- 客户端先通过 MCP 调用列出可用工具、获取资源、进行语法校验、执行转换等操作
- 转换工具 convert_mermaid_to_image 支持 mermaid_code、output_format、theme、width、height 等参数
- 语法验证工具 validate_mermaid_syntax 提供 mermaid_code 的有效性检查
- 支持通过 get_supported_options 获取可用的主题和输出格式
- 资源接口 get_mermaid_example 提供多种 Mermaid 示例代码
- 启动时可在 STDIO 模式下通过本地客户端与服务器进行交互;在 SSE 模式下对外提供服务端事件流以供远程客户端使用