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 + Cursor
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 Cursor
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.
Cursor legge i server MCP da ~/.cursor/mcp.json. Aggiungi questa voce:
{
"mcpServers": {
"anythingmcp": {
"url": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
"headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
}
}
}
- Crea una chiave API MCP in AnythingMCP da MCP Servers → il tuo server → API keys e incollala al posto di
YOUR_MCP_API_KEY. - Salva il file e riavvia Cursor.
- Apri Cursor → Settings → MCP e verifica che
anythingmcpsia elencato e connesso. - Inizia a chattare: l'agente ora può usare i tool di
incident.io.
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
Cursor supporta server MCP personalizzati nel piano gratuito? Sì, MCP è disponibile nei piani Hobby, Pro e Business.
Prossimi passi
- Landing del connettore
- Collegare a Claude
- Collegare a ChatGPT
- Collegare a Gemini
- Collegare a Meta Muse
- Collegare a Microsoft Copilot
Questa guida ti è stata utile?