# incident.io — how to use (mcp.ai)

Connect your incident.io account and use 86 tools for developer tools straight from your AI agent. Connect with your own API key. Incident management and response platform.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_incident_io?ms=1787293500000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `incident_io_create_alert_attributes_v2`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/incident_io`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/incident_io/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/incident_io/create/alert/attributes/v2` — Tool to create an alert attribute in incident.io. Use when you need to define structured data fields that can be parsed from alerts coming in via alert sources. Alert attributes allow you to extract a
  - body: { name: string, type: string, array: boolean, required: boolean }
- `POST https://api.mcp.ai/api/incident_io/create/alert/routes/v2` — Tool to create an alert route in incident.io. Use when you need to configure how alerts should be processed, routed, and potentially converted into incidents based on conditions, grouping rules, and t
  - body: { name: string, enabled: boolean, version?: integer, is_private: boolean, expressions?: object[], alert_sources?: object[], channel_config?: object[], incident_config: object, condition_groups?: object[], escalation_config: object, incident_template: object }
- `POST https://api.mcp.ai/api/incident_io/create/alert/sources/v2` — Tool to create a new alert source in incident.io. Use when you need to set up a new integration for receiving alerts from external systems via HTTP webhooks or manual entry.
  - body: { name: string, template: object, source_type: string }
- `POST https://api.mcp.ai/api/incident_io/create/catalog/entries/v3` — Tool to create a catalog entry in incident.io using the V3 API. Use when you need to add a new entry to a catalog type with specific attribute values. Catalog entries represent items like teams, servi
  - body: { name: string, rank?: integer, aliases?: string[], external_id?: string, catalog_type_id: string, attribute_values: object }
- `POST https://api.mcp.ai/api/incident_io/create/catalog/types/v3` — Tool to create a new catalog type in incident.io V3 API. Use when you need to define custom resource types for your organization's catalog, such as teams, services, or infrastructure components.
  - body: { name: string, ranked?: boolean, type_name?: string, categories?: string[], annotations?: object, description: string, source_repo_url?: string }
- `POST https://api.mcp.ai/api/incident_io/create/custom/field/options/v1` — Tool to create a new custom field option in incident.io. Use when you need to add a new selectable value to an existing custom field.
  - body: { value: string, sort_key?: integer, custom_field_id: string }
- `POST https://api.mcp.ai/api/incident_io/create/custom/fields/v2` — Tool to create a custom field in incident.io using the V2 API. Use when you need to add a new custom field to track additional information during incidents.
  - body: { name: string, field_type: string, description: string }
- `POST https://api.mcp.ai/api/incident_io/create/escalations/v2` — Tool to create an escalation in incident.io. Use when you need to page users to respond to alerts. You must specify either an escalation_path_id or direct targets (users/schedules).
  - body: { title: string, targets?: object[], priority?: string, custom_message?: string, idempotency_key: string, escalation_path_id?: string }
- `POST https://api.mcp.ai/api/incident_io/create/incident/roles/v2` — Tool to create a new incident role in incident.io using the V2 API. Use when you need to define a new role type that can be assigned during incidents to organize responsibilities and ensure the right 
  - body: { name: string, shortform: string, description: string, instructions: string }
- `POST https://api.mcp.ai/api/incident_io/create/incident/status` — Tool to create a new incident status in incident.io. Use when you need to add a custom status for categorizing incidents as 'live' (active), 'learning' (post-incident), or 'closed'.
  - body: { name: string, category: string, description: string }
- `POST https://api.mcp.ai/api/incident_io/create/incidents/v2` — Tool to create a new incident in incident.io using the V2 API. Use when you need to report and track an operational issue or outage. Requires at minimum an idempotency_key and visibility setting. Opti
  - body: { mode?: string, name?: string, summary?: string, visibility: string, severity_id?: string, slack_team_id?: string, idempotency_key: string, incident_type_id?: string, incident_status_id?: string, custom_field_entries?: object[], incident_role_assignments?: object[], incident_timestamp_values?: object[], slack_channel_name_override?: string, retrospective_incident_options?: object }
- `POST https://api.mcp.ai/api/incident_io/create/managed/resources/v2` — Tool to create a managed resource in incident.io. Use when you need to mark a resource (schedule, escalation path, or workflow) as being managed by an external system like Terraform or a custom automa
  - body: { managed_by: string, source_url?: string, annotations: object, resource_id: string, resource_type: string }
