Salta l'installazione. Attivo in meno di 2 minuti.
Avvia una prova gratuita su cloud.anythingmcp.com, aggiungi Miro con un clic, poi punta il tuo client AI (Claude, ChatGPT, Copilot o Cursor) all'endpoint MCP generato. Niente Docker, niente git clone, nessuna esperienza di sviluppo richiesta.
In breve
Fai lavorare la tua AI sulle tue board Miro: trova board, leggi cosa contengono, aggiungi e modifica sticky note, forme, testi, card e frame, collegali con linee, organizzali con i tag e vedi chi ha accesso. Con l'accesso del tuo account Miro.
Prova a chiedere
Prompt di esempio per Miro
Clicca su un prompt per copiarlo. Incollalo in Claude, ChatGPT, Cursor, Gemini, Copilot o OpenClaw per eseguirlo contro questo connettore.
Claude è un'AI e può sbagliare. Verifica sempre le risposte.
💡 Niente installazione? Vai direttamente su cloud.anythingmcp.com. Accedi, clicca Connectors → Miro, inserisci le credenziali, genera una MCP API key e hai finito. Niente Docker, niente
git clone, niente server locale.
Miro
Fai lavorare la tua AI sulle tue board Miro: trova board, leggi cosa contengono, aggiungi e modifica sticky note, forme, testi, card e frame, collegali con linee, organizzali con i tag e vedi chi ha accesso. Con l'accesso del tuo account Miro.
Setup
- In Miro clicca sul tuo avatar → Settings → Your apps (oppure apri miro.com/app/settings/user-profile/apps) e poi su + Create new app. Se non hai ancora un developer team, Miro ti chiede prima di crearne uno; è gratuito.
- Dai un nome all'app (per esempio "AnythingMCP"), scegli il developer team, spunta Expire user authorization token e clicca su Create app. Questa scelta non si può cambiare in seguito. Senza la spunta il token non scade mai, il che funziona comunque ma è meno sicuro.
- Nella pagina dell'app, in Redirect URI for OAuth2.0, aggiungi
https://cloud.anythingmcp.com/api/mcp-oauth/callbacke clicca su Add. Se ospiti AnythingMCP in proprio, inserisci invecehttps://tuo-host-anythingmcp/api/mcp-oauth/callback. L'URI deve corrispondere carattere per carattere. - In Permissions spunta
boards:readeboards:write. - Copia Client ID e Client secret da App Credentials in
MIRO_CLIENT_IDeMIRO_CLIENT_SECRET. Il Client ID è un numero lungo. - Installa il connettore, clicca su Authorize with Provider nella pagina del connettore, scegli il team Miro con le cui board deve lavorare l'AI e clicca su Install & authorize.
- Comincia con
miro_get_token_infoper controllare utente, team e permessi concessi, poi fai cercare una board all'AI conmiro_list_boards.
Restare connessi: l'AI vede e modifica le board che l'utente Miro che ha autorizzato può aprire, nel team scelto durante l'autorizzazione. Per raggiungere le board di un altro team, autorizza di nuovo e scegli quel team. Gli access token durano un'ora e vengono rinnovati automaticamente. Il refresh token dura 60 giorni e si rinnova a ogni utilizzo, quindi un connettore inutilizzato per due mesi richiede di nuovo Authorize with Provider.
Permessi e solo lettura: spunta solo boards:read, autorizza di nuovo e disattiva tutti i tool che creano, modificano o eliminano: 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 e miro_remove_tag_from_item.
Disattivati all'installazione: miro_delete_board, che elimina un'intera board con tutto ciò che contiene, miro_share_board, con cui Miro invia per email un invito alle persone indicate, e miro_update_board_member e miro_remove_board_member, che modificano o revocano l'accesso di una persona. Attivali solo se l'AI deve eliminare board o gestire gli accessi.
L'eliminazione è definitiva: miro_delete_item rimuove un elemento per sempre, senza annullamento tramite API, ed eliminando un frame il suo contenuto resta sulla board. miro_delete_tag toglie il tag da tutti gli elementi che lo portano. L'AI chiede conferma prima di eliminare qualcosa che non ha appena creato.
Tag e piani: solo card e sticky note possono avere tag, al massimo 8 ciascuno, e le modifiche ai tag compaiono su una board aperta dopo un aggiornamento della pagina. L'API di Miro è gratuita, ma i team gratuiti possono avere solo 3 board modificabili, quindi lì miro_create_board e miro_copy_board possono fallire. Le board di un developer team hanno una filigrana.
Errori comuni: 401 (tokenNotProvided) significa che l'autorizzazione è scaduta o è stata revocata: clicca di nuovo su Authorize with Provider e, se l'app è stata eliminata o il suo secret rigenerato, aggiorna prima MIRO_CLIENT_SECRET. 403 significa che manca un permesso (boards:write per le modifiche) o che non c'è accesso a quella board: spunta il permesso nelle impostazioni dell'app e autorizza di nuovo. 404 significa un ID di board o di elemento errato. 400 (invalidParameters) indica il campo sbagliato. 409 significa che l'elemento è cambiato nello stesso momento: rileggilo e riprova. 429 significa che Miro sta limitando le richieste di questo utente: attendi un minuto. La creazione di un frame a volte fallisce per qualche minuto con 500 "Internal error occurred"; la stessa richiesta torna a funzionare dopo una breve attesa.
Il connettore non gestisce immagini, documenti ed embed (si limita a elencarli), app card, commenti, mappe mentali, esportazioni o l'amministrazione di team e organizzazioni.
Prerequisiti: MIRO_CLIENT_ID, MIRO_CLIENT_SECRET
Installazione locale del connettore
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
Apri http://localhost:3000/connectors/store, scegli Miro e inserisci le variabili elencate nei Prerequisiti.
Tool disponibili
| 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 |
Esempi di prompt
- "Trova la nostra board "Retrospettiva Q3" e riassumi le sticky note di ogni frame."
- "Chi ha accesso alla board "Redesign checkout" e con quale ruolo?"
- "Sulla board "Roadmap prodotto" aggiungi un frame "Prossimo sprint" con tre sticky note gialle: Fix login, Filtri di ricerca ed Email di onboarding."
- "Mostrami tutte le card con il tag "Bloccato" sulla board "Pianificazione sprint", con assegnatario e scadenza."
Prossimi passi
Questa guida ti è stata utile?