Miro MCP App
Provides tools for interacting with Miro's platform, enabling board management, search, layouts, diagrams, images, experimental code widgets, and more through 31 Miro API tools.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Miro MCP AppShow me my board called 'Sprint Retro'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Miro MCP App
An independent, hosted Model Context Protocol server for Miro with an interactive MCP App workspace. It exposes the 31 tools in Miro's public MCP documentation while using only public Miro APIs.
Highlights
Streamable HTTP MCP endpoint at
/mcpOAuth 2.1, dynamic client registration, PKCE, and Miro OAuth brokering
Board search, reading, layouts, diagrams, images, and experimental code widgets
App-managed document, table, and prototype fallbacks
Interactive board search, mini-canvas, inspector, and Miro deep links
Explicit compatibility metadata for every result
See docs/parity.md for native, emulated, and unavailable capabilities.
Related MCP server: miro-mcp-server
Requirements
Node.js 20 or newer
pnpm 10
A Miro developer app with expiring tokens
Public HTTPS hosting for the OAuth callback
Configure the Miro app with:
Scopes:
boards:read,boards:write,identity:readRedirect URI:
https://YOUR_HOST/oauth/miro/callbackExpiring access tokens enabled
Configuration
Copy .env.example and set:
Variable | Required | Purpose |
| Hosted mode | Public origin used by MCP OAuth metadata |
| Hosted mode | Miro OAuth client ID |
| Hosted mode | Miro OAuth client secret |
| Hosted mode | Registered Miro callback |
| No | HTTP port, default |
| No | API override for contract testing |
| Development only | Bypasses MCP OAuth for one local user |
| Development only | Team associated with the static token |
MIRO_ACCESS_TOKEN mode is intentionally not user-isolated. Do not use it on a
shared deployment.
Run
pnpm build
pnpm startConnect a client to:
https://YOUR_HOST/mcpThe client discovers authorization through RFC 9728 and dynamically registers itself. The user is then redirected through Miro consent.
For local development with a Miro test token:
MIRO_ACCESS_TOKEN=... MIRO_TEAM_ID=... pnpm devHTTP endpoints
Endpoint | Purpose |
| Authenticated Streamable HTTP MCP |
| Readiness and configuration state |
| MCP protected-resource metadata |
| OAuth server metadata |
| Dynamic client registration |
| OAuth lifecycle |
| Miro OAuth callback |
| Five-minute, single-use image upload |
MCP App
The 31 Miro tools return data without opening UI cards. One additional
render_miro_board tool attaches ui://miro/workspace and opens a single
full-size Miro Live Embed obtained from Miro's official oEmbed endpoint.
Changes made by subsequent tools appear live inside Miro's own canvas:
No reconstructed board items
No app sidebars, inspector, or polling
Native Miro zooming, navigation, and live updates
The View receives only Miro's validated live-embed URL; it never receives Miro or MCP access tokens.
Verification
pnpm check
pnpm verifyThe verification harness checks all 31 parity tools plus the dedicated render tool, prompts, the MCP App resource, DSL discovery, and upload URL issuance without making Miro API calls.
Deployment note
OAuth clients, grants, app-managed artifacts, and uploads currently use
process-local stores. This is suitable for local development and a single
non-restarting evaluation instance. Before production or horizontal scaling,
replace OAuthStore, ArtifactStore, and UploadStore with durable encrypted
PostgreSQL/object-storage adapters.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceMiro MCP server, exposing all functionalities available in official Miro SDK.Last updated9716765Apache 2.0
- AlicenseAqualityAmaintenanceMCP server for controlling Miro whiteboards with AI assistants. Create and manage stickies, shapes, frames, connectors, and more.Last updated8826MIT
- Alicense-qualityDmaintenanceThis repository contains an implementation of an Miro Universal MCP (Model Context Protocol) server. It provides a standardized interface for interacting with Miro's tools and services through a unified API.Last updated1MIT
- Flicense-qualityDmaintenanceAn MCP server that enables Claude AI to programmatically create and manipulate Miro boards via the Miro API with OAuth2 authentication. Supports 14 tools for board, item, and connector operations.Last updated
Related MCP Connectors
Official Miro MCP server - Supports context to code and creating diagrams, docs, and data tables.
Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.
The MCP server for Azure DevOps, bringing the power of Azure DevOps directly to your agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/niklasmeixner-langdock/miro-mcp-app'
If you have feedback or need assistance with the MCP directory API, please join our Discord server