- `POST https://api.mcp.ai/api/incident_io/create/severities/v1` — Tool to create a new severity level in incident.io. Use when you need to define a new severity classification for incidents with a specific rank and description.
  - body: { name: string, rank?: integer, description: string }
- `POST https://api.mcp.ai/api/incident_io/delete/alert/attributes/v2` — Tool to delete an alert attribute from incident.io. Use when you need to remove an alert attribute that is no longer needed or was created in error.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/delete/alert/routes/v2` — Tool to delete an alert route from incident.io. Use when you need to remove an alert route configuration that is no longer needed or was created in error.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/delete/alert/sources/v2` — Tool to delete an alert source from incident.io. Use when you need to remove an alert source that is no longer needed or was created in error.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/delete/catalog/entries/v3` — Tool to archive a catalog entry from incident.io using V3 API. Use when you need to remove a catalog entry that is no longer needed. This operation archives the entry from the catalog.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/delete/catalog/types/v3` — Tool to archive a catalog type and all its entries from incident.io. Use when you need to remove a catalog type that is no longer needed.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/delete/custom/field` — Tool to delete a custom field from incident.io. Use when you need to remove a custom field definition. The deletion is permanent and cannot be undone.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/delete/custom/field/options/v1` — Tool to delete a custom field option in incident.io. Use when you need to permanently remove a custom field option by its ID.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/delete/custom/fields/v2` — Tool to delete a custom field from incident.io using the V2 API. Use when you need to permanently remove a custom field definition by its ID.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/delete/escalation/paths/v2` — Tool to delete an escalation path from incident.io. Use when you need to remove an escalation path that is no longer needed or was created in error.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/delete/incident/roles/v2` — Tool to delete an incident role by ID. Use when you need to permanently remove an incident role from incident.io.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/delete/incident/status/v1` — Tool to delete an incident status by its ID. Use when you need to remove an incident status from the system.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/delete/schedules/v2` — Tool to delete a schedule from incident.io. Use when you need to remove a schedule that is no longer needed or was created in error.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/delete/severity` — Tool to delete a severity in incident.io. Use when you need to permanently remove a severity level from your incident management configuration.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/delete/workflows/v2` — Tool to delete a workflow from incident.io using the V2 API. Use when you need to permanently remove a workflow definition by its ID.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/edit/incidents/v2` — Tool to edit an existing incident in incident.io. Use when you need to update incident details like name, summary, severity, status, custom fields, or role assignments.
  - body: { id: string, incident: object, notify_incident_channel: boolean }
- `POST https://api.mcp.ai/api/incident_io/get/alert/attributes/v2` — Tool to retrieve a specific alert attribute by its ID from incident.io. Use when you need to get details about an alert attribute such as its type, whether it's required, or if it accepts arrays.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/get/alert/routes/v2` — Tool to retrieve a specific alert route configuration by its ID from incident.io. Use when you need to view the details of an alert route, including its conditions, escalation bindings, and incident t
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/get/alert/sources/v2` — Tool to retrieve a specific alert source by its ID from incident.io. Use when you need to get details about an alert source configuration including its template and HTTP options.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/get/catalog/entry/v3` — Tool to retrieve a specific catalog entry by ID from incident.io. Use when you need to get details about a catalog entry including its attributes and values.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/get/catalog/types/v3` — Tool to retrieve a specific catalog type by ID from incident.io V3 API. Use when you need to get details about a catalog type's configuration, schema, or metadata.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/get/custom/field/options/v1` — Tool to retrieve a specific custom field option by its ID. Use when you need details about a custom field option in incident.io.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/get/custom/field/v1` — Tool to retrieve details of a specific custom field by ID in incident.io. Use when you need information about a custom field's configuration, options, or metadata.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/get/custom/field/v2` — Tool to retrieve details of a specific custom field by ID using the V2 API in incident.io. Use when you need information about a custom field's configuration or metadata from the V2 endpoint.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/get/escalations/v2` — Tool to retrieve a specific escalation by ID from incident.io. Use when you need detailed information about an escalation including its status, priority, creator, events, and related incidents/alerts.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/get/incident/roles/v2` — Tool to retrieve a specific incident role by ID using V2 API. Use when you need to get details about a specific incident role.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/get/incident/status` — Tool to retrieve details of a specific incident status by ID. Use when you need to get information about a particular incident status configuration.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/get/incident/timestamps/v2` — Tool to retrieve a specific incident timestamp by ID using V2 API. Use when you need to get details about a specific incident timestamp configuration.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/get/incident/type` — Tool to retrieve detailed information about a specific incident type by ID. Use when you need to view configuration details, settings, or properties of a particular incident type.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/get/incident/v2` — Tool to retrieve a specific incident by ID using V2 API. Use when you need detailed information about an incident including duration metrics, timestamps, and workload data.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/get/schedules/v2` — Tool to retrieve a specific schedule by ID from incident.io using V2 API. Use when you need to view details about an on-call schedule, including rotations, shifts, and configuration.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/get/severities/v1` — Tool to retrieve a specific severity by ID from incident.io. Use when you need to fetch details about a particular severity level.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/get/users/v2` — Tool to retrieve a specific user by ID from incident.io using V2 API. Use when you need to get detailed information about a user including their role assignments.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/get/workflows/v2` — Tool to retrieve a specific workflow by ID from incident.io. Use when you need to get details about a workflow's configuration, steps, conditions, and triggers.
  - body: { id: string }
