Sáltate la instalación. Funcionando en menos de 2 minutos.
Inicia una prueba gratuita en cloud.anythingmcp.com, añade Miro con un clic y apunta tu cliente de IA (Claude, ChatGPT, Copilot o Cursor) al endpoint MCP generado. Sin Docker, sin git clone, sin experiencia de desarrollo.
Resumen
Deja que tu IA trabaje en tus tableros de Miro: busca tableros, lee lo que contienen, añade y edita notas adhesivas, formas, textos, tarjetas y marcos, conéctalos con líneas, organízalos con etiquetas y consulta quién tiene acceso. Con el inicio de sesión de tu cuenta de Miro.
Prueba a pedir
Prompts de ejemplo para Miro
Haz clic en un prompt para copiarlo. Pégalo en Claude, ChatGPT, Cursor, Gemini, Copilot u OpenClaw para ejecutarlo contra este conector.
Claude es IA y puede equivocarse. Verifica siempre las respuestas.
💡 ¿Sin instalación? Usa cloud.anythingmcp.com directamente. Inicia sesión, pulsa Connectors → Miro, pega tus credenciales, genera una MCP API key y listo. Sin Docker, sin
git clone, sin servidor local.
Miro
Deja que tu IA trabaje en tus tableros de Miro: busca tableros, lee lo que contienen, añade y edita notas adhesivas, formas, textos, tarjetas y marcos, conéctalos con líneas, organízalos con etiquetas y consulta quién tiene acceso. Con el inicio de sesión de tu cuenta de Miro.
Configuración
- En Miro, haz clic en tu avatar → Settings → Your apps (o abre miro.com/app/settings/user-profile/apps) y luego en + Create new app. Si todavía no tienes un developer team, Miro te pide que crees uno primero; es gratis.
- Ponle nombre a la app (por ejemplo "AnythingMCP"), elige el developer team, marca Expire user authorization token y haz clic en Create app. Esta opción no se puede cambiar más adelante. Sin ella el token no caduca nunca, lo que también funciona pero es menos seguro.
- En la página de la app, en Redirect URI for OAuth2.0, añade
https://cloud.anythingmcp.com/api/mcp-oauth/callbacky haz clic en Add. Si alojas AnythingMCP tú mismo, introduce en su lugarhttps://tu-host-anythingmcp/api/mcp-oauth/callback. El URI debe coincidir carácter por carácter. - En Permissions, marca
boards:readyboards:write. - Copia el Client ID y el Client secret de App Credentials en
MIRO_CLIENT_IDyMIRO_CLIENT_SECRET. El Client ID es un número largo. - Instala el conector, haz clic en Authorize with Provider en la página del conector, elige el equipo de Miro con cuyos tableros debe trabajar la IA y haz clic en Install & authorize.
- Empieza con
miro_get_token_infopara comprobar el usuario, el equipo y los permisos concedidos, y después deja que la IA busque un tablero conmiro_list_boards.
Mantener la sesión iniciada: la IA ve y modifica los tableros que puede abrir el usuario de Miro que autorizó, en el equipo elegido durante la autorización. Para llegar a los tableros de otro equipo, vuelve a autorizar y elige ese equipo. Los access tokens duran una hora y se renuevan automáticamente. El refresh token dura 60 días y se renueva con cada uso, así que un conector que lleva dos meses sin usarse necesita de nuevo Authorize with Provider.
Permisos y solo lectura: marca solo boards:read, vuelve a autorizar y desactiva todas las herramientas que crean, modifican o eliminan: miro_create_board, miro_update_board, miro_copy_board, miro_create_sticky_note, miro_update_sticky_note, miro_create_shape, miro_update_shape, miro_create_text, miro_update_text, miro_create_card, miro_update_card, miro_create_frame, miro_update_frame, miro_move_item, miro_delete_item, miro_create_connector, miro_update_connector, miro_delete_connector, miro_create_tag, miro_update_tag, miro_delete_tag, miro_attach_tag y miro_remove_tag_from_item.
Desactivadas al instalar: miro_delete_board, que elimina un tablero entero con todo lo que contiene, miro_share_board, con la que Miro envía por correo una invitación a las personas indicadas, y miro_update_board_member y miro_remove_board_member, que cambian o retiran el acceso de una persona. Actívalas solo si la IA debe eliminar tableros o gestionar quién tiene acceso.
Eliminar es definitivo: miro_delete_item borra un elemento para siempre, sin deshacer a través de la API, y al eliminar un marco su contenido se queda en el tablero. miro_delete_tag quita la etiqueta de todos los elementos que la llevan. La IA pregunta antes de eliminar algo que no acaba de crear.
Etiquetas y planes: solo las tarjetas y las notas adhesivas pueden llevar etiquetas, como máximo 8 cada una, y los cambios de etiquetas aparecen en un tablero abierto después de recargarlo. La API de Miro es gratuita, pero los equipos gratuitos solo pueden tener 3 tableros editables, así que allí miro_create_board y miro_copy_board pueden fallar. Los tableros de un developer team llevan una marca de agua.
Errores frecuentes: 401 (tokenNotProvided) significa que la autorización caducó o se revocó: vuelve a hacer clic en Authorize with Provider y, si la app se eliminó o se regeneró su secret, actualiza antes MIRO_CLIENT_SECRET. 403 significa que falta un permiso (boards:write para los cambios) o que no hay acceso a ese tablero: marca el permiso en los ajustes de la app y vuelve a autorizar. 404 significa un ID de tablero o de elemento incorrecto. 400 (invalidParameters) indica el campo erróneo. 409 significa que el elemento cambió en ese mismo momento: vuelve a leerlo y reintenta. 429 significa que Miro está limitando a este usuario: espera un minuto. Crear un marco a veces falla durante unos minutos con 500 "Internal error occurred"; la misma solicitud vuelve a funcionar tras una breve espera.
El conector no gestiona imágenes, documentos ni contenidos incrustados (solo los lista), app cards, comentarios, mapas mentales, exportaciones ni la administración de equipos y organizaciones.
Requisitos previos: MIRO_CLIENT_ID, MIRO_CLIENT_SECRET
Instalar el conector localmente
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Abre http://localhost:3000/connectors/store, elige Miro e introduce las variables listadas en los Requisitos previos.
Herramientas disponibles
| Tool | What it does |
|---|---|
miro_get_token_info | Show who the connection belongs to: the Miro user, the team the app was installed in, the organization and the granted scopes |
miro_list_boards | Find boards the user can open: by text, owner, team or project |
miro_get_board | Get one board: name, description, owner, team, project, sharing and permission policies, viewLink, createdAt and modifiedAt |
miro_create_board | Create a board |
miro_update_board | Rename a board, change its description or its sharing policy |
miro_copy_board | Copy a board with all its content into a new board, optionally with a new name and in another team |
miro_delete_board | Delete a whole board with everything on it |
miro_list_items | List the items on a board: id, type, data (content, title ...), style, position, geometry, parent (frame) and who changed them when |
miro_get_item | Get one item of any type (sticky note, shape, text, card, frame, image ...): type, data, style, position, geometry and parent |
miro_move_item | Move any item: to a new position, into a frame (parent {"id": "<frame id>"}) or out of it back onto the board (parent {"id": null}) |
miro_delete_item | Delete an item of any type (sticky note, shape, text, card, frame, image ...) |
miro_create_sticky_note | Add a sticky note to a board |
miro_update_sticky_note | Change a sticky note's text, shape, color, position, size or frame |
miro_create_shape | Add a shape (rectangle, circle, flowchart symbol ...) with optional text to a board |
miro_update_shape | Change a shape's type, text, style, position, size or frame |
miro_create_text | Add a free text item to a board (a heading, a label, a paragraph) |
miro_update_text | Change a text item |
miro_create_card | Add a card (a task-like item with title, description, assignee and due date) to a board |
miro_update_card | Change a card's title, description, assignee, due date, color, position, size or frame |
miro_create_frame | Add a frame (a titled area that groups items) to a board |
miro_update_frame | Change a frame's title, background, position or size |
miro_list_connectors | List the connector lines on a board: id, startItem and endItem (item ids), shape, captions and style |
miro_get_connector | Get one connector line: the items it joins, its shape, captions and style |
miro_create_connector | Draw a connector line between two items (sticky notes, shapes, cards, texts; not frames), e.g. to link steps of a flowchart |
miro_update_connector | Change a connector line: its ends, shape, captions or style |
miro_delete_connector | Delete a connector line between two items; the items it joined stay where they are |
miro_list_board_members | List who has access to a board: member id (the user id), name, role (viewer, commenter, editor, coowner, owner) |
miro_get_board_member | Get one member of a board: user id, name and role (viewer, commenter, editor, coowner, owner) |
miro_share_board | Invite people to a board by email with a role; Miro emails them an invitation |
miro_update_board_member | Change a board member's role, e.g. from viewer to editor |
miro_remove_board_member | Remove someone's access to a board |
miro_list_tags | List the tags defined on a board: id, title and fillColor |
miro_get_tag | Get one tag of a board by its id: title and fillColor, as shown on cards and sticky notes |
miro_create_tag | Create a tag on a board, to attach to cards and sticky notes |
miro_update_tag | Rename a tag or change its color; every item carrying it changes too |
miro_delete_tag | Delete a tag from a board; it is removed from every item that carries it |
miro_attach_tag | Attach an existing tag to a card or sticky note (other item types cannot carry tags; at most 8 per item) |
miro_remove_tag_from_item | Take a tag off a card or sticky note; the tag itself stays on the board |
miro_get_item_tags | List the tags attached to one card or sticky note, each with id, title and fillColor |
miro_list_items_by_tag | List the cards and sticky notes that carry a tag |
Ejemplos de prompts
- "Busca nuestro tablero "Retrospectiva T3" y resume las notas adhesivas de cada marco."
- "¿Quién tiene acceso al tablero "Rediseño del checkout" y qué rol tiene cada persona?"
- "En el tablero "Hoja de ruta del producto", añade un marco llamado "Próximo sprint" con tres notas adhesivas amarillas: Arreglo del login, Filtros de búsqueda y Correos de bienvenida."
- "Muéstrame todas las tarjetas con la etiqueta "Bloqueado" del tablero "Planificación del sprint", con su responsable y su fecha de vencimiento."
Siguientes pasos
¿Te ha sido útil esta guía?