Mermaid图表服务

一个基于Model Context Protocol (MCP)的服务,提供验证和渲染Mermaid图表的功能,适用于AI助手交互和开发者工具集成。

  • by abekdwight
  • JavaScript
  • 本地部署
  • 16 星标
  • 更新于
在 GitHub 查看 abekdwight/mermaid-mcp-server

使用说明

Mermaid MCP服务器

A. 模型上下文协议(MCP) 提供验证和呈现工具的服务器 美人鱼 图表。

该服务器允许AI助手(如Roo)与Mermaid图交互,检查其语法,将其呈现为SVG格式,并访问文档链接。

特性

  • 验证Mermaid语法: 检查提供的Mermaid代码的语法是否正确。
  • 渲染为SVG: 将有效的Mermaid代码转换为SVG图像格式。
  • 获取文档链接: 提供美人鱼官方文档的链接。

先决条件

  • Node.js(建议使用v18或更高版本)
  • npm或纱线
  • 兼容的MCP客户端(例如Roo-Cline VSCode扩展)

此服务器使用 @mermaid-js/mermaid-cli 在内部,它依赖于Puppeteer来渲染图表。如果找不到兼容版本的Chromium,Puppeteer将下载它。确保在第一次运行或更新依赖关系时具有网络连接。

安装

您可以在项目中全局或本地安装此服务器。然而,对于像Roo-Cline这样的MCP客户端,它通常是通过客户端的设置文件配置的,而不是直接安装到您的开发项目中。

与Roo Cline一起使用(推荐):

  1. 全局安装软件包(如果本地安装,请记下路径):

    npm install -g mermaid-mcp-server
    

    (或者,如果您克隆此存储库并构建它,请记下指向的绝对路径 build/index.js 文件。)

  2. 配置Roo-Cline: 打开Roo Cline的MCP设置文件。位置取决于您的操作系统和VSCode设置:

    • macOS: ~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json
    • 窗户: %APPDATA%\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\mcp_settings.json
    • Linux: ~/.config/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json

    将以下配置添加到 mcpServers 对象:

    {
      "mcpServers": {
        // ... other servers
        "mermaid-mcp-server": {
          // If installed globally:
          "command": "mermaid-mcp-server",
          // If built from source, use the absolute path:
          // "command": "node",
          // "args": ["/absolute/path/to/mermaid-mcp-server/build/index.js"],
          "disabled": false,
          "alwaysAllow": [] // Add tool names here if you want to skip confirmation
        }
        // ... other servers
      }
    }
    

    替换 /absolute/path/to/mermaid-mcp-server/build/index.js 如果从源代码构建服务器,则使用实际路径。

  3. 重新启动VSCode 或者重新加载窗口以确保Roo-Cline获取新的服务器配置。

可用工具

配置后,AI助手将可以使用以下工具:

  • validate_mermaid:

    • 说明: 无需渲染即可验证Mermaid语法。
    • 输入: { "mermaid_code": "string" }
    • 输出: 带有错误详细信息的表示成功或失败的文本。
  • render_mermaid_svg:

    • 说明: 将Mermaid代码渲染为SVG格式。
    • 输入: { "mermaid_code": "string" }
    • 输出: SVG内容为文本(mimeType: 'image/svg+xml')或错误消息。
  • get_mermaid_docs_link:

    • 说明: 获取美人鱼官方文档的链接。
    • 输入: {} (无需输入)
    • 输出: 包含URL的文本。

发展

  1. 克隆存储库:

    git clone https://github.com/TanisukeGoro/mermaid-mcp-server.git
    cd mermaid-mcp-server
    
  2. 安装依赖项:

    npm install
    
  3. 构建服务器:

    npm run build
    

    (使用 npm run watch 用于开发过程中的自动重建。)

  4. 使用MCP检查员进行测试:

    npm run inspector
    

贡献

欢迎投稿!请打开问题或提交拉取请求。

许可证

麻省理工学院