一个用于与Draw.io(Diagrams.net)交互的MCP(模型上下文协议)服务器,使AI模型能够创建和管理各种类型的图表。
✅ 已完成并可用 -项目的核⼼功能已经实现,可以⽴即使用!
# 1. 克隆项目
git clone <repository-url>
cd drawio-mcp
# 2. 安装依赖
npm install
# 3. 构建项目
npm run build
# 4. 启动服务器
npm start
启动成功后,您会看到:
╔══════════════════════════════════════════════════════════════╗
║ Draw.io MCP Server v1.0.0 ║
╠══════════════════════════════════════════════════════════════╣
║ ✅ MCP服务器已成功启动 ║
║ ✅ 注册了10个工具并准备好 ║
║ ✅ 准备接受MCP协议请求 ║
╚══════════════════════════════════════════════════════════════╝
在Claude Desktop配置文件中添加以下配置:
{
"mcpServers": {
"drawio-mcp": {
"command": "node",
"args": ["/path/to/drawio-mcp/dist/index.js"],
"transportType": "stdio"
}
}
}
配置文件位置:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.config/Claude/claude_desktop_config.json服务器提供以下26个MCP工具,涵盖了完整的图表创建、编辑和管理功能:
create_diagram - 创建通用图表(流程图、UML图、网络图等)create_flowchart - 创建流程图create_org_chart - 创建组织结构图create_mindmap - 创建思维导图create_timeline - 创建时间线图add_element - 向图表添加元素connect_elements - 连接两个图表元素delete_element - 删除图表中的元素或连接update_element - 更新现有元素的属性copy_paste - 复制和粘贴图表元素save_diagram - 将图表保存到文件load_diagram - 从文件加载图表batch_import - 批量导入图表文件version_management - 图表版本管理export_diagram - 将图表导出为PNG/SVG/PDF格式apply_theme - 应用预定义的主题到图表update_style - 更新图表、元素或连接的样式manage_colors - 管理图表的颜色方案和调色板get_diagram_info - 获取图表的基本信息list_diagrams - 列出所有图表文件search_elements - 在图表中搜索元素get_statistics - 获取图表统计信息create_template - 创建或管理图表模板batch_operations - 批量操作图表元素layer_management - 管理图表的层和分组auto_layout - 自动布局图表元素{
"title": "用户登录流程",
"steps": [
{
"id": "start",
"text": "开始",
"type": "start",
"next": ["input"]
},
{
"id": "input",
"text": "输入用户名密码",
"type": "process",
"next": ["validate"]
},
{
"id": "validate",
"text": "验证凭据",
"type": "decision",
"next": ["success", "error"]
},
{
"id": "success",
"text": "登录成功",
"type": "end"
},
{
"id": "error",
"text": "登录失败",
"type": "end"
}
],
"layout": "vertical"
}
{
"title": "公司组织架构",
"root": {
"id": "ceo",
"name": "张三",
"title": "CEO",
"children": [
{
"id": "cto",
"name": "李四",
"title": "CTO",
"department": "技术部"
},
{
"id": "cfo",
"name": "王五",
"title": "CFO",
"department": "财务部"
}
]
}
}
drawio-mcp/
├── config/ # 配置文件
├── design/ # 设计文档
├── docs/ # 项目文档
│ ├── quick-start.md # 快速开始指南
│ ├── testing-guide.md # 测试指南
│ └── implementation-comparison.md # 实现差异分析
├── examples/ # 示例代码
├── src/ # 源代码
│ ├── server/ # MCP服务器核心
│ ├── tools/ # MCP工具实现
│ ├── types/ # TypeScript类型定义
│ ├── utils/ # 工具函数
│ ├── integration/ # 集成测试
│ ├── performance/ # 性能测试
│ └── test-utils/ # 测试工具
├── package.json
└── README.md
npm run dev
# 运行所有测试
npm test
# 运行单元测试
npm run test:unit
# 运行集成测试
npm run test:integration
# 运行性能测试
npm run test:performance
# 生成覆盖率报告
npm run test:coverage
# 代码检查
npm run lint
# 自动修复
npm run lint:fix
# 代码格式化
npm run format
本项目(drawio-mcp)与drawio-mcp-server的主要区别如下:
| 功能 | drawio-mcp-server | drawio-mcp |
|---|---|---|
| 实现状态 | 完成,8个工具 | 完成,10个工具 |
| 架构设计 | WebSocket桥接 | 标准MCP协议 |
| 工具数量 | 8个基础工具 | 10个全功能工具 |
| 测试覆盖率 | 完整单元测试 | 完整测试套件 |
| 文档完整性 | 实用导向 | 设计导向 |
| 类型安全 | 基础类型 | 完整类型系统 |
对于详细的比较,请参阅实现差异分析。
欢迎贡献代码!请遵循以下步骤:
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)本项目采用MIT许可证 - 查看LICENSE文档详情。
如果您遇到问题或需要帮助:
⭐ 如果这个项目对您有帮助,请给它一个星评级!