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 + Cursor
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.
Requisitos previos
Las instrucciones de configuración completas están incluidas en el conector (visibles en el store al seleccionarlo). Las variables de entorno requeridas:
MIRO_CLIENT_ID, MIRO_CLIENT_SECRET
Paso 1 — Obtener credenciales
- 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.
Paso 2 — Instalar el adapter
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
Paso 3 — Añadir el conector en Cursor
La URL de tu servidor: en AnythingMCP abre MCP Servers → el servidor donde está este conector y copia su URL (
https://cloud.anythingmcp.com/mcp/…). Úsala donde esta guía muestraYOUR_SERVER_ID.
Cursor lee los servidores MCP de ~/.cursor/mcp.json. Añade esta entrada:
{
"mcpServers": {
"anythingmcp": {
"url": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
"headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
}
}
}
- Crea una clave de API MCP en AnythingMCP en MCP Servers → tu servidor → API keys y pégala en lugar de
YOUR_MCP_API_KEY. - Guarda el archivo y reinicia Cursor.
- Abre Cursor → Settings → MCP y comprueba que
anythingmcpaparece en la lista y está conectado. - Empieza a chatear: el agente ya puede usar las herramientas de
Miro.
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."
FAQ
¿Cursor admite servidores MCP personalizados en el plan gratuito? Sí, MCP está disponible en los planes Hobby, Pro y Business.
Siguientes pasos
¿Te ha sido útil esta guía?