Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the PagerDuty in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
Let your AI work with PagerDuty: see open incidents with their timeline, alerts and notes, find out who is on call, read services, escalation policies, schedules and teams, acknowledge, resolve, reassign or escalate incidents after confirming with you, and pull incident analytics.
Try asking
Example prompts for PagerDuty
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → PagerDuty, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
PagerDuty + ChatGPT
Let your AI work with PagerDuty: see open incidents with their timeline, alerts and notes, find out who is on call, read services, escalation policies, schedules and teams, acknowledge, resolve, reassign or escalate incidents after confirming with you, and pull incident analytics.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
PAGERDUTY_API_KEY, PAGERDUTY_API_HOST
Step 1 — Get credentials
- Sign in to PagerDuty and pick the key type. A user token acts as you and sees what you see: open your avatar, then My Profile → User Settings → Create API User Token. A general access key acts for the whole account and needs an admin: Integrations → API Access Keys → Create New API Key. Tick Read-only there for a connector that only reads.
- Paste the key into
PAGERDUTY_API_KEYalone, withoutToken token=in front. - Set
PAGERDUTY_API_HOSTtoapi.pagerduty.comfor the US service region orapi.eu.pagerduty.comfor the EU service region (your region is shown under Account Settings). A key only works on its own region's host. - Optional: with a general access key, set
PAGERDUTY_FROM_EMAILto the email of a PagerDuty user. PagerDuty needs it for every change and records the change under that user. Leave it empty with a user token. - Check the setup with
pagerduty_list_services.pagerduty_get_current_useronly works with a user token; with a general access key PagerDuty answers 400, because that key belongs to no user.
Who sees what: a user token sees and changes only what its owner may in PagerDuty. A general access key covers the whole account; a read-only one cannot change anything. Share the MCP server only with people who may act on your incidents.
Changes page people and close incidents, so the AI asks first: before each of these the AI shows you the incident (number and title) and the change and waits for your yes. pagerduty_acknowledge_incident stops the paging, but the incident stays open. pagerduty_resolve_incident closes it. pagerduty_reassign_incident pages the new user and removes the current assignees. pagerduty_escalate_incident pages the on-call responders of the level you choose. pagerduty_update_incident changes title, urgency or priority (by name, such as P1); a new urgency can change who is paged and how. pagerduty_add_incident_note adds a note that everyone on the incident sees and that cannot be edited later. pagerduty_create_incident opens an incident on a service and pages its on-call responders right away. Nothing is switched off at install and no tool deletes anything; for a read-only setup use a read-only general access key or switch these tools off.
How to work: open incidents come from pagerduty_list_incidents filtered on the statuses triggered and acknowledged; then pagerduty_get_incident, pagerduty_list_incident_log_entries (the timeline), pagerduty_list_incident_alerts (what the monitoring tool sent) and pagerduty_list_incident_notes. Who is on call right now: pagerduty_list_oncalls. Shifts of a schedule: pagerduty_list_schedules, then pagerduty_get_schedule. Escalation levels: pagerduty_list_escalation_policies and pagerduty_get_escalation_policy. Directory: pagerduty_list_services, pagerduty_get_service, pagerduty_list_users (the user id for a reassignment), pagerduty_get_user, pagerduty_list_teams and pagerduty_list_priorities.
Ids and dates: ids are short strings such as PT4KHLK; the incident number (#1234) is not an id. Dates are ISO 8601. pagerduty_list_incidents covers the last 30 days unless you give a start and an end (at most 6 months apart) or ask for all incidents.
Analytics: pagerduty_get_incident_analytics (per incident: time to acknowledge and resolve, escalations, interruptions) and pagerduty_get_incident_metrics (totals for a period or per day, week or month) need a PagerDuty plan that includes Analytics. With a user token they must be filtered by service_ids or team_ids. The data lags real time by a few hours.
Common errors: 401: the key is wrong, was deleted or belongs to the other region's host. 400 about the From header: a general access key made a change without PAGERDUTY_FROM_EMAIL, or that email is not a user of the account. 400 on pagerduty_get_current_user: the key is a general access key. 403: a read-only key tried a change, the user's role does not allow it, or the plan lacks the feature (teams, analytics). 404: no such id on this account. 429: too many requests; wait and retry.
The connector does not cover the Events API (alerts sent with an integration's routing key), creating or changing services, schedules, escalation policies and users, status pages, incident workflows, webhooks, or deleting anything.
Step 2 — Install the 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 — Add the connector in ChatGPT
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
ChatGPT adds MCP servers as plugins on its Plugins page, on the web and on paid plans. Developer mode is no longer needed. In a Business workspace only admins and owners can add one; in Enterprise and Edu an admin can grant the Create plugins with MCPs permission.
- Go to chatgpt.com/plugins, click +, then Add custom MCP server.
- Enter a name, e.g. Name:
PagerDuty. - Under Connection, enter the Server URL
https://cloud.anythingmcp.com/mcp/YOUR_SERVER_IDand keep Authentication on OAuth. - Select I understand and want to continue, then Create as a plugin. When ChatGPT asks, sign in to AnythingMCP and allow access.
- Install the new plugin from your personal plugins, then type @ in a chat and pick it.
Available tools
| Tool | What it does |
|---|---|
pagerduty_get_current_user | Read the PagerDuty user behind the API key: id, name, email, role, time zone and teams |
pagerduty_list_incidents | List incidents, newest first by default: id, number, title, status, urgency, priority, service, escalation policy, who it is assigned to… |
pagerduty_get_incident | Read one incident: number, title, status, urgency, priority, service, escalation policy, assignees, acknowledgements, teams, alert counts… |
pagerduty_list_incident_notes | List the notes on an incident, oldest first: id, text, who wrote it and when |
pagerduty_list_incident_log_entries | Read the timeline of an incident: triggers, notifications, acknowledgements, escalations, reassignments, notes and resolution, each with… |
pagerduty_list_incident_alerts | List the alerts grouped into an incident: id, summary, status, severity, alert key, service, created time and the event details the… |
pagerduty_acknowledge_incident | Acknowledge an incident: it stops escalating and the responders are no longer paged for it, but it stays open |
pagerduty_resolve_incident | Resolve an incident: it is closed, its alerts are resolved and nobody is paged for it any more |
pagerduty_reassign_incident | Reassign an incident to one user: PagerDuty pages that user and removes the current assignees |
pagerduty_escalate_incident | Escalate an incident to a level of its escalation policy: PagerDuty pages the on-call responders of that level |
pagerduty_update_incident | Change an incident's title, urgency or priority |
pagerduty_add_incident_note | Add a note to an incident's timeline |
pagerduty_create_incident | Open a new incident on a service: PagerDuty pages the on-call responders of the service's escalation policy right away |
pagerduty_list_services | List services (the things PagerDuty raises incidents for): id, name, description, status (active, warning, critical, maintenance… |
pagerduty_get_service | Read one service: name, description, status, escalation policy, teams, urgency rule, acknowledgement and auto-resolve timeouts, alert… |
pagerduty_list_escalation_policies | List escalation policies: id, name, description, how many times they repeat, the levels with their delay and targets (users or schedules)… |
pagerduty_get_escalation_policy | Read one escalation policy: levels in order with their delay in minutes and targets (users and schedules), repeat count, services and teams |
pagerduty_list_oncalls | Who is on call: one entry per user, escalation policy and level, with the schedule behind it and the shift start and end |
pagerduty_list_schedules | List on-call schedules: id, name, description, time zone, the users in them and the escalation policies that use them |
pagerduty_get_schedule | Read one schedule with its final rotation for a time window: who is on call from when to when, after overrides |
pagerduty_list_users | List users: id, name, email, role, job title, time zone and teams |
pagerduty_get_user | Read one user: name, email, role, job title, time zone, teams and the type of each contact method (email, phone, push) without the addresses |
pagerduty_list_teams | List teams: id, name and description |
pagerduty_list_priorities | List the incident priorities of the account in order (for example P1 to P5): id, name and description |
pagerduty_get_incident_analytics | Analytics per incident: seconds to first acknowledgement, to engage, to mobilise and to resolve, escalations, reassignments, interruptions… |
pagerduty_get_incident_metrics | Aggregated incident metrics for a period: incident count, mean and percentile times to acknowledge and resolve, escalations, interruptions… |
Example prompts
- "Which PagerDuty incidents are open right now? Sort them by urgency and show who each one is assigned to."
- "Who is on call for the Checkout API right now, and who comes next on its escalation policy?"
- "Acknowledge incident #4821 and add a note that I am looking into the database failover. Show me both first and ask me before you change anything."
- "Reassign the open payment gateway incident to Laura Becker. Tell me the incident and the person before you do it."
- "How did mean time to acknowledge and mean time to resolve develop per week over the last month for the Platform team?"
FAQ
Does the free ChatGPT plan work with custom MCP servers? OpenAI documents custom MCP servers for paid plans only; the Free plan is not on its list.
Next steps
Was this guide helpful?