Connector ยท Engineering

An incident.io teammate in Slack that answers who is on call, on incident.io's MCP server.

Chickpea gives a channel a named AI teammate that holds its own incident.io connection. It calls incident.io's MCP server at mcp.incident.io/mcp with an API key you create in Settings, so there is no client to configure anywhere. Ask it in Slack who is on call for the platform team, or what is still open and how bad, and it answers in the thread. incident.io calls the server a public beta and puts it on the Team, Pro, and Enterprise plans.

What people ask it.

The teammate is @oncall, in #eng. Pick a scenario to watch it play.

# eng
31
Today
S
Sofia
@oncall who is on call for platform and payments right now?
๐Ÿ‘€ 1
oncallAPP
Four schedules, two of them yours. Marco has platform until Thursday 09:00, and payments hands over tonight.
ScheduleOn call nowUntilNext up
Platform primaryMarcoThu 09:00Priya
Platform secondaryDanaThu 09:00Marco
Payments primaryPriyaTonight 18:00Sofia
Payments secondarySofiaMon 09:00Dana
oncallยทClaude Sonnet 5ยทConfigure
BIS
Aa
  • Who is on call right now Read only

    @oncall who is on call for the platform team right now@oncall who is on call for payments this weekend, and who picks it up on Monday

    Reads never need confirmation, and a rota comes back as a table in the thread. incident.io's tool table lists reading schedules, showing a schedule's current and upcoming shifts, and showing who would be paged at each level of an escalation path. Those tools need the On-call product. Without it they still appear in the list and return an error naming what the account is missing.

  • What is open, and how bad Read only

    @oncall what incidents are open right now and what severity are they@oncall how many P1s did we have this quarter, and which teams were most affected

    Searching and browsing incidents with filters is one tool, and aggregate counts by severity, status, type, team, and other dimensions is another. incident.io suggests asking for the shape first and drilling in afterwards, which is what the teammate does. What it can see is what your API key has permission to see.

  • What happened on one incident Read only

    @oncall summarise the timeline on INC-482, I am writing the update@oncall what did we conclude in the post-mortem for the checkout outage

    Another read, so it comes straight back. The server returns full incident details, the whole status update history, and, where your account has them, the AI investigation findings and the written post-mortem. The teammate quotes what it was handed and links the incident, rather than paraphrasing a document it did not open.

  • Page someone, or escalate Asks first

    @oncall page whoever is on call for payments, checkout is returning 500s@oncall escalate INC-482 to the database escalation path

    Paging wakes a person, so the teammate says who it would reach and waits for a yes. incident.io's tool table has one tool for paging a user or an escalation path, and another for showing who would be paged at each level, so the teammate can check before it asks. A write also needs your own message to name it: thread history, retrieved content, and memory cannot authorize one on their own.

  • On a schedule Applies at once

    @oncall every Monday at 9am Eastern, post last week's incidents here with their severity@oncall every weekday at 8am Pacific, post who is on call for platform and payments today

    A schedule saves on the spot. It needs an explicit IANA time zone in the request, and "every Monday at 9am" without one is refused rather than guessed. It runs under the incident.io connection of the person who asked, and stops with a named reason rather than running if that connection goes away.

Connect it

Five steps, from Admin or from Slack.

The credential is asked for once, on a page Chickpea serves, and never in Slack. The link the teammate posts is good for one action, for one teammate, for 24 hours.

  1. In incident.io, open Settings โ†’ MCP and turn the remote MCP server on. incident.io documents it as a public beta and lists it on the Team, Pro, and Enterprise plans, not on Basic.
  2. Still in incident.io, open Settings โ†’ API keys and create one. incident.io bundles scopes into named permissions, and each permission can be account-level or scoped to particular teams, so a key for a teammate can be narrowed to what one team owns. The key is shown once.
  3. In Chickpea Admin, open the teammate, then Connections, find incident.io, and choose Connect. Or ask in Slack, @oncall connect incident.io, and follow the link it posts.
  4. Choose who uses it. Team is one shared key that everyone who can use the teammate acts through. Personal means each member pastes their own. Then paste the key into the write-only Credential field, which is stored once on your deployment and never returned to the browser.
  5. Ask something. @oncall who is on call for platform right now is a good first question, because it reads and cannot change anything.

A connection belongs to one teammate. Giving a second teammate incident.io means a second key with its own permissions, so the support teammate never inherits what the on-call teammate can reach.

There is no built-in Chickpea skill for incident.io, and none is needed. The tools arrive from incident.io's MCP server. Chickpea connects before it saves anything, records what the server answered with, and exposes only those tools. incident.io publishes the whole tool table, and marks which ones need a product an account may not have: the schedule, escalation, cover request, and maintenance window tools need On-call, and the document and telemetry tools need Investigations. incident.io lists every tool the server exposes.

