# Miro — how to use (mcp.ai)

Miro is a collaborative online whiteboard enabling teams to brainstorm ideas, design wireframes, plan workflows, and manage projects visually

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_miro?ms=1781542140000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `miro_create_board`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/miro`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/miro/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/miro/create/board` — Tool to create a new board. use when you need to set up a board with a specific name, description, and policies. example: "create a new board named project plan".
  - body: { name: string, policy?: object, teamId?: string, projectId?: string, description?: string }
- `POST https://api.mcp.ai/api/miro/delete/app/card/item` — Tool to delete an app card item from a board. use when you need to remove an app card item created by your app after it is no longer needed.
  - body: { item_id: string, board_id: string }
- `POST https://api.mcp.ai/api/miro/delete/document/item` — Tool to delete a document item from a board. use when you need to remove a document item (e.g., pdf or image) that is no longer relevant. example: "delete the document item with id 'item456' from boar
  - body: { item_id: string, board_id: string }
- `POST https://api.mcp.ai/api/miro/delete/item` — Tool to delete a specific item from a board. use when you need to remove an item (e.g., shape, sticky note) after confirming its board and item ids.
  - body: { item_id: string, board_id: string }
- `POST https://api.mcp.ai/api/miro/get/app/card/item` — Tool to retrieve a specific app card item by its id. use when you need the details of an existing app card item.
  - body: { item_id: string, board_id: string }
- `POST https://api.mcp.ai/api/miro/get/board` — Tool to retrieve details of a specific board. use when you have a board id and need to fetch its metadata.
  - body: { board_id: string }
- `POST https://api.mcp.ai/api/miro/get/board/members` — Tool to retrieve a list of members for a board. use when you need to list all users with access to a board after confirming its id.
  - body: { limit?: integer, cursor?: string, board_id: string }
- `POST https://api.mcp.ai/api/miro/get/boards` — Tool to retrieve accessible boards with optional filters. use when you need to list or search boards by team, project, owner, or keywords.
  - body: { sort?: string, limit?: integer, owner?: string, query?: string, offset?: integer, team_id?: string, project_id?: string }
- `POST https://api.mcp.ai/api/miro/get/connectors` — Tool to retrieve a list of connectors on a board. use after confirming the board id and when you need to page through connector items.
  - body: { limit?: integer, cursor?: string, board_id: string }
- `POST https://api.mcp.ai/api/miro/get/tag` — Tool to retrieve details of a specific tag on a board. use when you have a board id and tag id and need its metadata.
  - body: { tag_id: string, board_id: string }
- `POST https://api.mcp.ai/api/miro/list/organizations` — Tool to retrieve list of organizations accessible to the user. use when you need to view all available organizations.
- `POST https://api.mcp.ai/api/miro/miro/create/app/card/item` — Tool to add an app card item to a board. use when you need to push a rich preview card with custom fields into a miro board (e.g., after assembling card data).
  - body: { data: object, style?: object, parent?: object, board_id: string, geometry?: object, position?: object }
- `POST https://api.mcp.ai/api/miro/update/app/card/item` — Tool to update an app card item on a board. use when you need to modify properties of an existing app card item. include only fields to change.
  - body: { data?: object, style?: object, parent?: object, item_id: string, board_id: string, geometry?: object, position?: object }
- `POST https://api.mcp.ai/api/miro/update/board` — Tool to update properties of a specific board. use when you have a board id and need to modify its name, description, or permissions policy. use after confirming the board exists.
  - body: { name?: string, policy?: object, teamId?: string, board_id: string, projectId?: string, description?: string }

## More
- Page: https://mcp.ai/miro
- Agent spec (llms.txt): https://mcp.ai/miro/llms.txt
- Postman collection: https://mcp.ai/miro/postman.json
