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 两种传输模式,便于不同客户端接入
  • 错误处理与日志:完善的错误信息返回与日志记录

安装步骤

  1. 环境要求
    • Python 3.12 及以上
    • uv 包管理器(推荐),也可使用 pip 安装依赖
  2. 获取代码
    • 克隆仓库并进入目录
  3. 安装依赖
    • 使用 uv 进行依赖同步:uv sync
  4. 启动服务
    • STDIO 模式(桌面客户端等):uv run python main.py
    • SSE 模式(网络访问):uv run python main.py --sse
  5. 配置与运行参数
    • 运行时可通过命令行参数指定传输模式、主机与端口等
    • 主要环境变量与默认值在文档中已有说明
  6. 本地测试
    • 参考仓库中的测试客户端代码(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 模式下对外提供服务端事件流以供远程客户端使用

服务器信息