# How to connect Miro to Claude

> Use 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.

Updated 2026-10-17 · https://upsy.ai/guides/claude/miro

## Short answer

Miro publishes its own connector in Claude's directory. Open **Customize › Connectors**, select **Discover**, search for Miro, click **Connect to Claude** and pick the Miro team your boards are in. It takes two minutes and works on every Miro plan, Free included. If Claude is the only assistant you use with Miro, take that route. Add Miro through Upsy instead if you also use Miro from ChatGPT, Cursor or another assistant, or you want Claude limited to reading and a list of everything it did on your boards.

## The built-in way

Claude's [Miro connector](https://claude.com/connectors/miro) is published by Miro and has Anthropic's Verified label. It was added in February 2026 and talks to Miro's MCP server at `https://mcp.miro.com/`, the same server Upsy uses. MCP is the standard that lets an assistant use another app's tools.

From [Anthropic's connector docs](https://claude.com/docs/connectors/getting-started):

- Once connected, it works in claude.ai, the desktop and mobile apps, Cowork, and in Claude Code when you sign in with your Claude account.
- On Team and Enterprise, an Owner adds it for the organization, and each member then signs in to Miro. On Team, members can click **Request** to ask for it.
- Each connector has **Tool permissions**: **Always allow**, **Needs approval** or **Blocked**, per tool or per group. You can already stop Claude from changing boards this way.

[Miro's docs](https://developers.miro.com/docs/miro-mcp) list what its server does: search and summarize boards, build new ones with frames, sticky notes, docs and tables, draw diagrams, and read, reply to and resolve comments.

Where it stops:

- **One Miro connection per person, across all apps.** Miro calls it the "Last One Wins" rule. Each user is connected to one team at a time, and its [troubleshooting page](https://developers.miro.com/docs/miro-mcp-server-faq-and-troubleshooting) says that if you sign in from three clients, only the latest one works. Connect Miro in Claude, then in ChatGPT or Cursor, and Claude's connection drops.
- **No record across assistants.** Claude shows its tool calls in each chat, but nothing collects what Claude and your other assistants did in Miro in one place.

### Where Upsy fits

- **One Miro connection for every assistant.** Upsy is the only Miro client, so Claude, ChatGPT, Grok and Cursor share one sign-in instead of knocking each other out.
- **Read-only in one switch,** or just the Miro tools you pick, set per assistant.
- **History:** every Miro tool Claude runs is listed under Claude in Upsy.
- **Other apps in the same connector.** A board summary can become a Linear issue or a Gmail draft in one request. On Claude's Free plan, which allows one custom connector, that counts.

## What you need

- **Miro on any plan.** On Free, Starter, Business and Education plans, Miro's MCP server is on by default ([Miro's user guide](https://help.miro.com/hc/en-us/articles/31625301583890-How-to-enable-Miro-s-MCP-Server-user-guide)).
- **On Miro Enterprise, an admin.** They turn MCP on under **Admin settings › Apps and integrations › MCP**, and can limit it to some teams, user groups and MCP clients ([admin guide](https://help.miro.com/hc/en-us/articles/31625761037202-Miro-MCP-Server-admin-guide)). If they keep a list of allowed clients, they add Upsy to it as a custom client.
- **View access** or more to each board Claude should read.
- **Claude on any plan.** Free allows one custom connector, and Upsy uses it. On Team and Enterprise, an Owner adds Upsy under **Organization settings › Connectors** first.
- **A free Upsy account.**

## Connect Miro to Claude through Upsy

1. Sign up at [upsy.ai](https://upsy.ai) with **Set up Upsy**.
2. Open **Apps**, click **Connect an app** and pick **Miro**. Miro's sign-in opens. Allow access, then pick the team that holds your boards. Miro only lets Upsy reach boards in that team.
3. Click **Add assistant**, pick Claude under **Which assistant?**, and copy the address:

   ```
   https://upsy.ai/connect
   ```

4. In Claude, open [Customize › Connectors](https://claude.ai/customize/connectors), click **Add**, hover over **Custom** and choose **Web** (some accounts still show an **Add custom connector** button). Name it Upsy, paste the address and click **Continue** twice, keeping the detected sign-in settings. Then click **Add**.
5. Click **Connect** next to Upsy. On Upsy's page, sign in, tick Miro, set it to **Read-only** or **All**, and click **Allow**.
6. Copy the **Help Claude remember** message Upsy shows and paste it into a chat, so Claude reaches for Upsy in new chats.
7. If Claude's own Miro connector is connected too, open it under **Customize › Connectors** and click **Disconnect**. Two Miro connections for one person keep replacing each other.

Already use Upsy in Claude? Step 2 is enough. A newly connected app starts at Full access for every assistant you've added, so lower Miro's level on Claude's page in Upsy if you want.

One more setting is worth a minute. Under **Customize › Connectors**, open Upsy's **Tool permissions** and set `app_call` to **Needs approval**. Every Miro change goes through that tool, so Claude asks before it touches a board. Leave `app_read` on **Always allow** so reads don't need a click.

The full custom connector flow, including Team plans, is in [how to add a custom connector to Claude](/guides/claude/custom-connector).

## Check that it works

```
Using Upsy, find my Miro boards with "retro" in the name and summarize the most recent one.
```

Claude should list matching boards, open one and summarize it. In Upsy's **History**, you'll see calls such as `miro_board_search_boards` under Claude. For a specific board, paste its full URL (`https://miro.com/app/board/…`), as Miro recommends.

## What Claude can do with Miro

Upsy passes on Miro's own tools. Claude lists them with `app_tools`, runs reading tools with `app_read` and the rest with `app_call`. Miro's [tool list](https://developers.miro.com/docs/miro-mcp-tools) changes often; Upsy shows whatever Miro's server offers today.

**With Read-only**, Claude can:

- Search the boards you can open in that team.
- Read a board, or one frame of it, with `canvas_read_as_svg` and `canvas_search`.
- Read tables, prototype screens and images.

**With Full access**, it can also:

- Create boards.
- Add and change items: sticky notes, shapes, frames, docs, tables, diagrams (Mermaid flowcharts, ERDs, sequence diagrams), code blocks and workshop widgets such as dot voting.
- Read comments, reply to them and resolve them.
- Upload images and build prototypes from HTML screens.

**With Pick actions**, you choose tools one by one. Two Miro quirks shape what you pick:

- `canvas_update_from_svg` creates, updates and deletes items. Allowing edits on a board also allows removing things from it.
- Reading comments isn't part of Read-only. Upsy treats any tool with "comment" in its name as a change, and that includes `comment_list_comments`. To let Claude read comments without replying, pick that one tool.

A tool Miro adds later stays off under Pick actions until you choose it.

## Prompts to try

- "Summarize the Q4 planning board at [board URL]. List open decisions and who owns them."
- "Read the comments on [board URL] and group them into themes."
- "Draw a sequence diagram of our login flow from this code, on a new board called Auth review."
- "Build a retro board with Went well, To improve and Actions frames, and add dot voting."
- "Turn the stickies in the Ideas frame of [board URL] into Linear issues in the Growth team."
- "Find the email from Priya about onboarding and lay out her steps as a journey map on [board URL]."

The last two need Linear and Gmail connected in Upsy too. See [connect Linear to Claude](/guides/claude/linear).

## Troubleshooting

### "This board belongs to a different team than your current authorization"

That's Miro's error when the board is in a team you didn't pick at sign-in. Reconnect Miro on Upsy's **Apps** page while choosing the right team. The same rule means a Miro sign-in in another app, such as Claude's own connector or Cursor, can replace Upsy's. If Claude says Miro access expired, reconnect Miro in Upsy and disconnect the other one.

### Miro's sign-in ends in "Invalid Response Error" or "Invalid or expired consent token"

Miro's fix is to clear your miro.com cookies, then sign in again. The consent-token error is [tracked on Miro's GitHub](https://github.com/miroapp/miro-ai/issues/50).

### Claude can't see Miro tools, on Miro Enterprise

Your admin has to turn MCP on, include your team (and user group, if they set one), and allow the client. Ask them to check **Apps and integrations › MCP**, and to add Upsy if they allow only specific clients.

### Claude uses its own Miro connector instead of Upsy

With both connected, Claude may pick either. Turn Miro off for the chat under **+ › Connectors**, or better, disconnect it, since only one Miro connection works at a time anyway.

### "The user hasn't allowed you to use Miro's …"

That's Upsy refusing a tool Claude's level doesn't include, such as `canvas_create_from_svg` on Read-only. Change Miro's level on Claude's page in Upsy.

### Calls stop working for the rest of the day

Miro caps MCP tool calls per day: 100 on Free, 500 on Starter, 2,000 on Business and 10,000 on Enterprise, reset at 00:00 UTC ([Miro's limits](https://developers.miro.com/docs/mcp-usage-and-daily-limits)). Building a big board takes many calls. Every assistant using your Miro login counts toward the same allowance.

## Security and privacy

- **Miro's own sign-in.** Upsy connects to Miro's MCP server with OAuth. The token stays in Upsy; Claude calls Upsy, and Upsy calls Miro.
- **Your Miro permissions, no more.** Miro checks your current access on every call, and Upsy narrows it with the level you set.
- **History:** each Miro tool Claude runs is listed under Claude, by tool name.
- **Alerts:** Upsy emails you when one assistant reads 100 or more items in 10 minutes, and board reads count. Its delete alert goes by tool names, so items removed through `canvas_update_from_svg` don't trigger it. Use Read-only for boards you can't afford to lose.
- **Turning it off:** set Miro to No access for Claude, click **Remove Claude** on its page, or disconnect Miro in **Apps**.

## FAQ

### Does Claude have a Miro connector?

Yes. Miro's official connector is in Claude's directory, with Anthropic's Verified label. It uses Miro's MCP server, the same one Upsy connects to.

### Can Claude create Miro diagrams?

Yes, with write access. Miro's canvas tools draw flowcharts, ERDs and sequence diagrams as native Miro diagrams, from a prompt, a spec or code.

### Can I make Claude read-only in Miro?

Yes, two ways. In Claude, block the write tools under the connector's **Tool permissions**. In Upsy, set Miro to Read-only for Claude, and Upsy refuses anything that changes a board.

### Can I connect two Miro teams to Claude?

Not with one Miro login, in any app. Miro connects each person to one team at a time, and switching teams replaces the old connection. Miro's [FAQ](https://developers.miro.com/docs/miro-mcp-server-frequently-asked-questions) says Enterprise orgs can use app data access controls to work across several teams.

### Does it work in Claude Code?

Yes. Connectors you add on claude.ai show up in Claude Code when you sign in with your Claude account, Upsy included. Miro also has its own Claude Code plugin. See [Claude Code](/guides/claude-code) for adding Upsy from the terminal.

---

Upsy connects personal AI assistants (Muse, Grok, ChatGPT, Claude, Cursor, Claude Code, Codex, Devin) to your Gmail, Google Calendar, Google Drive, Slack, Notion and other apps through one MCP server, with a shared memory, files and a cloud browser signed in to your sites. You choose what each assistant may do in each app, see everything it did, and turn it off in one click. Upsy is free. To add Upsy to an assistant, add a remote MCP server (Streamable HTTP) named Upsy at https://upsy.ai/connect. It signs in with OAuth; there is no API key.