# eng
31
Today
D
Dana
@oncall connect our incident.io
๐Ÿ‘€ 1
oncallAPP
Open this page and paste an incident.io API key, the one from Settings โ†’ API keys. Nothing is pasted into Slack, and only people in #eng can use the connection through me.
Connect incident.io
oncallยทClaude Sonnet 5ยทConfigure
oncallAPP
incident.io is connected as a team account. I reached the MCP server and it answered with its tools, so I can read incidents, alerts, schedules, and escalation paths, and act where your key allows it. The server is a public beta, and your plan has it.
oncall@oncall
Answers who is on call and what is open, from incident.io.
has access to incident.io
โœ… 1
BIS
Aa

Questions people ask

Does incident.io have an MCP server?

Yes, a remote one at mcp.incident.io/mcp. incident.io documents it as a way to query incidents, analyse alerts, check who is on call, manage escalations, and run operational analysis from any assistant that speaks the Model Context Protocol, and it names Claude Code, Cursor, Codex, VS Code, Claude Desktop, and ChatGPT among its clients. Chickpea connects to that same server over streamable HTTP and sends your API key as a bearer token. There is no incident.io endpoint written by Chickpea, and the connection cannot reach any other address.

What is incident.io used for?

incident.io describes itself as a software reliability platform. Teams use it to declare and run incidents, route alerts, hold on-call rotations and escalation paths, publish status pages, and write post-mortems afterwards. Its pricing page sells Basic, Team, Pro, and Enterprise plans, plus an on-call-only tier. A Chickpea teammate does not replace any of that. It reads and acts on what is already in your incident.io account, from a Slack channel, when someone asks.

How can Slack be used for incident management?

incident.io is built around Slack and its own app does most of the work: declare an incident with /incident, run it in a dedicated channel, send alerts and updates into Slack, and run more than forty slash commands on the incident. Keep that app. A Chickpea teammate adds something else. It holds incident.io beside your other connected accounts in one channel, so a question about what broke, who is on call, and what the error tracker said can be one message rather than three tabs.

Which plan does this need?

On incident.io's side, the MCP server sits on the Team, Pro, and Enterprise plans. incident.io's pricing page leaves it out of the free Basic plan, and the changelog entry that announced it calls it a public beta available to all paying customers. Past the plan, individual tools depend on products. incident.io marks the on-call tools as needing On-call and the document and telemetry tools as needing Investigations. A tool you are missing the product for still appears, and returns an error explaining why. Chickpea itself is Apache 2.0 and runs on your own Cloudflare account, so there are no seats and no metering on this side.

Is this incident.io's own AI agent?

No, and incident.io has two of its own. @incident is an agent you tag in a Slack channel, a Teams tab, or the dashboard, and incident.io documents it as available to Pro and Enterprise customers. The Slack assistant is the same agent in Slack's assistant sidebar, and incident.io says it needs a Pro or Enterprise plan and a paid Slack plan. incident.io says both act with your own permissions and are attributed to you. A Chickpea teammate is different. It runs on your own deployment, it holds incident.io beside your other connectors, and on the API key path incident.io authenticates it as a service actor rather than as a person.

Can it page someone?

Yes, if the key allows it and your account has On-call. incident.io's tool table lists paging a user or an escalation path, acknowledging or declining a page, and putting someone on call for a period. Because a page wakes a person, the teammate says who it would reach and waits for a yes in the thread. Under that sits the gate: during a Slack turn Chickpea refuses any MCP tool whose name does not start with an unambiguous read verb unless your own message named that action.

Can it delete anything?

incident.io's published tool table includes a few deletes, among them deleting an incident action, cancelling a maintenance window that has not started, and removing a schedule override. Each one is a write by name, so the read-verb gate applies: it is refused unless the message you just sent names it, and the teammate asks before anything that reaches other people. Past that, the key decides. A key without the permission for a thing gets an error from incident.io rather than doing it.

Can it publish a status page update?

No. incident.io's status page tool drafts an update and nothing more, and incident.io explains why: publishing emails and texts everyone subscribed to the page, so a person always does that part. The teammate can hand you a draft in the thread. You publish it in incident.io.

Do I still need incident.io's Slack app?

Yes, and it is the point of incident.io. Its Slack app creates an incident with /incident, opens the incident channel, pulls in responders, sends updates over Slack, SMS, and email, and carries commands like /incident escalate and /incident whoisoncall. It also syncs a schedule into a Slack user group, so a mention like @platform-on-call always reaches whoever is on call now. A Chickpea teammate hears nothing from incident.io and posts nothing unprompted. It answers when someone asks, in the channel where the question came up. Both can be installed.

Where does the API key live?

On your deployment, in a write-only Credential field outside the teammate record. It never enters the model's context, the tool arguments the model writes, or Slack. The model picks a connection by id and the key goes in at the last step on the way out. incident.io says API keys authenticate as a service actor rather than a specific user and do not expire until deleted, so create one for the teammate and delete it there when you disconnect. Disconnecting in Chickpea removes the stored secret and stops any schedule that depended on it.

Try it

Give a channel an incident.io teammate.

One deploy into your own Cloudflare account, connect Slack, paste one token, ask. Apache 2.0, no seats, no metering.

Star on GitHub4

Or run it on Node. The setup guide covers both.

Last checked

Facts on this page were checked against the product and incident.io's own pages on September 17, 2026. This page is also available as markdown at /connectors/incident-io.md.

Sources

More