Miro MCP Server — Hosted Api Connectors Integration
MCP Server language Hosted language PublicCreate and manage Miro boards, add sticky notes, cards, shapes and connectors — visual collaboration for AI agents.
Use with AI AssistantsMCP
Connect Claude, Cursor, or any MCP-compatible client — then call tools directly
① Add This MCP Server
Paste into your AI client config — then all its tools are available instantly.
{
"mcpServers": {
"miro": {
"url": "https://mcp.aerostack.dev/s/aerostack/mcp-miro",
"headers": {
"Authorization": "Bearer YOUR_AEROSTACK_TOKEN"
}
}
}
}Replace YOUR_AEROSTACK_TOKEN with your API token from the dashboard.
② Call a Tool
Ask your AI assistant to call a specific tool, or send raw JSON-RPC:
Natural Language Prompt
“Use the list_boards tool to list miro boards accessible to the token. supports query search, teamid filter, limit (max 50), and cursor-based pagination”
Using a Workspace?
Add this MCP to your Workspace — your team shares one token, secrets are stored securely, and every AI agent in the workspace can call it without per-user setup.
description Overview
mcp-miro — Miro MCP Server
Create and manage Miro boards, add sticky notes, cards, shapes, frames, and connectors — visual collaboration for AI agents.
Miro is the leading visual collaboration platform used by product, design, and engineering teams worldwide. This MCP server gives AI agents the ability to create and manage boards, add all major item types (cards, sticky notes, text, shapes, frames, connectors), manage board members, and inspect org/team context.
Live endpoint: https://mcp.aerostack.dev/s/aerostack/mcp-miro
What You Can Do
- Create a full Miro board from a specification in natural language — frames, cards, sticky notes, shapes, and connectors
- Populate retrospective boards with sticky notes automatically from structured input
- Build org chart or architecture diagrams using shapes and connectors
- List and search boards, manage member access, and retrieve token context
- Update or delete existing items to maintain boards programmatically
Available Tools
| Tool | Description |
|---|---|
| list_boards | List boards with optional search query, teamId filter, limit (max 50), and cursor pagination |
| get_board | Get board details — name, description, team, viewLink, created/modified timestamps |
| create_board | Create a new board with name, description, teamId, and sharingPolicy |
| update_board | Update board name, description, or sharing policy |
| delete_board | Permanently delete a board |
| list_items | List items on a board with optional type filter and cursor pagination |
| create_card | Create a card with title, description, fill color, and position |
| create_sticky_note | Create a sticky note with content, fill color, shape (square/rectangle), and position |
| create_text | Create a text item with content, font size, alignment, color, and position |
| create_shape | Create a shape (rectangle, circle, triangle, etc.) with optional text content and styling |
| get_item | Get a specific item by ID |
| update_item | Update item content, style, or position — specify item_type for correct routing |
| create_frame | Create a frame container with title, fill color, position, and dimensions |
| list_frames | List all frames on a board |
| create_connector | Create a connector (arrow/line) between two items with optional stroke styling |
| delete_item | Delete an item from a board |
| list_board_members | List board members with roles — supports cursor pagination |
| get_board_member | Get details for a specific board member |
| invite_board_member | Invite users to a board by email with viewer/commenter/editor role |
| list_teams | List all accessible teams in the organisation |
| get_team | Get team details by ID |
| get_token_context | Get current token info — user ID, scopes, team context |
| _ping | Confirm auth by listing boards — returns board list to verify token |
Configuration
| Variable | Required | Description | How to Get |
|---|---|---|---|
| MIRO_ACCESS_TOKEN | Yes | Miro OAuth access token | Create an app at developers.miro.com, add OAuth scopes, and authorize with your Miro account. Required scopes: boards:read, boards:write, identity:read. |
Quick Start
Add to Aerostack Workspace
- Go to aerostack.dev → Your Project → MCPs
- Search for "Miro" and click Add to Workspace
- Add your
MIRO_ACCESS_TOKENunder Project → Secrets
Once added, every AI agent in your workspace can create and manage Miro boards automatically.
Example Prompts
"Create a Miro board for our Q2 sprint planning and add a frame for each sprint week"
"Add a sticky note to board uXjVOaabbcc= saying 'Ship the feature by Friday'"
"Create a flow diagram with three shapes connected by arrows on my Architecture board"
"List all boards in the Engineering team"
Direct API Call
curl -X POST https://mcp.aerostack.dev/s/aerostack/mcp-miro \
-H 'Content-Type: application/json' \
-H 'X-Mcp-Secret-MIRO-ACCESS-TOKEN: your-token' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"create_sticky_note","arguments":{"board_id":"uXjVOaabbcc=","content":"Ship it!","style":{"fillColor":"#ffd700"},"shape":"square","position":{"x":0,"y":0}}}}'
Notes
- Rate limits: The Miro API enforces 100,000 credits/minute. Most read calls cost ~100 credits; write calls cost 300–500 credits. A single board with 100 items costs roughly 500 credits to list.
- Pagination: List endpoints use cursor-based pagination. Pass the
cursorvalue from a response to get the next page.limitis capped at 50 for boards and items. update_itemrequiresitem_type— the Miro API uses type-specific URLs (/cards,/sticky_notes,/shapes, etc.). Always pass the item type when updating.- Board IDs look like
uXjVOaabbcc=— uselist_boardsorget_boardto discover them. - Connector styling supports
strokeColor(hex),strokeWidth(number), andstrokeStyle(normal/dashed/dotted).
License
MIT
terminal Tools (23)
Available tools on this MCP server. Each tool can be called directly from any AI agent.
list_boards #1 List Miro boards accessible to the token. Supports query search, teamId filter, limit (max 50), and cursor-based pagination.
get_board #2 Get details of a specific Miro board by ID including name, description, team, viewLink, and timestamps.
create_board #3 Create a new Miro board. Name is required. Optionally set description, teamId, and sharing policy.
update_board #4 Update a board's name, description, or sharing policy.
delete_board #5 Permanently delete a Miro board. This action cannot be undone.
list_items #6 List all items on a Miro board. Optionally filter by item type. Supports limit and cursor pagination.
create_card #7 Create a card item on a Miro board. Cards support a title, description, color styling, and position.
create_sticky_note #8 Create a sticky note on a Miro board. Sticky notes support content, fill color, shape (square or rectangle), and position.
create_text #9 Create a text item on a Miro board. Supports font size, text alignment, color, and position.
create_shape #10 Create a shape item on a Miro board. Supports rectangle, circle, triangle, and other shapes with optional text content and styling.
get_item #11 Get a specific item by ID from a Miro board.
update_item #12 Update an existing item's content, style, or position on a Miro board.
create_frame #13 Create a frame container on a Miro board to group and organize items. Supports title, fill color, position, and dimensions.
list_frames #14 List all frames on a Miro board.
create_connector #15 Create a connector (line/arrow) between two items on a Miro board.
delete_item #16 Delete an item from a Miro board by its item ID. This permanently removes the item.
list_board_members #17 List all members of a Miro board with their roles. Supports limit and cursor pagination.
get_board_member #18 Get details of a specific member on a Miro board including their role and user information.
invite_board_member #19 Invite one or more users to a Miro board by email address with a specified role.
list_teams #20 List all teams accessible to the current token within the organisation.
get_team #21 Get details of a specific team by ID including name, description, and member count.
get_token_context #22 Get information about the current access token: authenticated user ID, granted scopes, and team context.
_ping #23 Check connectivity and authentication by listing boards. Returns confirmation that the token is valid.
Details
language Live Endpoint
https://mcp.aerostack.dev/s/aerostack/mcp-miro
Sub-50ms globally · Zero cold start
Publisher
Pre-built functions for the most common MCP tool patterns. Clone, extend, and deploy.
More in API Connectors
Browse API Connectors MCPs →Aerostack Registry
by @aerostack
Discover and invoke any MCP, Function, or Skill published to the Aerostack marketplace — the universal AI capability hub.
Algolia
by @aerostack
Search indexes, manage records, browse data, and configure ranking in Algolia — AI-native instant search access.
Arangodb
by @aerostack
Query documents, run AQL, traverse graphs, and manage collections in your ArangoDB database — AI-native multi-model database access.
Ayrshare
by @aerostack
Post, schedule, and analyze social media across 13 platforms — Facebook, Instagram, X, LinkedIn, TikTok, Bluesky, Threads, Reddit, Pinterest, YouTube, Telegram, Snapchat, Google Business.
Basecamp
by @aerostack
Manage projects, to-dos, messages, schedules, and campfire chats in Basecamp — AI-native project management.
Bigquery
by @aerostack
Run SQL queries, list datasets and tables, inspect schemas, and export results from Google BigQuery — AI-native data warehouse access.
Frequently asked questions
What is the Miro MCP server and what can it do? +
The Miro MCP server is hosted on Aerostack and exposes these tools to your AI agent: `list_boards`, `get_board`, `create_board`, `update_board`, `delete_board`. You get one hosted URL — no self-hosting — that works from Claude, Cursor, ChatGPT, Gemini, VS Code, or any MCP-compatible client, and you can share it with your team or combine it with other MCP servers in a workspace.
Is the Miro MCP server hosted, or do I have to run it myself? +
It's hosted on Aerostack's edge infrastructure — you don't deploy or maintain anything. Add it to a workspace and you get one authenticated URL, with secrets encrypted, that any AI agent or editor can connect to. Use it solo or share the same URL across your whole team.
Which AI agents and editors can use the Miro MCP server? +
Any MCP client: Claude and Claude Code, Cursor, ChatGPT, Gemini, Windsurf, Cline, VS Code, and custom agents. Because it's one hosted URL, the same Miro MCP server works everywhere — and you can compose it with other MCP servers, skills, and functions behind a single workspace URL.
How do I install the Miro MCP server in Claude Desktop? +
Add the following to your Claude Desktop config (`claude_desktop_config.json`): ```json { "mcpServers": { "@aerostack/mcp-miro": { "command": "npx", "args": ["-y", "@aerostack/@aerostack/mcp-miro"] } } } ``` Then restart Claude Desktop and the tools will appear automatically.
How do I use the Miro MCP server in Cursor? +
In Cursor, open **Settings → MCP** and add: ```json { "name": "@aerostack/mcp-miro", "command": "npx", "args": ["-y", "@aerostack/@aerostack/mcp-miro"] } ``` Save and reload Cursor. The MCP tools will be available in Agent mode.
Does Miro MCP require authentication? +
Yes. Miro requires authentication. Check the MCP's documentation for the required credentials.