关于 Miro Mcp Server
Miro MCP Server 是一个社区维护的开源 MCP 服务,让 Claude、Cursor 等 MCP 客户端通过 110 个工具操作 Miro 白板。它面向需要用 AI 辅助组织工作坊、回顾会议和规划的团队,并提供单一二进制文件安装方式。
主要功能
- 01110 个工具覆盖看板、便签、框架、连接线等
- 02支持从 Mermaid 生成流程图和时序图
- 03提供思维导图节点及父子关系管理
- 04支持评论线程的创建、回复与解决
- 05支持通过 SVG 读取与更新白板内容
- 06可按需切换精简工具集以减少预加载 Token
适用场景
- 01通过自然语言快速创建冲刺看板或回顾板
- 02批量生成便签网格并整理到框架中
- 03为白板内容生成流程图或思维导图
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露 Miro 白板的读取与编辑工具,包括看板、项目、评论和成员管理等操作。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Miro MCP 服务
通过命令行运行 Miro 工作坊、回顾会议和规划会议。通过 Claude、Cursor 或任何 MCP 客户端读取看板、创建便签、整理框架并生成图表。
社区项目 — 与 Miro 无官方关联。请参阅下方的官方选项。
110 个工具 | 单个二进制文件 | 支持所有平台 | 支持所有主流 AI 工具
文档
| 文档 | 说明 |
|---|---|
| QUICKSTART.md | 2 分钟内启动 |
| SETUP.md | 所有 AI 工具的完整设置指南 |
| CONFIG.md | 配置参考 |
| PERFORMANCE.md | 优化指南 |
| CHANGELOG.md | 版本历史 |
| ERRORS.md | 错误处理与故障排除 |
快速开始
1. 安装
Homebrew(macOS/Linux):
brew tap olgasafonova/tap && brew install miro-mcp-server
一行命令(macOS/Linux):
curl -fsSL https://raw.githubusercontent.com/olgasafonova/miro-mcp-server/main/install.sh | sh
Docker:
docker pull ghcr.io/olgasafonova/miro-mcp-server:latest
手动下载: 所有平台的说明请参阅 SETUP.md
2. 获取 Miro 令牌
- 前往 miro.com/app/settings/user-profile/apps
- 创建应用,并授予
boards:read和boards:write权限 - 将应用安装到你的团队并复制令牌
3. 配置 AI 工具
Claude Code:
claude mcp add miro -e MIRO_ACCESS_TOKEN=your-token -- miro-mcp-server
Claude Desktop / Cursor / VS Code: 请参阅 SETUP.md
Cursor Marketplace:
/add-plugin miro
无法正常使用? 告诉我们哪里让你觉得困难——哪怕只写一句话也有帮助。
可以做什么
| 类别 | 示例 |
|---|---|
| 看板 | 创建、复制、删除、更新、共享看板,列出成员 |
| 项目 | 便签、形状、文本、卡片、应用卡片、图片、文档、框架、Docs |
| 图表 | 根据 Mermaid 生成流程图和时序图;列出并查看原生图表项目 |
| 文档 | 在看板上创建和管理 Markdown 文档 |
| 上传 | 在看板上上传并替换本地图片和文档文件 |
| 表格 | 查找并查看看板上的表格 |
| 思维导图 | 创建具有父子关系的思维导图节点 |
| 代码小组件 | 在看板上显示带语法高亮的代码片段(v2-experimental) |
| 批量操作 | 一次创建多个项目、便签网格 |
| 标签 | 创建、附加、更新标签并用标签整理内容 |
| 分组 | 对项目分组,列出并管理项目组 |
| 连接线 | 使用带样式的箭头连接项目 |
| 导出 | 看板缩略图、PDF/SVG 导出(Enterprise) |
语音示例
- “添加一张黄色便签,写上‘Review PRs’”
- “创建一个流程图:开始 → 决策 → 结束”
- “我有哪些看板?”
- “与 [email protected] 共享 Design 看板”
- “创建一个以‘Project Ideas’为根节点的思维导图”
配套技能:miro-workflow
对于支持技能的 Claude 客户端(Claude Code、Claude Desktop),此仓库包含一个 miro-workflow 技能,介绍如何使用原子化的创建条目工具组装几种常见的画板布局。
涵盖五种布局:
| 工作流 | 触发短语示例 |
|---|---|
| Sprint 画板 | "set up a sprint board for sprint 42" |
| 回顾 | "create a retro board for our team" |
| 头脑风暴 | "brainstorm board for [topic]" |
| 故事地图 | "map the user journey for [product]" |
| 看板 | "kanban for our backlog" |
每种布局都说明了画框尺寸、间距计算、便笺放置方式、颜色约定(Miro API 的画框填充色使用十六进制值,便笺使用命名值;两者采用不同的词汇体系),以及应遵循的工具调用顺序。对于单工具调用(“添加一张便笺”)或只读检查,通常仅使用原子化工具就足够了。
这项技能刚刚推出,随着更多布局在实际画板上得到验证,很可能还需要调整。文件位于 skills/miro-workflow/ 下。Claude Code 会自动从 ~/Projects/claude-code-config/skills/ 发现技能;对于其他宿主,请参阅客户端的技能安装文档。
上方徽章由 SkillCheck Pro 授予;这项技能目前得分为 92/100,Critical 问题为零,Warnings 为零。此仓库中的技能需达到 ≥90/100,且 Critical 问题和 Warnings 均为零,才能获得徽章;低于此标准时,徽章会被移除,直至技能再次通过验证。
配套 CLI:miro-cli
如果你更习惯优先使用 Shell,这个服务还有一个同系列项目:miro-cli。作者相同,Miro API 覆盖范围相同,运行环境不同。每个端点对应一个动词,输入和输出均为 JSON,另带一个用于离线搜索的本地 SQLite 镜像。在 CI 中编写 Miro 脚本、批量迁移画板间的便笺,或在不消耗 API 配额的情况下离线查询画板时,可以使用它。
MCP 服务和 CLI 有意提供了重叠功能。如果涉及 Agent 运行时(Claude Code、Claude Desktop、Cursor),请使用 MCP 服务;如果使用 bash、Makefile 或 CI,请使用 CLI。也可以按需同时使用两者。
安装:
brew install olgasafonova/tap/miro-cli
# or
go install github.com/olgasafonova/miro-cli/cmd/miro-cli@latest
配套 MCP Apps 服务:miro-mcp-apps
如果你希望 Miro 数据以交互式界面形式呈现在聊天中(卡片、表格、颜色簇、SVG 图表),而不是以流式 JSON 呈现,可以使用 TypeScript 同系列项目:miro-mcp-apps。它包含 11 个基于 MCP Apps 扩展(SEP-1865)构建的工具,并复用相同的 MIRO_ACCESS_TOKEN。这两个服务并行运行:本服务提供 110 个工具的 CRUD 操作界面,另一个服务则提供一目了然的可视化视图。
| 你的需求…… | 使用 |
|---|---|
| 程序化控制:创建、更新、移动、连接条目,生成图表 | miro-mcp-server(本仓库) |
| 可视化画板摘要、便笺颜色簇、内嵌渲染的连接线图 | miro-mcp-apps |
| 在 bash、CI 或 Makefile 中实现相同功能 | miro-cli |
目前 MCP Apps 模式仅支持 TypeScript(Go SDK 没有 ext-apps 辅助工具),因此这个配套项目放在单独的仓库中,而不是直接集成到 Go 服务中。
Token 效率
完整工具集(110 个工具)预加载约需 20.8K 个 token;essentials 配置可将其缩减至约 2.8K。对于需要控制这部分开销的会话,请在客户端配置中设置 MIRO_TOOLS_PROFILE=essentials;随后,服务端会注册一个经过精选的 14 个工具子集(看板、列表/查找/搜索、便签/文本/画框/连接器创建、条目列表/获取/更新/删除),以及一个发现元工具。Agent 可按需通过 miro_tool_search 使用其余工具。
| 配置 | 工具数 | 预加载 token(估算) |
|---|---|---|
full(默认) | 110 | ~20,795 |
essentials | 15 | ~2,848 |
选择 essentials 可节省 约 17,760 个 token(减少 86.2%)。描述所需的 token 数是精确值(以 JSON 编组);架构开销按每个工具 200 字节估算。可使用 go run ./cmd/token-count/ 在本地复现。
miro_tool_search(query?, category?, limit?) 在两种配置中均会注册。它会按加权关键词评分(名称 3×、标题 2×、类别 2.5×、描述 1×)搜索工具名称、标题、描述和类别,最多返回 50 个匹配项,且不会推荐自身。当你不确定该使用哪个工具,或想在浏览前限定某个类别时,可使用它。查询为空且指定类别时,将按字母顺序返回该类别中的工具。
完整的环境变量参考请参阅 CONFIG.md。
全部 110 个工具
看板管理(9)
| 工具 | 描述 |
|---|---|
miro_list_boards | 列出可访问的看板,以及其所有者、团队和时间戳 |
miro_find_board | 按名称查找看板,并返回与列表相同的元数据 |
miro_get_board | 获取看板详情 |
miro_get_board_summary | 获取看板统计数据和条目数 |
miro_get_board_content | 获取看板的全部内容,用于 AI 分析 |
miro_create_board | 创建新看板 |
miro_copy_board | 复制现有看板 |
miro_update_board | 更新看板名称/描述 |
miro_delete_board | 删除看板 |
看板成员(5)
| 工具 | 描述 |
|---|---|
miro_list_board_members | 列出有权访问的用户 |
miro_get_board_member | 获取成员详情 |
miro_share_board | 通过电子邮件共享看板 (需要 MIRO_SHARE_ALLOWED_DOMAINS;默认采用失败时拒绝策略) |
miro_update_board_member | 更新成员角色 (具有破坏性:角色权限提升前会提示确认) |
miro_remove_board_member | 从看板中移除成员 |
共享和角色更改工具受到防提示词注入保护。请参阅
SECURITY.md和CONFIG.md。
创建条目(18)
| 工具 | 描述 |
|---|---|
miro_create_sticky | 创建便签 |
miro_create_sticky_grid | 按网格布局创建便签 |
miro_create_shape | 创建形状(矩形、圆形等) |
miro_create_flowchart_shape | 创建流程图形状(实验性 API) |
miro_create_text | 创建文本元素 |
miro_create_frame | 创建画框容器 |
miro_create_card | 创建带截止日期的卡片 |
miro_create_app_card | 创建带自定义字段的应用卡片 |
miro_create_image | 从 URL 添加图像 |
miro_upload_image | 上传本地图像文件 |
miro_upload_document | 上传本地文档文件(PDF、DOCX 等) |
miro_create_doc | 创建 Markdown 文档 |
miro_create_document | 从 URL 添加文档 |
miro_create_embed | 嵌入 YouTube、Figma 等内容 |
miro_create_connector | 用箭头连接两个条目 |
miro_create_group | 将多个条目编组 |
miro_create_mindmap_node | 创建思维导图节点 |
miro_bulk_create | 一次创建多个条目 |
画框(4)
| 工具 | 描述 | |------|-------------| | `miro_get_frame` | 获取画框详情 | | `miro_update_frame` | 更新画框标题/颜色/尺寸 | | `miro_delete_frame` | 删除画框 | | `miro_get_frame_items` | 列出画框内的项目 |思维导图(3)
| 工具 | 描述 |
|---|---|
miro_get_mindmap_node | 获取节点详情 |
miro_list_mindmap_nodes | 列出所有思维导图节点 |
miro_delete_mindmap_node | 删除思维导图节点 |
代码小部件(6,v2-experimental)
| 工具 | 描述 |
|---|---|
miro_create_code_widget | 添加带语法高亮的代码片段 |
miro_get_code_widget | 获取完整源码和设置 |
miro_list_code_widgets | 列出带代码预览的小部件 |
miro_update_code_widget | 更改代码、语言、标题或尺寸 |
miro_move_code_widget | 移动到新位置 |
miro_delete_code_widget | 删除代码小部件 |
评论(5,v2-experimental)
| 工具 | 描述 |
|---|---|
miro_create_comment | 创建评论讨论串,可选择附加到项目 |
miro_list_comments | 列出包含消息和已解决状态的讨论串 |
miro_get_comment | 获取单个讨论串及其完整消息记录 |
miro_reply_comment | 向讨论串添加回复 |
miro_resolve_comment | 解决讨论串,或使用 resolved=false 重新打开 |
画布 SVG(3,本地转换)
| 工具 | 描述 |
|---|---|
miro_read_board_svg | 将白板项目渲染为 SVG 文档(在本地计算);frame_id 将渲染范围限定为一个画框 |
miro_create_from_svg | 从 SVG 创建项目:形状、文本、便利贴和画框(使用 data-type 提示)、三角形、图像、连接线(使用 data-start/data-end 的 line) |
miro_update_from_svg | 根据 data-miro-id 应用 SVG 差异:原地更新、删除(data-deleted)、增量创建;读取输出可重新提交 |
读取项目(9)
| 工具 | 描述 |
|---|---|
miro_list_items | 列出白板上的项目 |
miro_list_all_items | 获取所有项目并自动分页 |
miro_get_item | 获取项目详情 |
miro_get_image | 获取图像详情和 Miro 托管的 URL |
miro_get_document | 获取文档详情和 Miro 托管的 URL |
miro_get_app_card | 获取应用卡片详情 |
miro_get_doc | 获取 Markdown 文档内容 |
miro_search_board | 按内容搜索项目 |
miro_who_am_i | 检查访问令牌:用户、团队、组织、应用、作用域 |
更新和删除项目(18)
| 工具 | 描述 |
|---|---|
miro_update_item | 更新项目内容/位置/颜色 |
miro_update_sticky | 更新便利贴(形状、颜色) |
miro_update_shape | 更新形状(填充、文本颜色、类型) |
miro_update_text | 更新文本元素 |
miro_update_card | 更新卡片字段 |
miro_update_image | 更新图像属性 |
miro_update_image_from_file | 替换现有项目中的图像文件 |
miro_update_document | 更新文档属性 |
miro_update_document_from_file | 替换现有项目中的文档文件 |
miro_update_embed | 更新嵌入内容属性 |
miro_update_group | 更新分组属性 |
miro_update_app_card | 更新应用卡片字段 |
miro_bulk_update | 一次更新多个项目 |
miro_delete_item | 删除项目 |
miro_delete_app_card | 删除应用卡片 |
miro_update_doc | 更新文档内容(全文或查找并替换) |
miro_delete_doc | 删除 Markdown 文档 |
miro_bulk_delete | 一次删除多个项目 |
标签(9)
| 工具 | 描述 | |------|-------------| | `miro_create_tag` | 创建标签 | | `miro_list_tags` | 列出白板上的所有标签 | | `miro_get_tag` | 按 ID 获取标签详情 | | `miro_attach_tag` | 为项目添加标签 | | `miro_detach_tag` | 移除项目的标签 | | `miro_get_item_tags` | 获取项目上的标签 | | `miro_get_items_by_tag` | 获取带有指定标签的所有项目 | | `miro_update_tag` | 更新标签名称/颜色 | | `miro_delete_tag` | 删除标签 |连接器(4)
| 工具 | 描述 |
|---|---|
miro_list_connectors | 列出所有连接器 |
miro_get_connector | 获取连接器详情 |
miro_update_connector | 更新连接器样式/标题 |
miro_delete_connector | 删除连接器 |
分组(4)
| 工具 | 描述 |
|---|---|
miro_list_groups | 列出白板上的所有分组 |
miro_get_group | 获取分组详情 |
miro_get_group_items | 列出分组中的项目 |
miro_delete_group | 删除分组或取消分组 |
导出(4)
| 工具 | 描述 |
|---|---|
miro_get_board_picture | 获取白板缩略图 |
miro_create_export_job | 导出为 PDF/SVG(Enterprise) |
miro_get_export_job_status | 查看导出进度 |
miro_get_export_job_results | 获取下载链接 |
表格(2)
| 工具 | 描述 |
|---|---|
miro_list_tables | 列出白板上的表格(data_table_format) |
miro_get_table | 按 ID 获取表格元数据 |
发现(1)
| 工具 | 描述 |
|---|---|
miro_tool_search | 按关键词或类别查找合适的工具;在两种配置中均已注册,且是 essentials 模式下访问完整功能集的唯一入口 |
图表与审计(6)
| 工具 | 描述 |
|---|---|
miro_generate_diagram | 根据 Mermaid 语法创建图表 |
miro_list_diagrams | 列出白板上的原生图表项目 |
miro_get_diagram | 按 ID 获取原生图表元数据 |
miro_get_audit_log | 查询此服务的本地执行日志 |
miro_get_org_audit_logs | 查询 MIRO 的组织级审计日志(Enterprise;auditlogs:read) |
miro_get_desire_paths | 查询 Agent 规范化模式(Agent 发送的内容与自动纠正后的内容) |
图表生成
根据 Mermaid 语法创建流程图和时序图:
流程图:
flowchart TB
A[Start] --> B{Decision}
B -->|Yes| C[Success]
B -->|No| D[Retry]
D --> B
时序图:
sequenceDiagram
Alice->>Bob: Hello Bob!
Bob-->>Alice: Hi Alice!
支持: flowchart/graph、sequenceDiagram、方向(TB/LR/BT/RL)、形状([] 矩形、{} 菱形、(()) 圆形)、带标签的边。
为什么选择此服务?
| 特性 | 此服务 | TypeScript 替代方案 |
|---|---|---|
| 运行时 | 单个二进制文件 | 需要 Node.js |
| 大小 | ~14MB | 含 node_modules 时为 100MB+ |
| 启动时间 | ~50ms | 500ms-2s |
| 内存 | 空闲时约 10MB | 空闲时约 50MB |
| 图表生成 | 内置 Mermaid 解析器 | 基于 AI |
| 速率限制 | 自动退避 | 手动 |
| 缓存 | 2 分钟 TTL | 无 |
| 断路器 | 有 | 无 |
官方服务与社区服务
Miro 于 2025 年 12 月开放了其官方 MCP 服务的 Beta 版,初始约有 10 个工具,此后规模大幅增长。此比较于 18-09-2026 更新,方法是枚举托管服务在 mcp.miro.com 实际注册的 45 个工具,而非统计文档中列出的工具——文档在两个方向上都落后于部署,且功能集变化很快,工具数量随时可能变化:2026 年 08 月 13 日为 65 个,08 月 18 日为 63 个,09 月 09 日为 61 个,09 月 18 日为 45 个。
9 月的减少属于整合,而非功能削减。移除的 16 个工具全部都是被 canvas_* 系列取代的内容读取或写入路径——board_list_items、board_show、context_explore、context_get、全部 3 个 diagram_*、全部 3 个 doc_*、全部 4 个 layout_*——而服务自身的连接说明现在将 Canvas Composer SVG 作为“画布的 Miro 统一交互/表示协议”置于首位。09-09 的一轮调整早有迹象:layout_* 仍在注册,但已明确将自身标记为弃用,并建议改用 canvas。更早的变动:board_trash 和 space_delete 于 17-08-2026 提供,次日便已移除,使工具集不再包含硬删除操作;18-08 时提供的全部 5 个 code_widget_* 工具到 09-09 时已全部移除,而 canvas_search、canvas_load_format_skill 和 content_item_list_roles 则已加入。近期新增工具见其变更日志:新 MCP 工具和代码小组件端点。
| 功能 | 本服务 | 官方 Miro MCP |
|---|---|---|
| 工具 | 110(或 essentials 配置中的 15 个) | 45 |
| 传输方式 | stdio + HTTP | 仅 HTTPS(托管于 mcp.miro.com) |
| 自托管 | 支持 | 不支持 |
| 离线模式 | 支持 | 不支持 |
| 身份验证 | Token + OAuth2 | OAuth 2.1、动态客户端注册(Enterprise 组织需要管理员启用) |
| 画板列表元数据 | id、所有者、团队、创建/修改时间戳 | 名称和 URL |
| 图表生成 | Mermaid,在本地解析;可通过 miro_list_diagrams/miro_get_diagram 读取原生图表项 | 自 18-09-2026 起不再提供(已移除 diagram_create_mermaid、diagram_update_mermaid 和 diagram_get_mermaid_instructions;图表现由画布 SVG 工具处理) |
| AI 上下文 | 不支持 | 自 18-09-2026 起不再提供(已移除 context_explore 和 context_get) |
| 布局 DSL | 由批量创建功能与 miro-workflow 技能组合而成 | 自 18-09-2026 起不再提供——全部四个 layout_* 工具均已移除;这些工具于 09-09 自称已弃用,建议改用画布工具 |
| SVG 画布 | 读取 + 创建 + 更新(data-miro-id 差异;本地几何变换;空间近似)。读取范围限定为单个画框(通过 frame_id 指定),读取结果可直接重新提交给更新工具 | 支持(通过 SVG 读取、创建、更新)。读取范围限定为一个矩形或 widget_ids 列表,且会拒绝包含超过 500 个 widget 的区域;可先使用 canvas_search(在 SVG 中进行模式和正则搜索)缩小范围。读取结果经过重新转义,因此无法原样传入更新工具 |
| 空间和分区 | 不支持 | 支持(10 个工具)——用于在工作区级别对画板分组,而非管理画板内容 |
| 评论 | 支持(创建、列出、获取、回复、解决;v2-experimental) | 支持(创建、列出、回复、解决) |
| 原型 | 不支持 | 支持(读取、创建、上传 URL) |
| 代码 widget | 6 个工具,包括移动位置(v2-experimental) | 自 09-09-2026 起不再提供(18-08-2026 时有 5 个工具) |
| 文档和表格 | 文档格式 + 表格读取 | 仅表格(创建/同步/历史记录);全部三个 doc_* 工具已于 18-09-2026 移除 |
| 图片 | 创建、上传、从文件更新 | 创建、上传 URL、获取数据/URL |
| 批量操作 | 支持 | 部分支持(table_sync_rows 仅支持 upsert) |
| 思维导图 | 支持 | 不支持 |
| 标签和群组 | 支持 | 不支持 |
| 连接器 CRUD | 支持 | 不支持 |
| 项目级 CRUD | 支持(便笺、形状、文本、卡片、图片、文档、嵌入内容、画框) | 使用画布 SVG,不提供针对单个项目的操作动词 |
| 画板共享/成员 | 支持(受允许列表控制) | 支持共享、角色更新,以及用于读取角色的 content_item_list_roles;不支持成员 CRUD |
| 导出 | 支持(PDF/SVG) | 不支持 |
| 当前用户 | 根据画板所有者推导 | 支持(user_who_am_i) |
| MCP 资源 | 3 个 | 不支持 |
| MCP 提示词 | 5 个工作流 | 内置 Agent 技能(浏览、代码审查、图表、文档、表格) |
| 运行时 | 单个 Go 二进制文件 | 托管服务(闭源) |
| 速率限制 | 自适应 | 不适用(托管服务) |
| 缓存 | 内置(TTL 为 2 分钟) | 不适用 |
| 指标 | Prometheus | 不支持 |
| OpenTelemetry | 内置(mcp-otel-go、OTel Registry) | 不支持 |
差异的来源。 公共 REST API v2 中没有空间、分区、画布 SVG 和原型相关端点——我们于 13-08-2026 对照 api-tracking/ 中跟踪的 114 路径 OpenAPI 规范进行了检查;之后又通过探测在线 API 重新核查,因为该规范遗漏了 Miro 确实提供的端点。这些功能依赖 Miro 内部 API。反过来也一样:思维导图、标签、群组、连接器和导出都是公共 REST API 提供的功能,但官方服务尚未封装这些功能。
Board 上下文过去只是设计上的差异,而非功能缺失;截至 18-09-2026,它两者都不是了:context_get 曾返回服务端生成的 Board AI 摘要,现已与 context_explore 一同移除。miro_get_board_content 会返回结构化内容本身——按类型分类的项目、Frame 层级、连接线和标签——并让当前会话中的模型自行生成摘要,无需再进行一次推理。
**何时使用官方服务:**你希望通过插件市场实现零配置,使用 OAuth 2.1 企业级安全功能、空间和分区、评论,或 SVG/原型工作流。Board 上下文提取已不再是使用官方服务的理由之一——这些工具已于 18-09-2026 移除。
**何时使用此服务:**你需要完整的 REST 覆盖范围(110 个工具,或可调整的 15 工具 essentials 模式)、离线/可自托管运行、更丰富的 Board 列表元数据、批量操作、思维导图、标签、连接线或导出功能。
两者可以共存——在配置中使用不同的 MCP 服务名称。
性能
- **缓存:**2 分钟 TTL,减少 API 调用
- **速率限制:**根据 Miro 的速率限制响应头进行调整
- **熔断器:**隔离故障端点
- **并行批量操作:**并发创建项目
- **令牌验证:**启动时快速失败,并提供清晰的错误信息
- **瞬时错误重试:**自动重试 502/503/504,并采用退避策略
- **OpenTelemetry:**通过 mcp-otel-go (OTel Registry) 内置跟踪和指标
请参阅 PERFORMANCE.md,了解优化技巧和基准测试。
HTTP 模式端点
使用 -http :8080 运行时:
| 端点 | 描述 |
|---|---|
/ | MCP 协议(可流式 HTTP) |
/health | 健康检查(JSON) |
/health?deep=true | 深度健康检查(测试 Miro API) |
/metrics | Prometheus 指标 |
/.well-known/mcp-server-card | 通过 mcp-servercard-go 提供的 SEP-2127 Server Card(JSON) |
健康检查响应:
{
"status": "healthy",
"server": "miro-mcp-server",
"version": "1.21.0",
"uptime": "2h30m",
"components": {
"config": {"status": "healthy"},
"miro_api": {"status": "healthy", "latency": "145ms"}
}
}
开发
# Build
make build
# Run tests
make test
# Run with coverage
make test-cover
# Lint
make lint
# Build for all platforms
make build-all
# See all targets
make help
Docker 部署
快速开始:
# Using Docker Compose
export MIRO_ACCESS_TOKEN=your-token
docker compose up -d
# Or build and run manually
docker build -t miro-mcp-server .
docker run -e MIRO_ACCESS_TOKEN=xxx -p 8080:8080 miro-mcp-server
docker-compose.yml 功能:
- 已配置健康检查
- 资源限制模板
- 环境变量透传
使用 MCP Inspector 调试
使用 MCP Inspector 交互式测试和调试服务:
# Install and run (no setup required)
npx @modelcontextprotocol/inspector miro-mcp-server
# With environment variables
MIRO_ACCESS_TOKEN=your-token npx @modelcontextprotocol/inspector miro-mcp-server
打开 http://localhost:6274 以:
- 浏览全部 110 个工具及其架构
- 交互式测试工具调用
- 查看原始 JSON-RPC 消息
- 调试参数验证
请参阅 SETUP.md,了解更多调试选项。
支持的平台
| 平台 | 二进制文件 |
|---|---|
| macOS(Apple Silicon) | miro-mcp-server-darwin-arm64 |
| macOS(Intel) | miro-mcp-server-darwin-amd64 |
| Linux(x64) | miro-mcp-server-linux-amd64 |
| Linux(ARM64) | miro-mcp-server-linux-arm64 |
| Windows(x64) | miro-mcp-server-windows-amd64.exe |
| Docker | ghcr.io/olgasafonova/miro-mcp-server |
支持的 AI 工具
| 工具 | 状态 |
|---|---|
| Claude Code | 已测试 |
| Claude Desktop | 已测试 |
| Cursor | 已测试 |
| VS Code + GitHub Copilot | 支持 |
| Windsurf | 支持 |
| Replit | 支持 |
| 任意兼容 MCP 的客户端 | 支持 |
请参阅 SETUP.md,了解配置指南。
账户兼容性
| 账户类型 | 支持情况 |
|---|---|
| Free | 106 个工具 |
| Team | 106 个工具 |
| Business | 106 个工具 |
| Enterprise | 全部 110 个工具 |
有 4 个工具需要 Enterprise 套餐,调用失败时会提示这一点:3 个 PDF/SVG 导出工具(miro_create_export_job、miro_get_export_job_status、miro_get_export_job_results)以及 miro_get_org_audit_logs,后者还需要 auditlogs:read 权限范围。miro_get_board_picture 在所有套餐中均可使用。其余工具在任何套餐中都可使用。
6 个代码小组件工具和 5 个评论工具使用 Miro 的 v2-experimental API;可用性可能因账户或套餐而异,相关端点也可能在正式发布前发生变化。
喜欢这个项目?
如果这个服务为你节省了时间,不妨在 GitHub 上点个 ⭐。这有助于其他人发现这个项目。
更多 MCP 服务
欢迎查看我的其他 MCP 服务:
| 服务 | 描述 | Stars |
|---|---|---|
| gleif-mcp-server | 访问 GLEIF LEI 数据库。查询公司身份并验证法人实体。 | |
| mediawiki-mcp-server | 将 AI 连接到任意 MediaWiki wiki。搜索、阅读和编辑 wiki 内容。 | |
| nordic-registry-mcp-server | 访问北欧商业登记库。查询挪威、丹麦、芬兰和瑞典的公司。 | |
| productplan-mcp-server | 与你的 ProductPlan 路线图交互。查询 OKR、创意和发布计划。 | |
| tilbudstrolden-mcp | 搜寻北欧杂货优惠。查找优惠、规划餐食并追踪开支。 | |
| mcp-servercard-go | 用于 SEP-2127 Server Cards 的 Go 库。支持 MCP 服务的预连接发现。 |
许可证
MIT
为 Miro 和 MCP 社区打造。
Miro 是 Miro Inc. 的商标。本项目与 Miro 无关,也未获得 Miro 的认可。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。