Salta l'installazione. Attivo in meno di 2 minuti.
Avvia una prova gratuita su cloud.anythingmcp.com, aggiungi incident.io 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
Gestione degli incidenti con incident.io in qualsiasi agente AI: elenca e leggi gli incidenti con aggiornamenti e timeline, consulta severità, stati, ruoli, tipi e campi personalizzati, gestisci azioni e follow-up, leggi e risolvi gli alert, scopri chi è reperibile, chiama le persone con un escalation e consulta utenti, team e catalogo. Può anche dichiarare e modificare incidenti e pubblicare aggiornamenti.
Prova a chiedere
Prompt di esempio per incident.io
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 → incident.io, inserisci le credenziali, genera una MCP API key e hai finito. Niente Docker, niente
git clone, niente server locale.
incident.io + Microsoft Copilot
Gestione degli incidenti con incident.io in qualsiasi agente AI: elenca e leggi gli incidenti con aggiornamenti e timeline, consulta severità, stati, ruoli, tipi e campi personalizzati, gestisci azioni e follow-up, leggi e risolvi gli alert, scopri chi è reperibile, chiama le persone con un escalation e consulta utenti, team e catalogo. Può anche dichiarare e modificare incidenti e pubblicare aggiornamenti.
Prerequisiti
Le istruzioni di setup complete sono incluse nel connettore stesso (visibili nello store quando lo selezioni). Le variabili d'ambiente richieste sono:
INCIDENT_IO_API_KEY
Step 1 — Ottieni le credenziali
La configurazione richiede circa 2 minuti. Ti servono un account incident.io e una chiave API.
- In incident.io apri Settings, API keys (https://app.incident.io/settings/api-keys) e fai clic su Add new. Può farlo solo un amministratore o un ruolo autorizzato a gestire le chiavi API.
- Dai un nome alla chiave e spunta cosa può fare. Per leggere servono almeno view data (viewer) e la visualizzazione di catalogo, schedule e reperibilità; gli incidenti privati richiedono un permesso a parte. Per scrivere aggiungi creazione e modifica degli incidenti, gestione di azioni e follow-up, creazione di escalation e così via. Uno strumento per cui manca il permesso risponde 403.
- Copia la chiave (viene mostrata una sola volta) in
INCIDENT_IO_API_KEY, senzaBearerdavanti. Il connettore la invia come token Bearer ahttps://api.incident.io. - Installa il connettore ed esegui
incident_io_get_identity: mostra il nome della chiave, l'URL della dashboard della tua organizzazione e i ruoli concessi alla chiave, come viewer, incident_creator, incident_editor, on_call_viewer o escalation_creator.
Cosa sta succedendo adesso: incident_io_list_incidents con status_category: ["live"] (Active nell'app) o ["triage"], dal più recente, con riferimento, nome, riepilogo, stato, severità, tipo, modalità, visibilità, ruoli, campi personalizzati, timestamp, canale Slack e permalink. I filtri coprono categoria di stato, stato, severità (anche "almeno così grave" con severity_gte), tipo, modalità e data di creazione o modifica, combinati con filter_mode all o any; i filtri su campi personalizzati e ruoli vanno in extra_filters. Poi incident_io_get_incident dà l'incidente completo con le metriche di durata e il link al postmortem, incident_io_list_incident_updates gli aggiornamenti e incident_io_list_incident_timeline_items note, messaggi fissati e aggiornamenti in ordine. Gli incidenti di test e tutorial restano nascosti finché non chiedi quelle modalità.
Configurazione per trovare gli id: incident_io_list_severities, incident_io_list_incident_statuses, incident_io_list_incident_roles, incident_io_list_incident_types, incident_io_list_custom_fields, incident_io_get_custom_field, incident_io_list_custom_field_options e incident_io_list_incident_timestamps. L'AI li legge per primi e poi usa gli id per filtrare, creare o modificare.
Gestire un incidente:
incident_io_create_incidentdichiara un incidente con nome, riepilogo, severità, stato, tipo, visibilità (public o private), modalità, ruoli, valori dei campi personalizzati e timestamp. Servono unidempotency_keyevisibility. La modalitàtestpermette di provare senza un incidente reale;retrospectiveregistra un incidente passato.incident_io_create_incident_updatepubblica un aggiornamento per responder e stakeholder e può cambiare stato e severità nello stesso momento.incident_io_edit_incidentcambia nome, riepilogo, severità, stato (si risolve passando a uno stato closed), ruoli, campi personalizzati, timestamp, link della call o nome del canale Slack. Cambia solo ciò che passi;notify_incident_channello comunica al canale.- Azioni durante l'incidente:
incident_io_list_actions,incident_io_get_action,incident_io_create_action,incident_io_update_action(outstanding, completed, not_doing). - Follow-up dopo l'incidente:
incident_io_list_follow_ups,incident_io_get_follow_up,incident_io_create_follow_up,incident_io_update_follow_up, con priorità, categoria, etichette, assegnatario o team e un ticket esterno collegato (Jira, Linear e altri). L'aggiornamento sostituisce l'intera azione o l'intero follow-up, quindi l'AI invia sempre testo e stato attuali.
Alert: incident_io_list_alerts (filtri per stato come firing, sorgente, chiave di deduplicazione o data), incident_io_get_alert, incident_io_list_incident_alerts per sapere quali alert appartengono a quale incidente, e incident_io_resolve_alert per risolvere a mano un alert attivo quando la sorgente non invia un evento di risoluzione; a seconda dell'alert route possono risolversi anche gli incidenti e le escalation che ha avviato. Le sorgenti di alert (Datadog, Grafana, Prometheus, CloudWatch, HTTP, email, heartbeat e altre) si leggono con incident_io_list_alert_sources e incident_io_get_alert_source; i loro token segreti sono omessi.
Reperibilità: incident_io_list_schedules e incident_io_get_schedule mostrano rotazioni, livelli e turni in corso; incident_io_list_schedule_entries restituisce per una finestra temporale le voci finali dopo gli override, cioè la risposta a "chi è reperibile adesso". incident_io_list_escalation_paths e incident_io_list_escalations mostrano chi viene chiamato e cosa è successo; incident_io_create_escalation chiama le persone tramite un percorso di escalation o direttamente per id utente.
Organizzazione e catalogo: incident_io_list_users (trova qualcuno per email o id Slack), incident_io_get_user, incident_io_list_teams, incident_io_list_catalog_types, incident_io_get_catalog_type, incident_io_list_catalog_entries (cerca una voce con identifier) e incident_io_get_catalog_entry.
Prima di scrivere: un nuovo incidente standard apre un canale Slack o Teams e avvisa le persone, un aggiornamento viene condiviso con responder e iscritti, un escalation chiama chi è reperibile. L'AI ti mostra cosa sta per fare e aspetta il tuo sì. Quando ripete una creazione riusa lo stesso idempotency_key, così il nuovo tentativo non crea un secondo incidente, aggiornamento o chiamata.
Disattivati all'installazione: nessuno. Tutti i 43 strumenti sono attivi, compresi quelli di scrittura; ciò che la chiave può fare dipende dai permessi che le assegni in incident.io.
Formati dei dati: gli id sono ULID (26 caratteri, ad esempio 01FCNDV6P870EA6S7TK1DSYDG0); il riferimento leggibile è reference (INC-123). Gli orari sono ISO 8601 in UTC, i filtri per data accettano YYYY-MM-DD. Categorie di stato nell'API: triage, live (Active), learning (Post-incident), paused, closed, declined, canceled, merged. Un rank di severità più alto significa più grave. Le risposte sui campi personalizzati non includono gli elenchi di opzioni, che restituisce incident_io_list_custom_field_options.
Paginazione: gli elenchi restituiscono pagination_meta con after; l'AI richiama passando quel valore in after finché manca. page_size vale 25 di default e arriva a 250 per la maggior parte degli elenchi. incident_io_list_schedule_entries pagina mettendo pagination_meta.after in entry_window_start.
Limiti: 1.200 richieste al minuto per chiave.
Errori comuni: 401 indica una chiave errata o eliminata. 403 indica che alla chiave manca il permesso per quella chiamata; incident_io_get_identity mostra i suoi ruoli e in Settings, API keys spunti quello mancante. 404 è un id sconosciuto. 422 è un errore di validazione in cui errors indica il campo, ad esempio un cambio di stato non consentito. 429 è il limite di frequenza; aspetta un minuto.
Il connettore non elimina incidenti, azioni, follow-up o voci di catalogo, non crea né modifica sorgenti di alert, schedule o percorsi di escalation e non restituisce i token segreti delle sorgenti di alert.
Step 2 — Installa l'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
Step 3 — Aggiungi il connettore in Microsoft Copilot
L'URL del tuo server: in AnythingMCP apri MCP Servers → il server su cui si trova questo connettore e copia il suo URL (
https://cloud.anythingmcp.com/mcp/…). Usalo ovunque questa guida mostraYOUR_SERVER_ID.
Microsoft Copilot usa i server MCP tramite gli agenti creati in Copilot Studio: aggiungi AnythingMCP a un agente come strumento, poi pubblichi l'agente in Microsoft 365 Copilot e in Teams. Copilot Studio si collega dal cloud di Microsoft via Streamable HTTP, che AnythingMCP supporta.
- In Copilot Studio apri il tuo agente (o creane uno), vai su Tools e scegli Add a tool → New tool → Model Context Protocol.
- Inserisci un Server name (per esempio
AnythingMCP), una Server description che dica cosa fa il connettore e il Server URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID. Copilot Studio usa la descrizione per decidere quando chiamare il server. - Come autenticazione scegli API key, imposta Type su Header e come nome dell'header
X-API-Key, poi seleziona Create. - In Add tool scegli Create a new connection, incolla una chiave API MCP di AnythingMCP (MCP Servers → il tuo server → API keys) e seleziona Add to agent.
- Provalo nel riquadro Test dell'agente: chiedi qualcosa che richiede i tool di
incident.io. - Seleziona Publish, poi Channels → Microsoft 365 and Microsoft Teams, lascia selezionato Make agent available in Microsoft Copilot e scegli Add channel. See agent in Teams lo installa per te; in Microsoft 365 Copilot scrivi @ e scegli l'agente.
Preferisci un accesso per ogni utente? Al posto della chiave API scegli OAuth 2.0 → Dynamic discovery: ogni persona accede ad AnythingMCP la prima volta che l'agente lo chiama.
Usi il self-hosting? Usa l'indirizzo HTTPS pubblico della tua istanza al posto di https://cloud.anythingmcp.com. Copilot Studio si collega dal cloud di Microsoft, quindi localhost non funziona.
Tool disponibili
| Tool | What it does |
|---|---|
incident_io_get_identity | Show which API key the connector uses: its name, the organisation's dashboard URL and the roles (permissions) granted to it, e.g. viewer… |
incident_io_list_incidents | List incidents, newest first: id, reference (INC-123), name, summary, status and status category, severity, type, mode, visibility, role… |
incident_io_get_incident | Get one incident with everything on it: reference, name, summary, status, severity, type, mode, visibility, role assignments, custom field… |
incident_io_create_incident | Declare an incident: name, summary, severity, status, type, visibility and mode, with role assignments and custom field values |
incident_io_edit_incident | Edit an incident: rename it, change its summary, severity or status (resolve it by moving to a closed status), assign roles, set custom… |
incident_io_list_incident_updates | List the updates of an incident (or of all incidents), newest first: message, new status and severity, who posted it and when |
incident_io_create_incident_update | Post an update to an incident: a message for responders and stakeholders, optionally moving it to another status or severity at the same… |
incident_io_list_incident_timeline_items | List the timeline of one incident: the items added to it (notes, pinned messages, updates) with their time and author, in order |
incident_io_list_severities | List the severities configured in incident.io (e.g |
incident_io_list_incident_statuses | List the incident statuses (e.g |
incident_io_list_incident_roles | List the incident roles (e.g |
incident_io_list_incident_types | List the incident types (e.g |
incident_io_list_custom_fields | List the custom fields of incidents with id, name, description and type (single_select, multi_select, text, link, numeric), and for… |
incident_io_get_custom_field | Get one custom field: name, description, type and, for catalog fields, the catalog type it draws its values from |
incident_io_list_custom_field_options | List the options of a single or multi select custom field: id (value_option_id), value and sort key |
incident_io_list_incident_timestamps | List the incident timestamps tracked for every incident (reported at, accepted at, impact started, resolved at, ...) with their ids, for… |
incident_io_list_actions | List actions (tasks done during an incident), optionally of one incident: id, description, status (outstanding, completed, not_doing)… |
incident_io_get_action | Get one action: description, status, assignee, incident and completion time |
incident_io_create_action | Add an action to an incident: a task to do now, optionally assigned to a user |
incident_io_update_action | Update an action: mark it completed or not_doing (or outstanding again), reassign it or change its text |
incident_io_list_follow_ups | List follow-ups (work to do after an incident), optionally of one incident or team: id, title, description, status, priority, assignee… |
incident_io_get_follow_up | Get one follow-up: title, description, status, priority, category, assignee, labels, incident and the linked external issue |
incident_io_create_follow_up | Add a follow-up to an incident: a title, optional description, assignee or team, priority, category and labels |
incident_io_update_follow_up | Update a follow-up: complete it or mark it not_doing, reassign it, change priority, labels or text |
incident_io_list_alerts | List alerts received from monitoring tools, newest first: id, title, description, status (firing, resolved), alert source, deduplication… |
incident_io_get_alert | Get one alert with its title, description, status, source, deduplication key, attributes, source URL and times |
incident_io_resolve_alert | Resolve a firing alert by hand, e.g. when the source will not send a resolve event |
incident_io_list_incident_alerts | List the links between alerts and incidents: which alerts are attached to an incident, or which incidents an alert belongs to |
incident_io_list_alert_sources | List the alert sources (Datadog, Grafana, Prometheus, CloudWatch, HTTP, email, heartbeat, ...) with id, name, type, the template that… |
incident_io_get_alert_source | Get one alert source: name, type, template (title, description, attributes), filters, owning teams and source-specific options |
incident_io_list_schedules | List on-call schedules with id, name, time zone, rotations and layers, and (with page_size 25 or less) the current and next shifts |
incident_io_get_schedule | Get one on-call schedule: time zone, rotations with their layers, handover times and members, and the current shifts |
incident_io_list_schedule_entries | Show who is on call on a schedule in a time window: the final entries after overrides, each with user, start and end |
incident_io_list_escalation_paths | List the escalation paths (who gets paged in which order, through which schedules and users) with id and name |
incident_io_list_escalations | List escalations (pages sent to people) with id, title, status (pending, triggered, acked, resolved, expired, cancelled, snoozed, ...)… |
incident_io_create_escalation | Page people: start an escalation that follows an escalation path, or notifies the given users directly, with a title included in every… |
incident_io_list_users | List the users of the organisation with id, name, email, Slack user id and role |
incident_io_get_user | Get one user: name, email, Slack user id, base role and custom roles |
incident_io_list_teams | List the teams of the organisation with id and name; team ids are used for follow-ups and alert source ownership |
incident_io_list_catalog_types | List the catalog types (services, teams, features, environments, ...) with id, name, description, type name, attribute schema and whether… |
incident_io_get_catalog_type | Get one catalog type with its attribute schema (names, types, which attributes link to other types) |
incident_io_list_catalog_entries | List the entries of one catalog type (e.g. every service) with id, name, external id, aliases, rank and attribute values |
incident_io_get_catalog_entry | Get one catalog entry with its attribute values; with expand true also the entries that link to it |
Esempi di prompt
- "Quali incidenti sono attivi adesso? Per ognuno dammi severità, stato, incident lead e ultimo aggiornamento."
- "Chi è reperibile adesso nello schedule Platform e chi subentra dopo?"
- "Riassumi la timeline di INC-123 ed elenca i follow-up aperti con i rispettivi assegnatari."
- "Dichiara un incidente di test privato chiamato Latenza checkout con severità Minor. Mostrami i dettagli prima di crearlo."
- "Quali alert di Datadog sono ancora attivi, e qualcuno è collegato a un incidente?"
FAQ
Per quale Copilot vale? Per Microsoft 365 Copilot in azienda, tramite gli agenti di Copilot Studio. L'app Microsoft Copilot per account personali non permette di aggiungere un proprio server MCP.
Cosa mi serve? Un account di lavoro con accesso a Copilot Studio (licenza o prova) per creare l'agente. Chi lo usa in Microsoft 365 Copilot o in Teams deve avere accesso all'agente: condividilo, oppure chiedi a un amministratore di pubblicarlo per l'organizzazione. Se la tua organizzazione applica criteri sui dati ai connettori di Power Platform, valgono anche per i server MCP.
L'agente non chiama i tool. Controlla che il nome dell'header sia esattamente X-API-Key e che la chiave appartenga allo stesso server MCP dell'URL, e scrivi una Server description precisa: Copilot Studio la usa per decidere quando chiamare il server. Dopo ogni modifica pubblica di nuovo l'agente; in una chat già aperta scrivi "start over" per passare alla nuova versione.
Prossimi passi
- Landing del connettore
- Collegare a Claude
- Collegare a ChatGPT
- Collegare a Cursor
- Collegare a Gemini
- Collegare a Meta Muse
Questa guida ti è stata utile?