- `POST https://api.mcp.ai/api/incident_io/list/actions/v1` — Tool to list actions from incidents. Use when you need to retrieve actions associated with incidents, filter by follow-up status, or get actions for a specific incident. By default returns actions fro
  - body: { incident_id?: string, is_follow_up?: boolean, incident_mode?: string }
- `POST https://api.mcp.ai/api/incident_io/list/actions/v2` — Tool to retrieve a list of actions from incident.io. Use when you need to view existing actions, optionally filtered by incident ID or incident mode.
  - body: { incident_id?: string, incident_mode?: string }
- `POST https://api.mcp.ai/api/incident_io/list/alert/attributes/v2` — Tool to list all available alert attributes. Use when you need to retrieve the schema of attributes that can be used with alerts.
- `POST https://api.mcp.ai/api/incident_io/list/alert/routes/v2` — Tool to list alert routes from incident.io. Use when you need to retrieve configured alert routes with pagination support.
  - body: { after?: string, page_size?: integer }
- `POST https://api.mcp.ai/api/incident_io/list/alert/sources/v2` — Tool to list all configured alert sources in incident.io. Use when you need to retrieve alert sources that send alerts to incident.io for routing.
- `POST https://api.mcp.ai/api/incident_io/list/alerts/v2` — Tool to list alerts from incident.io. Use when you need to retrieve alerts for the organisation with pagination support.
  - body: { after?: string, page_size?: integer }
- `POST https://api.mcp.ai/api/incident_io/list/catalog/entries/v3` — Tool to list entries from a catalog type in incident.io. Use when you need to retrieve catalog entries for a specific catalog type with pagination and filtering support.
  - body: { after?: string, page_size: integer, identifier?: string, catalog_type_id: string }
- `POST https://api.mcp.ai/api/incident_io/list/catalog/resources/v3` — Tool to retrieve all available catalog resource types from the V3 API. Use when you need to list the types of data that can be held within the catalog or see what attribute types are available for upd
- `POST https://api.mcp.ai/api/incident_io/list/catalog/types/v3` — Tool to retrieve all catalog types configured for an organization using V3 API. Use when you need to list available catalog types or understand the catalog schema structure. This includes both synced 
- `POST https://api.mcp.ai/api/incident_io/list/escalation/paths/v2` — Tool to list escalation paths from incident.io. Use when you need to retrieve configured escalation paths with pagination support.
  - body: { after?: string, page_size?: integer }
- `POST https://api.mcp.ai/api/incident_io/list/escalations/v2` — Tool to list escalations from incident.io. Use when you need to retrieve escalations for the organisation with pagination support.
  - body: { after?: string, page_size?: integer }
- `POST https://api.mcp.ai/api/incident_io/list/follow/ups/v2` — Tool to retrieve a list of follow-ups from incident.io. Use when you need to view existing follow-ups, optionally filtered by incident ID or incident mode.
  - body: { incident_id?: string, incident_mode?: string }
