hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
美人鱼 MCP 服务器
一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。该服务器允许 AI 助手和其他应用程序使用 Mermaid Markdown 语法从文本描述生成可视化图表。
特征
- 将美人鱼图代码转换为 PNG 图像
- 支持多种图表主题(默认、森林、深色、中性)
- 可自定义的背景颜色
- 使用 Puppeteer 实现高质量无头浏览器渲染
- 实施 MCP 协议,实现与 AI 助手的无缝集成
- 灵活的输出选项:直接返回图像或保存到磁盘
- 带有详细错误消息的错误处理
工作原理
服务器使用 Puppeteer 启动无头浏览器,将美人鱼图渲染为 SVG,并截取渲染图的屏幕截图。该过程包括:
- 启动无头浏览器实例
- 使用 Mermaid 代码创建 HTML 模板
- 加载 Mermaid.js 库
- 将图表渲染为 SVG
- 将渲染后的 SVG 截图为 PNG
- 直接返回图像或将其保存到磁盘
建造
用法
与 Claude 桌面一起使用
与 Cursor 和 Cline 一起使用
您可以在./diagrams
下找到美人鱼图列表,它们是使用 Cursor 代理创建的,提示为:“生成美人鱼图并将其保存在单独的图表文件夹中,解释 renderMermaidPng 如何工作”
与检查器一起运行
使用检查器运行服务器进行测试和调试:
服务器将启动并在 stdio 上监听 MCP 协议消息。
在此处了解有关检查员的更多信息。
通过 Smithery 安装
要通过Smithery自动安装 Claude Desktop 的美人鱼图表生成器:
Docker 和 Smithery 环境
在 Docker 容器中运行时(包括通过 Smithery),您可能需要处理 Chrome 依赖项:
- 服务器现在默认尝试使用 Puppeteer 捆绑的浏览器
- 如果遇到与浏览器相关的错误,您有两种选择:选项 1:在 Docker 镜像构建期间:
- 安装 Puppeteer 时设置
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
- 在 Docker 容器中安装 Chrome/Chromium
- 在运行时设置
PUPPETEER_EXECUTABLE_PATH
以指向 Chrome 安装
选项 2:使用 Puppeteer 捆绑的 Chrome:
- 确保您的 Docker 容器具有 Chrome 所需的依赖项
- 无需设置
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD
- 代码将自动使用捆绑的浏览器
- 安装 Puppeteer 时设置
对于 Smithery 用户来说,最新版本无需额外配置即可使用。
API
服务器公开一个工具:
generate
:将美人鱼图代码转换为 PNG 图像- 参数:
code
:要渲染的美人鱼图代码theme
:(可选)图表主题。选项:“默认”、“森林”、“深色”、“中性”backgroundColor
:(可选)图表的背景颜色,例如“白色”、“透明”、“#F0F0F0”name
:生成的文件的名称(CONTENT_IMAGE_SUPPORTED=false 时必需)folder
:保存图像的绝对路径(CONTENT_IMAGE_SUPPORTED=false 时必需)
- 参数:
generate
工具的行为取决于CONTENT_IMAGE_SUPPORTED
环境变量:
- 当
CONTENT_IMAGE_SUPPORTED=true
(默认)时:工具直接在响应中返回图像 - 当
CONTENT_IMAGE_SUPPORTED=false
时:工具将图片保存到指定文件夹,并返回文件路径
环境变量
CONTENT_IMAGE_SUPPORTED
:控制图像是否直接在响应中返回或保存到磁盘true
(默认值):图像直接在响应中返回false
:图像保存到磁盘,需要name
和folder
参数
示例
基本用法
带有主题和背景颜色
保存到磁盘(当 CONTENT_IMAGE_SUPPORTED=false 时)
常问问题
Claude 桌面不是已经通过画布支持美人鱼了吗?
是的,但它不支持theme
和backgroundColor
选项。另外,拥有专用服务器可以更轻松地使用不同的 MCP 客户端创建美人鱼图表。
为什么在使用 Cursor 时需要指定 CONTENT_IMAGE_SUPPORTED=false?
Cursor 尚不支持响应中的内联图像。
出版
该项目使用 GitHub Actions 来自动化 npm 发布过程。
方法一:使用发布脚本(推荐)
- 确保所有更改都已提交并推送
- 使用特定版本号或语义版本增量运行发布脚本:Copy
- 该脚本将:
- 验证版本格式或语义增量
- 检查你是否在主分支上
- 检测并警告文件之间的版本不匹配
- 一致更新所有版本引用(package.json、package-lock.json 和 index.ts)
- 创建包含所有版本更改的单个提交
- 创建并推送 git 标签
- GitHub 工作流程将自动构建并发布到 npm
方法二:手动处理
- 更新代码并提交更改
- 创建并推送带有版本号的新标签:Copy
- GitHub 工作流程将自动:
- 构建项目
- 使用标签中的版本发布到 npm
注意:您需要在 GitHub 仓库设置中设置NPM_TOKEN
密钥。操作步骤如下:
- 生成具有发布权限的 npm 访问令牌
- 转到你的 GitHub 存储库 → 设置 → 机密和变量 → 操作
- 创建一个名为
NPM_TOKEN
的新存储库机密,并使用您的 npm 令牌作为值
徽章
执照
麻省理工学院
You must be authenticated.
Tools
将美人鱼图转换为 PNG 图像的模型上下文协议 (MCP) 服务器。