incident.io MCP server: 91 tools, three are agents
An incident connector that answers with statistics rather than records. Three of its tools are incident.io's own AI agents. One downloads a whole investigation as an archive.
Checked 6 October 2026 · from incident.io's own remote MCP documentation and the archived repository's GitHub record
One of 91 guides to monitoring and developer tools. Each covers what an AI coding agent can get out of the tool through MCP, the protocol that lets the agent query the tool directly.
Summary
incident.io runs a hosted MCP server at mcp.incident.io/mcp, and its documentation lists 91 tools as of 6 October 2026. They span incidents, alerts, escalations, on-call schedules, maintenance windows, status pages, the catalog, follow-ups and investigations.
Three tools are described as AI agents rather than as queries: ask, ask_incident and ask_telemetry. Their answers are generated, not retrieved.
Another tool, analysis_start, downloads a workspace of playbooks, your organization's configuration and a report template, then has the agent work through named stages.
What is the incident.io MCP server?
It is incident.io's server for the Model Context Protocol. Incident.io runs incident response, so a connected agent reaches incidents, the alerts behind them and the people who were paged.
The documentation leads with statistics rather than with records. incident_stats aggregates by more than ten dimensions. It also reports workload, meaning how much responder time fell in working hours, in the late evening or overnight.
investigation_sync goes the other way and downloads a complete investigation as an archive: every finding, check, conversation and piece of evidence, meant for the agent to read in full.
incident.io has two live MCP servers and one archived one:
| Server | Tools | State |
|---|---|---|
Remote MCP · mcp.incident.io/mcp | 91 | The documented connector. OAuth or API keys, enabled from Settings |
| macOS application, local server | 91, plus tools incident.io does not enumerate | Documented as carrying every tool below, with extra investigation and interface support |
incident-io/incidentio-mcp-golang on GitHub | Not counted here | Archived prototype. Last pushed 1 April 2026, 30 stars |
The macOS application needs no separate configuration; the remote endpoint exists for clients that cannot run the macOS application, such as a browser or an automated pipeline.
It sits in production observability, reaches telemetry only through an agent that queries other systems, and reaches nothing in code review, CI or cost.
| Part of the work | What incident.io has here | Can an agent reach it |
|---|---|---|
| Code, tests & review | None | Nothing for code or review |
| CI & release | None | No pipeline or deployment tools. Incidents reference services, not builds |
| Production observability | Incidents, alerts, escalations, schedules, catalog | Yes. Core strength. Incident history, paging patterns and on-call state are all reachable |
| Agent observability & evals | None | No traces or evaluations for your own agents |
| AI cost management | Responder workload | Partial, and not money. Workload breakdowns show where responder time went; there is no spend surface |
For an agent, incident.io answers who was paged, how often and at what hour. It answers patterns across many incidents better than the detail of one incident. It cannot show the telemetry itself except through ask_telemetry, which queries systems you have connected to incident.io.
What can an AI agent do with incident.io?
| Task | Tools | Works | Watch out for |
|---|---|---|---|
| Ask how the quarter went | incident_stats incident_list | Yes | Statistics group by more than ten dimensions, including custom fields |
| Separate real pages from noise | alert_stats alert_list alert_source_list | Yes | Alert statistics carry workload from the incidents they produced |
| Check who is on call | schedule_list schedule_show escalation_path_show | Yes | escalation_path_show says who would be paged at each level |
| Page someone or respond to a page | escalation_create escalation_respond | Yes | Both act on real pages, with people on the other side |
| Change who is on call | schedule_override_create cover_request_create notification_pause_create | Yes | Each one changes who a real escalation reaches |
| Open or update an incident | incident_create incident_update follow_up_create | Yes | All three write to live incident records |
| Read a full investigation | incident_show investigation_sync | Yes | investigation_sync downloads an archive rather than returning a summary |
| Run a structured review | analysis_start resource_show | Yes | It downloads playbooks and a report template, then works through stages |
The documentation's own advice is to read the configuration first with resource_show, then start with statistics and drill in, rather than listing records and counting them in the model.
91 tools documented as of 6 October 2026, covering reads, writes and three agents
- Incidents4
incident_listincident_showincident_statsincident_update_list- Alerts4
alert_listalert_showalert_source_listalert_stats- Escalation5
escalation_listescalation_showescalation_statsescalation_path_listescalation_path_show- On-call4
schedule_listschedule_showteam_listteam_show- Catalog3
catalog_type_listcatalog_entry_listcatalog_entry_show- Follow-ups1
follow_up_list- Agents3
askask_incidentask_telemetry- Deep reading3
investigation_syncanalysis_startresource_show- Runbooks and documents3
document_searchdocument_showhelp_query- Changing state11Write
incident_createincident_updateincident_mergefollow_up_createaction_createalert_resolveescalation_createescalation_respondschedule_override_createmaintenance_window_createnotification_pause_create- Other1
feedback
Counts come from incident.io's own remote MCP tools table, read 6 October 2026. The groups name examples; the table lists all 91. On 24 August 2026 it listed 32. The hosted endpoint answers tools/list only after authenticating, so the inventory is documentary rather than captured.
What the tool definitions cost in context
A client that loads every tool definition at the start of a session spends this much context before the first question. Claude Code defers definitions by default through tool search, and loads a tool's definition when the agent needs it. The method below gives the version and date measured.
A context window is the amount of text a model can hold at once. On 24 August 2026 the documentation listed 32 tools, and they cost 1,875 to 2,122 tokens on Claude when a client loads them. The table now lists 91, so the current cost is higher. Three tools are AI agents rather than data reads, and they carry their own descriptions like any other tool.
Statistics tools come before record tools in the documented list, which is the order incident.io recommends working in.
| Tool set | Tools | Tokens (GPT-5.6, GPT-5.5) | Tokens (GPT-4, GPT-3.5) | Tokens (Claude Haiku 4.5 to Opus 5) | Share of a 200,000-token window |
|---|---|---|---|---|---|
| Every tool documented on 24 August 2026 | 32 | 534 to 851 | 528 to 845 | 1,875 to 2,122 | 0.3% to 1.1% |
Encodings: GPT-5.6, GPT-5.5 o200k_base; GPT-4, GPT-3.5 cl100k_base; Claude Haiku 4.5 to Opus 5 count_tokens. Counted from the 32 tool entries in the vendor's own documentation on 24 August 2026. That documentation is the only public inventory.
The server could not be run for a live tools/list. No input schemas are available, so these figures cover each tool's name and description only. They are a floor, not the figure.
The Claude columns are measured through the API's count_tokens endpoint with an empty schema per tool. So they cover the same content as the GPT columns. The range there is two tokenizer generations. Haiku 4.5 and Opus 4.6 are at the low end. Opus 5 and Sonnet 5 are at the high end. The gap between them is about a tenth.
incident.io MCP server limits: where answers come back incomplete
incident.io mixes tools that return records with tools that generate answers; the limits below follow from that split.
The agent says: “The root cause was a bad deploy.” An agent tool may have concluded that.
ask, ask_incident and ask_telemetry are described as AI agents for on-call queries, incident investigation and telemetry. Their output is generated rather than retrieved.
The three sit in the same tool list as incident_show and incident_list, which do return records, and a transcript does not distinguish them.
Guard: Require the agent to name which tool produced a claim, and to treat the three agents as sources of opinion.
The agent says: “I have acknowledged that.” A real escalation was answered.
escalation_respond acknowledges or declines a page, and escalation_create pages a user or an escalation path. Both arrive in the same list as the read-only escalation tools and need no separate step to reach.
Guard: Decide before connecting whether an agent may page people or respond to pages, and check the client's approval settings.
The agent says: “Overnight paging is down.” That depends on the grouping used.
incident_stats groups by more than ten dimensions and reports workload split across working hours, late evening and overnight. Two groupings of the same period can support opposite readings.
Guard: Have the agent state the period and every grouping dimension behind a statistic.
How to configure incident.io MCP for agents
- 1
Check whether you already have it
The macOS application ships a local server carrying the same tools, so a team using it needs no extra setup.
- 2
Enable it in Settings first
The remote server is switched on from the MCP page in incident.io settings before any client can connect.
- 3
Choose OAuth or an API key deliberately
OAuth suits interactive clients; API keys are documented for automated systems.
- 4
Decide about the agent tools
ask,ask_incidentandask_telemetrygenerate answers, which is a different kind of result fromincident_list.
Paste this into your agent’s instructions
Three tools are agents and one downloads an archive, so a claim can come from generation, from a record or from a file. The block makes the agent say which.
When you answer using incident.io MCP tools, state: - The tool you called. ask, ask_incident and ask_telemetry are agents, so their answers are generated. - The period and grouping behind any statistic. - Whether you called a tool that changes state, such as incident_create, alert_resolve, escalation_create or escalation_respond. More than 30 tools change state. When a search returns nothing, state that no incidents matched the filters above. Write your answer in ASD-STE100 Simplified Technical English. Use short sentences with one idea in each.
Do you need the MCP server at all?
Not for reporting on a schedule. incident.io has a public API, and for that it is the cheaper route.
The connector earns its place on the statistics tools and the playbooks. incident_stats with workload breakdowns is analysis the raw API does not do, and analysis_start supplies a method rather than data.
If the macOS application is already installed, its local server is the same surface without a remote connection to configure.
Connect it for operational review and triage. Use the API for scheduled reporting.
incident.io MCP server setup
The remote server is enabled from Settings, then MCP, inside incident.io. Nothing is installed.
If the macOS application is already in use, it carries a local server with the same tools and needs no configuration at all.
Claude Code
The client opens a browser to authorize with OAuth, so no credential is stored here.
claude mcp add --transport http incidentio \ https://mcp.incident.io/mcp
Cursor
In ~/.cursor/mcp.json. Authorization happens in the browser on first connection.
{"mcpServers":{"incidentio":{
"url":"https://mcp.incident.io/mcp"}}}Codex CLI
Codex reads TOML, so the JSON blocks above will not transfer. OAuth still runs in a browser.
[mcp_servers.incidentio] url = "https://mcp.incident.io/mcp"
Every other client
Each block below is the configuration for one client, with the file path and the key that client expects.
Claude Desktop
macOS ~/Library/Application Support/Claude/claude_desktop_config.json. Windows %APPDATA%\Claude\claude_desktop_config.json. There is no CLI. Edit through Settings, Developer, Edit Config.
Quit and restart fully for changes to load. Paths in args must be absolute. Logs at ~/Library/Logs/Claude/mcp.log.
No credentials appear in the file. The client opens a browser to authorize with OAuth on first connection.
{"mcpServers":{"incidentio":{"url":"https://mcp.incident.io/mcp"}}}Gemini CLI
~/.gemini/settings.json globally, or .gemini/settings.json per project. Key mcpServers. CLI: gemini mcp add.
No credentials appear in the file. The client opens a browser to authorize with OAuth on first connection.
{"mcpServers":{"incidentio":{"url":"https://mcp.incident.io/mcp"}}}VS Code Copilot
.vscode/mcp.json per workspace, or your user profile. CLI: code --add-mcp.
No credentials appear in the file. The client opens a browser to authorize with OAuth on first connection.
{"servers":{"incidentio":{"url":"https://mcp.incident.io/mcp"}}}`.vscode/mcp.json` takes the key `servers`. VS Code also reads mcpServers from a portable .mcp.json at the project root or ~/.copilot/mcp-config.json. Its docs recommend the portable files for new servers.
Windsurf
~/.codeium/windsurf/mcp_config.json, which is the path Windsurf documents. Key mcpServers, the same JSON shape as Cursor, carrying the same OAuth sign-in.
Zed
~/.config/zed/settings.json, carrying the same OAuth sign-in as the blocks above.
The key is `context_servers`. Zed does not call them MCP servers in config, so searching its settings for mcp finds nothing.
Google Antigravity
~/.gemini/config/mcp_config.json globally, or .agents/mcp_config.json per project. Key mcpServers. There is no CLI. Use the /mcp overlay in the editor. Supports stdio, streamable HTTP, SSE and websocket.
No credentials appear in the file. The client opens a browser to authorize with OAuth on first connection.
{"mcpServers":{"incidentio":{"url":"https://mcp.incident.io/mcp"}}}Amp (Sourcegraph)
~/.config/amp/settings.json or .amp/settings.json, carrying the same OAuth sign-in. The amp mcp CLI covers approve, doctor and oauth.
The key is `amp.mcpServers`, namespaced. A bare mcpServers block is ignored.
Cline
~/.cline/mcp.json per the docs. The source also reads ~/.cline/data/settings/cline_mcp_settings.json. Key mcpServers, standard JSON shape, carrying the same OAuth sign-in. Supports stdio, streamable HTTP and SSE.
Goose (Block)
~/.config/goose/config.yaml, carrying the same OAuth sign-in.
YAML, and servers are called `extensions`. Goose does not use the MCP vocabulary in config at all. Add one interactively with goose configure, or per session with goose session --with-extension.
Kiro (AWS)
.kiro/settings/mcp.json per workspace, or ~/.kiro/settings/mcp.json globally. Key mcpServers, standard JSON shape, carrying the same OAuth sign-in.
Warp
~/.warp/.mcp.json or .warp/.mcp.json. Key mcpServers, standard shape, carrying the same OAuth sign-in. Also addable through the /agent-add-mcp skill.
JetBrains Junie
.junie/mcp/mcp.json per project, or ~/.junie/mcp/mcp.json. Key mcpServers, carrying the same OAuth sign-in. Use /mcp in the CLI to manage.
Roo Code
.roo/mcp.json per project. The global file is mcp_settings.json, opened from the Roo Code MCP settings view with Edit Global MCP. Key mcpServers, carrying the same OAuth sign-in.
Continue
.continue/mcpServers/*.yaml, one file per server, carrying the same OAuth sign-in.
YAML, and `mcpServers` is a list, not an object. Every JSON client keys servers by name. Continue takes an array, so a converted config will not parse.
Trae
.trae/mcp.json per project, or paste into the UI under Raw Config (JSON). Key mcpServers, standard shape, carrying the same OAuth sign-in.
Devin
Devin has no config file to edit. Servers are added through a web form in the settings UI, and Devin's documentation states you do not need to write or paste JSON. The block below is the shape those fields describe, shown for reference. Either route uses the same OAuth sign-in.
API key, for automated systems
incident.io documents API keys for pipelines and other unattended clients that cannot complete a browser flow.
{"mcpServers":{"incidentio":{"command":"npx",
"args":["-y","mcp-remote","https://mcp.incident.io/mcp",
"--header","Authorization: Bearer $INCIDENT_IO_API_KEY"],
"env":{"INCIDENT_IO_API_KEY":"<your-key>"}}}}Read-only access, permissions and security
More than 30 tools change live state
They create and merge incidents, resolve alerts, page people, override schedules, pause notifications and schedule maintenance windows. incident.io's tools table names each one.
escalation_createandescalation_respondact on pagesThe first pages a user or an escalation path. The second acknowledges or declines a page. People are on the other side of both.
investigation_syncdownloads everythingIt returns the full investigation filesystem as an archive, including conversation history and evidence.
Three tools are agents
ask,ask_incidentandask_telemetryproduce generated answers, andask_telemetryreaches the logging and metrics systems connected to incident.io.
Troubleshooting
- The client cannot connect
- The remote server is enabled from Settings, then MCP, in incident.io. Until it is switched on there is nothing to authenticate against.
- An OAuth client cannot complete the flow
- API keys are documented for automated systems that cannot open a browser. The key travels in an Authorization header.
- An answer cannot be traced to a record
- Check whether the agent used
ask,ask_incidentorask_telemetry. All three are agents, so the answer was generated rather than looked up. - The analysis stops halfway
analysis_startdownloads a workspace and expects the agent to work through stages: collecting statistics, drilling in, identifying themes and synthesizing. A session that ends before the last stage leaves the analysis unfinished.
incident.io MCP server: Reference
| Item | Value |
|---|---|
| Endpoint | mcp.incident.io/mcp |
| Enablement | Settings, then MCP, inside incident.io |
| Auth | OAuth for interactive clients; API keys for automated ones |
| Tools | 91 documented, as of 6 October 2026 |
| Agent tools | ask, ask_incident, ask_telemetry |
| State-changing tools | More than 30, across incidents, alerts, paging, on-call cover and maintenance windows |
| Local alternative | The macOS application ships the same tools |
| Archived prototype | incident-io/incidentio-mcp-golang, last pushed 1 April 2026 |
| Inventory source | incident.io's own documentation, read 6 October 2026 |
What engineers report
The documentation is specific about tool behavior, so the counts below come from it directly.
| What was checked | What it shows |
|---|---|
| Documented tools | 91, as of 6 October 2026 |
| Agent tools | 3 |
| State-changing tools | More than 30 |
Grouping dimensions on incident_stats | More than ten, per the documentation |
| Analysis playbooks | 5. incident.io names them in its documentation; this page does not reproduce the names |
| Archived prototype stars | 30 |
| Archived prototype last push | 1 April 2026 |
Tool inventory and behavior read from incident.io's own remote MCP documentation on 6 October 2026. Its tools table gives the grouping-dimension count on incident_stats as 10+, so the counts table repeats that wording rather than a number. An unauthenticated tools/list against mcp.incident.io/mcp returned 401 on 24 August 2026, so the figures come from documentation rather than from the server itself. Repository facts from the GitHub API.
Should you connect an agent to incident.io?
Yes. Best for teams that already run the macOS application, since it carries the same tools with no remote setup.
- Strongest fit
- incident.io teams who want an agent to run operational reviews rather than to look up single incidents.
- Main advantage
- Statistics with workload breakdowns and downloadable playbooks, which go beyond returning records.
- Main weakness
- Three tools generate answers, and nothing in a transcript separates them from tools that return records.
- Operational risk
- More than 30 tools change state, including
escalation_create, which pages people, andescalation_respond, which answers pages.
From Oodle
One platform for agent traces and infrastructure
Agent traces usually sit in a different product from the rest of your telemetry, so when a slow database makes an agent slow the symptom is in one tool and the cause is in another. Oodle keeps both in one query surface.
See agent observabilityFrequently asked questions
How many tools does the incident.io MCP server have?
91 documented as of 6 October 2026, up from 32 on 24 August 2026. Counted from incident.io's own remote MCP documentation, because the hosted endpoint answers tools/list only after authenticating.
What are ask, ask_incident and ask_telemetry?
AI agents, described as such in the documentation. They generate answers about on-call, incidents and telemetry rather than returning records.
Do I need the remote server?
Not if you use the macOS application. It ships a local MCP server with the same tools and needs no additional setup.
Can an agent acknowledge a page?
Yes, through escalation_respond. escalation_create can also page a user or an escalation path. Both arrive alongside the read-only escalation tools, so set client approvals before connecting.
What does analysis_start do?
It downloads a workspace of playbooks, your organization's configuration and a report template, then guides the agent through named analysis stages.