- `POST https://api.mcp.ai/api/incident_io/list/identity/v1` — Tool to retrieve identity information for the current API key. Use to check which organization and roles are associated with the API key.
- `POST https://api.mcp.ai/api/incident_io/list/incident/alerts/v2` — Tool to list incident alerts from incident.io. Use when you need to retrieve connections between incidents and alerts with optional filtering by incident_id or alert_id.
  - body: { alert_id?: string, page_size: integer, incident_id?: string }
- `POST https://api.mcp.ai/api/incident_io/list/incident/attachments/v1` — Tool to list incident attachments from incident.io. Use when you need to retrieve external resources linked to incidents, such as PagerDuty incidents, Jira issues, or GitHub pull requests. Filter by i
  - body: { external_id?: string, incident_id?: string, resource_type?: string }
- `POST https://api.mcp.ai/api/incident_io/list/incident/relationships/v1` — Tool to list incident relationships for a given incident. Use when you need to retrieve relationships between incidents such as blocking dependencies, causal links, or general associations.
  - body: { after?: string, page_size?: integer, incident_id: string }
- `POST https://api.mcp.ai/api/incident_io/list/incident/roles/v2` — Tool to list all incident roles for an organization using V2 API. Use when you need to retrieve available incident roles and their configurations.
- `POST https://api.mcp.ai/api/incident_io/list/incident/updates/v2` — Tool to list incident updates from incident.io. Use when you need to retrieve updates for incidents with optional filtering by incident ID and pagination support.
  - body: { after?: string, page_size?: integer, incident_id?: string }
- `POST https://api.mcp.ai/api/incident_io/list/incidents/v2` — Tool to list incidents from incident.io using the V2 API. Use when you need to retrieve incidents with advanced filtering by status, severity, type, timestamps, and pagination support.
  - body: { after?: string, page_size?: integer, mode_one_of?: string[], severity_gte?: string, severity_lte?: string, status_not_in?: string[], status_one_of?: string[], created_at_gte?: string, created_at_lte?: string, updated_at_gte?: string, updated_at_lte?: string, severity_not_in?: string[], severity_one_of?: string[], incident_type_not_in?: string[], incident_type_one_of?: string[], status_category_not_in?: string[], status_category_one_of?: string[] }
- `POST https://api.mcp.ai/api/incident_io/list/ip/allowlists` — Tool to retrieve the current IP allowlist configuration for incident.io. Use when you need to check which IP addresses are allowed to access the incident.io API.
- `POST https://api.mcp.ai/api/incident_io/list/schedule/entries/v2` — Tool to list schedule entries for a specific schedule in incident.io. Use when you need to retrieve on-call schedule entries for a given time window.
  - body: { schedule_id: string, entry_window_end?: string, entry_window_start?: string }
- `POST https://api.mcp.ai/api/incident_io/list/schedules/v2` — Tool to list schedules from incident.io. Use when you need to retrieve on-call schedules with pagination support.
  - body: { after?: string, page_size?: integer }
- `POST https://api.mcp.ai/api/incident_io/list/status/pages/v2` — Tool to list status pages from incident.io. Use when you need to retrieve public or customer status pages with pagination support.
  - body: { after?: string, page_size?: integer }
- `POST https://api.mcp.ai/api/incident_io/list/users/v2` — Tool to list users in incident.io. Use when you need to retrieve users with their role information, filter by email or Slack user ID, with pagination support.
  - body: { after?: string, email?: string, page_size?: integer, slack_user_id?: string }
- `POST https://api.mcp.ai/api/incident_io/list/workflows/v2` — Tool to list workflows from incident.io. Use when you need to retrieve configured workflows with pagination support.
  - body: { after?: string, page_size?: integer }
- `POST https://api.mcp.ai/api/incident_io/update/alert/attributes/v2` — Tool to update an alert attribute in incident.io. Use when you need to modify the configuration of an existing alert attribute such as changing its name, type, or whether it's required or an array.
  - body: { id: string, name: string, type: string, array: boolean, required: boolean }
- `POST https://api.mcp.ai/api/incident_io/update/alert/sources/v2` — Tool to update an existing alert source configuration in incident.io. Use when you need to modify alert source properties such as name or template configuration including title, description, expressio
  - body: { id: string, name: string, template: object }
- `POST https://api.mcp.ai/api/incident_io/update/catalog/entries/bulk/v3` — Tool to bulk update catalog entries in incident.io v3 API. Use when you need to create or update multiple catalog entries at once for a specific catalog type. This is more efficient than updating entr
  - body: { entries: object[], delete_mode?: string, catalog_type_id: string }
