PagerDuty MCP server
PagerDuty's official MCP server exposes incidents, services, schedules, teams, and orchestrations — 64 tools, read-only by default, with an OAuth-hosted option.
The PagerDuty MCP server is PagerDuty's official integration that lets an AI client work directly with your incident-response data. It covers the platform broadly — 64 tools across 14 domains — so an agent can list and read incidents, related and past incidents, notes, and alerts; manage incident workflows; inspect and edit services, teams, users, schedules, escalation policies, and on-calls; work with change events, log entries, alert grouping settings, and event orchestrations; and read or post to status pages. By default the server exposes only read-only tools, which makes it safe to point at production; mutating tools (creating incidents, managing teams and schedules, posting status updates) are gated behind the explicit --enable-write-tools flag.
It ships two ways to run. The local stdio server is published to PyPI and launched with uvx pagerduty-mcp, authenticated by a PagerDuty API token in PAGERDUTY_USER_API_KEY (with PAGERDUTY_API_HOST to select the US or EU region). PagerDuty also offers a hosted remote server at https://mcp.pagerduty.com/mcp over Streamable HTTP using an OAuth-based connection, so you can connect from Cursor or VS Code without a local install. The project is open source under the Apache 2.0 license.
Quick install
Copy-paste configs are provided for all 8 supported clients. Pick your client below.
Add to ~/.claude.json
{
"mcpServers": {
"pagerduty": {
"type": "http",
"url": "https://mcp.pagerduty.com/mcp"
}
}
}claude mcp add --transport http pagerduty https://mcp.pagerduty.com/mcpHeads up
- First tool call opens a browser to authorize.
Available tools
| Tool | Description |
|---|---|
| list_alert_grouping_settings | Lists alert grouping settings. |
| get_alert_grouping_setting | Gets a single alert grouping setting. |
| create_alert_grouping_setting | Creates an alert grouping setting. |
| update_alert_grouping_setting | Updates an alert grouping setting. |
| delete_alert_grouping_setting | Deletes an alert grouping setting. |
| list_alerts_from_incident | Lists the alerts associated with an incident. |
| get_alert_from_incident | Gets a single alert from an incident. |
| list_change_events | Lists change events. |
| get_change_event | Gets a single change event. |
| list_service_change_events | Lists change events for a service. |
| list_incident_change_events | Lists change events for an incident. |
| list_incidents | Lists incidents. |
| get_incident | Gets a single incident. |
| get_outlier_incident | Gets the outlier incident for a service. |
| get_past_incidents | Gets past incidents similar to a given incident. |
| get_related_incidents | Gets incidents related to a given incident. |
| list_incident_notes | Lists notes on an incident. |
| create_incident | Creates a new incident. |
| manage_incidents | Manages incidents (acknowledge, resolve, reassign, escalate). |
| add_responders | Adds responders to an incident. |
| add_note_to_incident | Adds a note to an incident. |
| list_incident_workflows | Lists incident workflows. |
| get_incident_workflow | Gets a single incident workflow. |
| start_incident_workflow | Starts an incident workflow. |
| list_services | Lists services. |
| get_service | Gets a single service. |
| create_service | Creates a service. |
| update_service | Updates a service. |
| list_teams | Lists teams. |
| get_team | Gets a single team. |
| list_team_members | Lists members of a team. |
| create_team | Creates a team. |
| update_team | Updates a team. |
| delete_team | Deletes a team. |
| add_team_member | Adds a member to a team. |
| remove_team_member | Removes a member from a team. |
| get_user_data | Gets data for the authenticated user. |
| list_users | Lists users. |
| list_schedules | Lists on-call schedules. |
| get_schedule | Gets a single schedule. |
| list_schedule_users | Lists users on a schedule. |
| create_schedule | Creates a schedule. |
| create_schedule_override | Creates an override on a schedule. |
| update_schedule | Updates a schedule. |
| list_oncalls | Lists current on-call entries. |
| list_log_entries | Lists log entries. |
| get_log_entry | Gets a single log entry. |
| list_escalation_policies | Lists escalation policies. |
| get_escalation_policy | Gets a single escalation policy. |
| list_event_orchestrations | Lists event orchestrations. |
| get_event_orchestration | Gets a single event orchestration. |
| get_event_orchestration_router | Gets the router for an event orchestration. |
| get_event_orchestration_service | Gets the service rules for an event orchestration. |
| get_event_orchestration_global | Gets the global rules for an event orchestration. |
| update_event_orchestration_router | Updates the router for an event orchestration. |
| append_event_orchestration_router_rule | Appends a rule to an event orchestration router. |
| list_status_pages | Lists status pages. |
| list_status_page_severities | Lists severities available for a status page. |
| list_status_page_impacts | Lists impacts available for a status page. |
| list_status_page_statuses | Lists statuses available for a status page. |
| get_status_page_post | Gets a status page post. |
| list_status_page_post_updates | Lists updates on a status page post. |
| create_status_page_post | Creates a status page post. |
| create_status_page_post_update | Creates an update on a status page post. |
Required configuration
- PAGERDUTY_USER_API_KEYOptional
PagerDuty API token for the local stdio server. Not needed when using the OAuth hosted server.
- PAGERDUTY_API_HOSTOptional
API host for region selection. Defaults to https://api.pagerduty.com; use https://api.eu.pagerduty.com for EU.
What you can do with it
Investigate an active incident from your editor
The agent pulls the incident, its notes and alerts, and related and past incidents to spot a recurring pattern, then summarizes who is on call from the escalation policy so a responder has full context fast.
Drive incident response with guardrails
Running read-only by default keeps production safe; enabling write tools lets the agent acknowledge or resolve incidents, add responders and notes, start workflows, and post a status page update when needed.
FAQ
- Is it free?
- Yes. The MCP server is free and open source under the Apache 2.0 license. You connect it to your existing PagerDuty account; usage is governed by your PagerDuty plan and API limits.
- Does it support remote/OAuth?
- Yes. PagerDuty hosts a remote server at https://mcp.pagerduty.com/mcp using an OAuth-based connection, so you can connect without a local install. A local stdio server (uvx pagerduty-mcp) authenticated by an API token is also available.
- Can it change my PagerDuty data?
- Only if you opt in. By default the server exposes read-only tools; write tools (creating incidents, managing teams and schedules, posting status updates) require launching it with the --enable-write-tools flag.