使用说明
美人鱼MCP服务器
一个轻量级的模型上下文协议(MCP)服务器,提供实时的Mermaid图表语法验证,且占用内存极小。
特点/功能
- ✅ 实时语法验证在编辑图表时即时验证
- 🚀 表情符号“🚀”通常被翻译为“火箭”或“飞速前进”,用以表示快速、迅速或激动人心的事情。在中文中,它常被用来形容技术进步、事业发展迅速,或者表达一种兴奋和期待的情绪。 超轻量级内存占用极低,性能优化
- 🎯(目标) 100% 兼容性支持所有Mermaid图表类型
- 📊(表格) 详细的错误报告行号、错误分类及建议
- 🔧 修理工具或螺丝刀的符号 批量验证一次性验证多个图表
- 📈(上扬的折线图,常用于表示增长或上升趋势) 性能监控跟踪验证时间和内存使用情况
支持的图表类型
- 流程图(
graph,flowchart) - 序列图(Sequence Diagrams)
sequenceDiagram) - 类图(Class Diagrams)
classDiagram) - 状态图(
stateDiagram) - 实体关系图 (Entity Relationship Diagrams)
erDiagram) - 甘特图
gantt) - 用户旅程
journey) - 饼状图
pie) - Git 图表 (
gitgraph) - 思维导图
mindmap) - 时间线(
timeline) - C4 建筑事务所(
c4) - 桑基图(Sankey Diagrams)
sankey) - 方框图(
block) - 架构图(
architecture)
安装
- 克隆此存储库:
git clone <repository-url>
cd mermaid-mcp-server
- 安装依赖项:
npm install
- 在您的MCP客户端配置中添加:
克劳德桌面配置
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"mermaid": {
"command": "node",
"args": ["/path/to/mermaid-mcp-server/server.js"],
"env": {}
}
}
}
使用示例
基本语法验证
// Validate a simple flowchart
const result = await validate_mermaid({
diagramCode: `graph TD
A[Start] --> B{Decision}
B -->|Yes| C[Process]
B -->|No| D[End]
C --> D`
});
实时验证钩子
// Real-time validation during editing
const realtimeResult = await mermaid_realtime_validate({
diagramCode: "sequenceDiagram\n A->>B: Hello",
changeType: "add",
lineNumber: 2
});
批次验证
// Validate multiple diagrams at once
const batchResult = await validate_mermaid_batch({
diagrams: [
"graph TD\n A --> B",
"sequenceDiagram\n A->>B: Test",
"invalid diagram code"
]
});
API 参考文档
工具
validate_mermaid
验证单个Mermaid图表。
参数:
diagramCode(字符串,必填):要验证的Mermaid图表代码
返回值:
{
"isValid": true,
"error": null,
"type": null,
"line": null,
"suggestion": null,
"processingTime": 12,
"diagramType": "graph",
"elementCount": 4
}
mermaid_realtime_validate
实时验证直播编辑场景。
参数:
diagramCode(字符串,必填项):当前图表代码changeType(字符串,必填):变更类型(add,remove,modify,full)lineNumber(数字,可选):发生更改的行号
返回: 使用变更元数据增强验证结果。
validate_mermaid_batch
在单次调用中验证多个图表。
参数:
diagrams(数组,必需):图表代码的数组
返回:
{
"summary": {
"total": 3,
"valid": 2,
"invalid": 1,
"averageProcessingTime": 15.3
},
"results": [...]
}
get_mermaid_info
获取服务器信息和支持的图表类型。
返回值:
{
"server": {
"name": "mermaid-mcp-server",
"version": "1.0.0",
"uptime": 3600
},
"supportedTypes": [...],
"stats": {...},
"features": [...]
}
错误类型
服务器将错误分为以下几类:
syntax一般的语法错误no_type缺少图表类型声明unknown_command不支持的命令parse解析错误identifier无效的标识符relation连接/箭头问题general其他错误
性能优化
内存管理
- Mermaid 引擎的惰性初始化
- 最小化依赖
- 高效的垃圾回收
- 不进行DOM渲染(仅验证)
处理速度
- 直接解析美人鱼(数据/内容)而不进行渲染
- 优化错误提取
- 批处理能力
- 性能指标追踪
使用技巧
- 使用
mermaid_realtime_validate用于实时编辑 - 使用
validate_mermaid_batch对于多个图表 - 检查
processingTime监控性能 - 监控内存使用情况
get_mermaid_info
发展
在开发模式下运行
npm run dev
测试
# Test with various diagram types
node test.js
环境变量
NODE_ENV设置为development用于调试日志记录GC_INTERVAL垃圾回收间隔(默认:60000毫秒)
配置
服务器可以通过环境变量进行配置:
# Enable debug logging
DEBUG=mermaid-mcp-server
# Set memory limit (MB)
MEMORY_LIMIT=128
# Enable performance monitoring
PERFORMANCE_MONITORING=true
故障排除
常见问题
-
服务器无法启动
- 检查 Node.js 版本(需要 >=18.0.0)
- 验证所有依赖项都已安装
- 如适用,请检查端口冲突
-
内存使用率高
- 定期重启服务器
- 使用批量验证,而不是多次单个调用
- 通过(某种方式)监控内存使用情况
get_mermaid_info
-
验证错误
- 确保图表语法正确
- 检查支持的图表类型
- 使用实时验证以获得即时反馈
调试模式
启用调试日志记录:
DEBUG=mermaid-mcp-server:* npm start
许可证
麻省理工学院许可证(MIT License)
做出贡献
- 为仓库创建分支(或“克隆仓库”)
- 创建一个特性分支
- 做出你的更改
- 如适用,请添加测试
- 提交拉取请求
支持
对于问题和疑问:
- 在GitHub上创建一个问题
- 查看故障排除部分
- 查看API文档