- `POST https://api.mcp.ai/api/incident_io/update/catalog/entries/v3` — Tool to update an existing catalog entry in incident.io using the v3 API. Use when you need to modify catalog entry properties such as name, attributes, aliases, or ranking. Note: All attribute values
  - body: { id: string, name: string, rank?: integer, aliases?: string[], external_id?: string, attribute_values: object }
- `POST https://api.mcp.ai/api/incident_io/update/catalog/types/v3` — Tool to update a catalog type in incident.io V3 API. Use when you need to modify the configuration of an existing catalog type such as its name, description, annotations, or other properties.
  - body: { id: string, name: string, ranked?: boolean, categories?: string[], annotations?: object, description: string, source_repo_url?: string }
- `POST https://api.mcp.ai/api/incident_io/update/custom/field/option/v1` — Tool to update a custom field option in incident.io. Use when you need to modify the value, sort order, or parent custom field of an existing option.
  - body: { id: string, value: string, sort_key?: integer, custom_field_id: string }
- `POST https://api.mcp.ai/api/incident_io/update/custom/fields/v1` — Tool to update an existing custom field configuration in incident.io. Use when you need to modify custom field properties such as name, description, visibility settings, or requirement rules.
  - body: { id: string, name: string, required?: string, description: string, required_v2?: string, show_before_update: boolean, show_before_closure: boolean, show_before_creation: boolean, show_in_announcement_post?: boolean }
- `POST https://api.mcp.ai/api/incident_io/update/custom/fields/v2` — Tool to update an existing custom field in incident.io using the V2 API. Use when you need to modify the name or description of a custom field.
  - body: { id: string, name: string, description: string }
- `POST https://api.mcp.ai/api/incident_io/update/escalation/paths/v2` — Tool to update an escalation path in incident.io. Use when you need to modify the configuration of an existing escalation path, including its name, escalation levels, targets, conditions, or working h
  - body: { id: string, name: string, path: object[], team_ids?: string[], working_hours?: object[] }
- `POST https://api.mcp.ai/api/incident_io/update/incident/roles/v2` — Tool to update an existing incident role in incident.io using the V2 API. Use when you need to modify the name, description, instructions, or shortform of an incident role.
  - body: { id: string, name: string, shortform: string, description: string, instructions: string }
- `POST https://api.mcp.ai/api/incident_io/update/incident/status` — Tool to update an existing incident status in incident.io. Use when you need to modify the name or description of an incident status. Note that only live and learning statuses can be fully configured.
  - body: { id: string, name: string, description: string }
- `POST https://api.mcp.ai/api/incident_io/update/schedules/v2` — Tool to update an existing schedule in incident.io. Use when you need to modify schedule properties such as name, timezone, rotations, layers, or holiday configurations.
  - body: { id: string, schedule: object }
- `POST https://api.mcp.ai/api/incident_io/update/schema/catalog/types/v3` — Tool to update the schema of a catalog type in incident.io V3 API. Use when you need to add, modify, or remove attributes from a catalog type's schema. The version parameter must match the current sch
  - body: { id: string, version: integer, attributes: object[] }
- `POST https://api.mcp.ai/api/incident_io/update/severities/v1` — Tool to update a severity in incident.io. Use when you need to modify the name, description, or rank of an existing severity level.
  - body: { id: string, name: string, rank?: integer, description: string }
- `POST https://api.mcp.ai/api/incident_io/update/workflows/v2` — Tool to update an existing workflow in incident.io using the V2 API. Use when you need to modify workflow configuration including name, conditions, steps, expressions, and execution settings.
  - body: { id: string, name: string, delay?: object, state?: string, steps: object[], folder?: string, once_for: string[], shortform?: string, annotations?: object, expressions: object[], condition_groups: object[], runs_on_incidents: string, continue_on_step_error: boolean, runs_on_incident_modes: string[], include_private_incidents: boolean }

## Example prompts
- "What can I do in incident.io?"
- "Show me a summary of my incident.io account"

## More
- Page: https://mcp.ai/incident_io
- Agent spec (llms.txt): https://mcp.ai/incident_io/llms.txt
- Postman collection: https://mcp.ai/incident_io/postman.json
