Miro扩展工具

该扩展工具通过Model Context Protocol (MCP)使AI代理能够与Miro白板交互,提供高级功能用于操作和提取Miro白板数据,适用于AI辅助设计、协作和数据可视化。

  • by SerjoschDuering
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 serjoschduering/mcp-miro

使用说明

模型上下文协议(MCP)的Miro扩展

概述

此扩展使AI代理能够通过模型上下文协议(MCP)与Miro板进行交互。它提供了从Miro板上操纵和提取数据的高级功能,使其成为人工智能辅助设计、协作和数据可视化的强大工具。

特性

图像工具

  • 使用URL在Miro板上创建图像
  • 使用base64编码数据上传图像
  • 支持定位和尺寸

Iframe嵌入

  • 将iframe嵌入Miro板(网站、视频等)
  • 控制显示模式(内联/模态)
  • 为嵌入内容设置预览图像

板数据导出

  • 以JSON格式导出整个电路板数据
  • 获取电路板项目的详细信息
  • 查看全面的董事会结构和内容

形状数据提取

  • 获取特定形状的详细信息
  • 提取位置、尺寸和样式
  • 全面按类型查询形状

安装

# Clone the repository
git clone <repository-url>

# Install dependencies
npm install

认证

该扩展需要Miro OAuth令牌才能运行。您可以在运行服务器时提供此令牌:

npm start -- --miro-token YOUR_TOKEN_HERE

工具

图像工具

create_image_from_url

从URL在Miro板上创建图像。

{
  "boardId": "board_id_here",
  "imageUrl": "https://example.com/image.png",
  "x": 0,
  "y": 0,
  "width": 300,
  "height": 200
}

create_image_from_base64

从base64编码数据在Miro板上创建图像。

{
  "boardId": "board_id_here",
  "base64Data": "base64_string_here",
  "x": 0,
  "y": 0,
  "width": 300,
  "height": 200
}

Iframe嵌入

create_embed

在Miro板上嵌入iframe。

{
  "boardId": "board_id_here",
  "url": "https://example.com",
  "x": 0,
  "y": 0,
  "width": 600,
  "mode": "inline",
  "previewUrl": "https://example.com/preview.png"
}

板数据导出

export_board_as_json

以JSON格式导出Miro板上的所有数据。

{
  "boardId": "board_id_here"
}

get_shape_data

获取板上特定项目的详细数据。

{
  "boardId": "board_id_here",
  "itemId": "item_id_here"
}

形状数据提取

get_shape_details

获取特定形状的详细信息。

{
  "boardId": "board_id_here",
  "shapeId": "shape_id_here"
}

get_shapes_by_type

在板上获得特定类型的所有形状。

{
  "boardId": "board_id_here",
  "shapeType": "circle"
}

建筑

该扩展遵循模块化设计,包含以下组件:

  • MiroClient.ts:用于与Miro API交互的核心客户端
  • 中的工具模块 src/tools 目录:
    • imageTools.ts:图像创建工具
    • embedTools.ts:Iframe嵌入工具
    • screenshotTools.ts:板数据导出工具
    • shapeTools.ts:形状数据提取工具
  • index.ts:处理MCP请求的主要入口点

发展

为该项目做出贡献:

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 为您的更改添加测试
  5. 提交拉取请求

许可证

MIT许可证

备注

  • 该扩展绕过了Miro API的一些限制(例如,没有API的直接截图),提供了可用于重新创建或可视化板的全面数据。
  • 所有API调用都包括强大的错误处理和响应验证。
  • 代码库完全使用TypeScript类型化,以获得更好的开发体验和代码质量。