Miro MCP server: setup, tools and daily limits
Miro's official MCP server at mcp.miro.com: setup in Claude, Claude Code, ChatGPT, Cursor and Codex, its 46 tools, daily limits, the one-team rule and fixes.
Updated
Short answer
Miro runs an official MCP server (a connector that lets an AI agent use your Miro boards) at https://mcp.miro.com/, on every Miro plan, Free included. Add it to Claude, ChatGPT, Codex, Cursor, VS Code or any MCP client, sign in to Miro and pick the team your boards are in. The agent can then search and read boards, draw on them, comment, and create boards, spaces and sections. In Claude Code, install Miro's plugin:
claude plugin install miro@claude-plugins-official
Then run /mcp to sign in. Two rules shape everything else: Miro connects each person to one team, in one client, at a time, and every plan has a daily cap on tool calls. Add Miro through Upsy if several agents need your boards, or some of them should only read.
Miro's MCP server
| Address | https://mcp.miro.com/ (Streamable HTTP, no SSE) |
| Sign-in | OAuth with dynamic client registration. There's no access token option |
| Reach | Boards in the one team you pick at sign-in, within your access to each board |
| Plans | All, at no extra charge. On by default except on Enterprise |
| Limits | Tool calls per day: 100 on Free, 500 on Starter, 2,000 on Business, 10,000 on Enterprise |
| Admin | Enterprise admins turn it on, and can limit it to some teams, user groups and clients |
Miro's MCP docs and help article have the details. Miro launched the server as a public beta in December 2025; its current docs no longer call it beta.
One team at a time
Miro calls it "Last One Wins". Each person is connected to one Miro team at a time, across every client. Its troubleshooting page says if you sign in from three clients, "only the latest client connection will work". Sign in from Cursor after Claude, and Claude's connection drops.
To switch teams, open a board in the team you want, then sign in again from your client. Enterprise orgs can widen what one connection reaches with Miro's app data access controls.
Daily limits
Every tool call counts, from every client on your login. Limits reset at 00:00 UTC (Miro's limits). Building a big board takes many calls, and reading a whole board with hundreds of items is slow, so give the agent a frame link (a board URL with ?moveToWidget=) when you can. Only Enterprise admins can see usage; everyone else finds out from the error. Enterprise can buy more.
Connect it to your client
Use one install method per client. A plugin plus a manual entry gives duplicate tools and two separate sign-ins.
Claude. Open Customize › Connectors, select Discover, search for Miro and click Connect. See how to connect Miro to Claude.
Claude Code. Install the plugin above, or add the server alone with claude mcp add --transport http miro https://mcp.miro.com/, then /mcp to sign in. The plugin also brings three skills for explaining code, reviewing changes and writing specs on a board.
ChatGPT and Codex. Install Miro's plugin from Plugins, then click Connect. In the Codex CLI, codex mcp add miro --url https://mcp.miro.com/, then codex mcp login miro. See how to connect Miro to ChatGPT.
Cursor. Install Miro from Cursor's marketplace, or add {"mcpServers":{"miro":{"url":"https://mcp.miro.com/"}}} to ~/.cursor/mcp.json and click Connect.
VS Code and GitHub Copilot. Open Miro's server in GitHub's MCP registry and click Install in VS Code.
Gemini CLI. Run gemini extensions install https://github.com/miroapp/miro-ai.
Others. Windsurf, Kiro, Lovable, Replit, Amazon Q and Microsoft 365 Copilot are in Miro's coding tools guide, most with the same address.
Its tools
Miro documents 46 tools (tool list):
| Area | Read | Change |
|---|---|---|
| Boards | content_search, board_search_boards, board_show, board_get_space |
board_create, board_create_format, board_move, board_move_to_team, board_restore, board_update_metadata |
| Canvas | canvas_read_as_svg, canvas_search, canvas_get_canvas_composer_skill, canvas_load_format_skill, canvas_get_html_upload_url |
canvas_create_from_svg, canvas_update_from_svg |
| Sharing | content_item_list_roles |
board_share, board_role_update, space_share, space_role_update |
| Spaces, sections and posts | space_list, space_list_boards, space_list_children, blog_post_list |
space_create, space_update_metadata, section_create, section_update_metadata, section_delete, blog_post_create, blog_post_update |
| Comments | comment_list_comments |
comment_create, comment_reply, comment_resolve |
| Images | image_get_data, image_get_url, image_get_upload_url |
image_create |
| Other | table_get_latest_update_history, user_who_am_i, user_search_organization_users, get_brand_context |
import-claude-design-from-url |
- It can remove things.
canvas_update_from_svgcreates, changes and deletes items on a board, andsection_deletedeletes a section. Miro says removals ask for consent and board history can bring items back. No tool deletes a board or a space. - Drawing goes through SVG. The canvas tools read a board or frame as SVG and write SVG back as stickies, shapes, text, frames and connectors.
- Tools change often. On November 5, 2026, Miro removed its table and prototype tools and replaced
board_search_boardswithcontent_search. In September it removed its older diagram, doc and layout tools. If old tool calls fail, disconnect and reconnect; refreshing the list often isn't enough.
Where Miro's server stops
- One connection per person. Two agents on your Miro login, in different clients, keep knocking each other out.
- One daily allowance for every client on that login.
- No read-only mode of its own. Keeping an agent to reads depends on your client's tool settings.
- No token for servers. Sign-in is OAuth only, and its callback goes to
localhost, so headless machines need an SSH tunnel.
For one client on one team, Miro's server and its install links are enough.
Miro MCP servers compared
| Miro's server | Upsy | olgasafonova/miro-mcp-server | k-jarzyna/mcp-miro | |
|---|---|---|---|---|
| Who runs it | Miro | Upsy, on top of Miro's server | You, on your machine | You, on your machine |
| Sign-in | OAuth | OAuth to Upsy; Upsy signs in to Miro | A Miro access token | A Miro access token |
| Tools | 46 | Miro's, listed on request | About 110, or a 14-tool set | 97, including deleting boards |
| Clients per login | One at a time | Every agent shares Upsy's one connection | Any | Any |
| Limits | Your client's settings | Read-only or picked tools, per agent | The token's scopes | The token's scopes |
Community servers
- olgasafonova/miro-mcp-server is the most active open-source one, MIT licensed. It's a Go binary that calls Miro's REST API with your token.
- k-jarzyna/mcp-miro wraps Miro's REST API in 97 tools, Apache-2.0, with light maintenance.
- evalstate/mcp-miro was an early one; it hasn't changed since December 2024.
Token-based servers aren't bound by the one-client rule, but the token can do anything your Miro app's scopes allow.
Upsy's Miro MCP server
Upsy connects to Miro's server with your Miro sign-in, so your team and board permissions still apply. It's the same address as Upsy's other apps, https://upsy.ai/connect.
What it adds:
- One Miro connection for every agent. Upsy is the only Miro client on your login, so Claude, Cursor, ChatGPT and Grok share it instead of replacing each other.
- A level per agent. Read-only for one agent and full access for another, enforced by Upsy.
- No removals. With Pick actions, leave out
canvas_update_from_svgandsection_delete, and keep the rest. Note that the update tool is also how agents edit items. - Miro next to your other apps. One server holds Miro, Gmail, Linear, Slack and more, so an agent can turn a board into Linear issues or a meeting thread into a board.
- Up to five Miro logins, each with its own team and access.
- History and alerts: every Miro tool an agent runs, listed under that agent.
All agents still share your plan's daily allowance.
Connect Miro to Upsy
- Go to upsy.ai and click Set up Upsy.
- Open Apps, click Connect an app and pick Miro. On Miro's page, allow access and pick the team with your boards.
- On the Assistants page, click Add assistant and choose your client under Which assistant? for its exact steps.
- Disconnect Miro's own connector or plugin in clients that use Upsy, so the two connections don't replace each other.
Add the server to your client
Signing in opens an Upsy page: tick Miro, keep full access or pick Read-only, and click Allow. To leave out removals, use Pick actions on the agent's page afterwards.
- Claude Code:
claude mcp add --transport http --scope user upsy https://upsy.ai/connect, then/mcpto sign in. - Cursor: add
{"mcpServers":{"upsy":{"url":"https://upsy.ai/connect"}}}to~/.cursor/mcp.json, then click Connect next to upsy. - Codex:
codex mcp add upsy --url https://upsy.ai/connect, thencodex mcp login upsy. - Claude and ChatGPT: add
https://upsy.ai/connectas a custom connector (Claude, ChatGPT). - Grok and Muse: paste the setup prompt Upsy shows into a chat and approve the sign-in.
Read-only covers the tools Miro marks as reads, such as searching and reading boards. Upsy treats a tool with "comment", "update" or "upload" in its name as a change, so reading comments or table history needs full access, or those tools picked.
Server details, such as OAuth endpoints and token lifetimes, are in the Gmail MCP server guide; they're the same for Miro.
Check that it works
Using Upsy, find my Miro boards with "retro" in the name and summarize the most recent one.
The agent should list matching boards, open one and summarize it. The calls show in Upsy's History under that agent.
Prompts to try
- "Summarize the planning board at [board URL]. List open decisions and who owns them."
- "Read the Ideas frame at [frame URL] and turn each sticky into a Linear issue in the Growth team."
- "Draw a sequence diagram of our login flow from this code on a new board called Auth review."
- "Make a kickoff board for Project Atlas with frames for goals, risks, timeline and a parking lot."
- "List the open comments on [board URL] and resolve the ones that already have an answer."
- "Find yesterday's workshop notes in Gmail and lay them out as stickies grouped by theme on [board URL]."
Troubleshooting
"This board belongs to a different team than your current authorization"
The board is in a team you didn't pick at sign-in. Open a board in that team, then sign in to Miro again from your client. Through Upsy, reconnect Miro on the Apps page and pick the right team.
It worked yesterday and now says the connection was lost
You, or another client, signed in to Miro since, and Miro kept only the latest connection. Sign in again from the client you want, and remove Miro from clients you don't use.
"Board not found" or a permissions error
The board is in another team, the prompt has no full board URL, or you have less than View access to it. Check all three.
"Invalid Response Error" or "Invalid or expired consent token"
Clear your miro.com cookies, then sign in again. The consent-token error is tracked on Miro's GitHub.
"Client Not Registered"
Your client needs a new registration. In VS Code, run Authentication: Remove Dynamic Authentication Providers; in Cursor, Cursor: Clear all MCP Tokens. Then connect again.
Every Miro tool shows up twice
You installed Miro twice in one client, such as a plugin and a manual entry. Keep one.
Calls stop for the rest of the day
You've used your plan's daily tool calls. Every client on your Miro login shares them. Wait for 00:00 UTC, or upgrade.
Miro tools are missing on Enterprise
Your admin has to turn MCP on under Admin settings › Apps and integrations › MCP, include your team and user group, and allow your client. For Upsy, they add it as a custom client.
"The user hasn't allowed you to use Miro's …"
That's Upsy refusing a tool outside the agent's level, such as canvas_create_from_svg on Read-only. Change Miro's level on the agent's page in Upsy.
Security and privacy
- Every connection acts as you, in one team, within your access to each board.
- Removals are easy to miss.
canvas_update_from_svgboth edits and deletes items, so check your client's approval prompts, and use board history to recover. - Prompt injection. A sticky or comment on a shared board can carry instructions aimed at your agent. Give agents that read boards from outside your team read-only access.
- Enterprise controls: admins choose teams, user groups and clients, and an upcoming Miro guardrail blocks MCP on boards with chosen classification labels.
- Through Upsy, agents never get your Miro token: they call Upsy, and Upsy calls Miro. Upsy emails you when one agent reads 100 or more items in 10 minutes, and when a new agent or app connects. Its delete alert goes by tool names, so items removed through
canvas_update_from_svgdon't count toward it.
FAQ
Is there an official Miro MCP server?
Yes. Miro hosts it at https://mcp.miro.com/, for all plans, Free included.
Is the Miro MCP server free?
There's no extra charge. Each plan gets a number of tool calls a day: 100 on Free, 500 on Starter, 2,000 on Business and 10,000 on Enterprise.
How many tools does the Miro MCP server have?
Miro's tool list documents 46, covering boards, the canvas, sharing, spaces, sections, comments and images. It changes often.
Can the Miro MCP server delete things?
Yes. canvas_update_from_svg can remove items from a board, and section_delete deletes sections. No tool deletes a whole board or space.
Can I use a Miro access token instead of OAuth?
Not with Miro's server. Community servers like olgasafonova/miro-mcp-server take a token.
Can I connect two Miro teams?
Not at once with one Miro login, in any client. Signing in to a second team replaces the first connection.
Does Miro MCP work in Claude Code?
Yes. Install Miro's plugin with claude plugin install miro@claude-plugins-official, or add the server with claude mcp add, then sign in under /mcp.
Related guides
- How to connect Miro to ChatGPTInstall Miro's official plugin in ChatGPT, or add Miro through Upsy to keep ChatGPT read-only, log its board changes and share one Miro login across assistants.
- How to connect Miro to ClaudeUse Miro's official connector in Claude, or add Miro through Upsy for a Read-only switch, a history of board changes and one Miro login for every assistant.