PagerDuty MCP Server
PagerDuty incident management, on-call schedules, and reporting inside your IDE.
Data last scanned today · Reviewed yesterday
Overview
This server integrates PagerDuty workflows directly into MCP-enabled IDEs using Python. It provides interactive React-based interfaces to manage the full incident lifecycle, perform schedule overrides, and visualize service dependencies without leaving the development environment. Beyond basic incident handling, the server includes specialized reporting tools for tracking on-call metrics, compliance, and equity. An onboarding wizard is also provided to assist with configuring teams, escalation policies, and AIOps settings.
Our verdict
This server carries a high-risk score of 28/100, primarily because it lacks any authentication method, meaning anyone with access to the configuration can execute actions against your account. It also forces full write access without a read-only mode, which poses a significant security risk for production environments. Given its community-maintained status and lack of editorial review, it should be restricted to isolated test environments rather than production PagerDuty accounts.
- Native IDE integration with React-based UIs
- Zero direct dependencies minimize supply-chain exposure
- Provides comprehensive on-call compensation and equity reports
- No authentication mechanism implemented
- Forces full write access with no read-only mode
- Community-maintained rather than official vendor support
Tools
| Tool | Description | Risk |
|---|---|---|
| create_alert_grouping_setting | Creates a new alert grouping setting | medium |
| delete_alert_grouping_setting | Deletes an alert grouping setting | high |
| get_alert_grouping_setting | Retrieves a specific alert grouping setting | low |
| list_alert_grouping_settings | Lists alert grouping settings with filtering | low |
| update_alert_grouping_setting | Updates an existing alert grouping setting | medium |
| get_incident_metrics_all | Retrieves aggregated incident metrics across all services | low |
| get_incident_metrics_by_service | Retrieves incident metrics grouped by service | low |
| get_incident_metrics_by_team | Retrieves incident metrics grouped by team | low |
| get_responder_load_metrics | Retrieves responder load metrics | low |
| get_responder_metrics | Retrieves responder performance metrics | low |
| get_business_service_dependencies | Retrieves dependencies for a specific business service | low |
| get_technical_service_dependencies | Retrieves technical service dependencies for a business service | low |
| list_business_services | Lists business services | low |
| get_change_event | Retrieves a specific change event | low |
| list_change_events | Lists change events with optional filtering | low |
| list_incident_change_events | Lists change events related to a specific incident | low |
| list_service_change_events | Lists change events for a specific service | low |
| get_event_orchestration | Retrieves a specific event orchestration | low |
| get_event_orchestration_global | Gets the global orchestration configuration for an event orchestration | low |
| get_event_orchestration_router | Gets the router configuration for an event orchestration | low |
| get_event_orchestration_service | Gets the service orchestration configuration for a specific service | low |
| list_event_orchestrations | Lists event orchestrations with optional filtering | low |
| update_event_orchestration_router | Updates the router configuration for an event orchestration | medium |
| append_event_orchestration_router_rule | Adds a new routing rule to an event orchestration router | medium |
| create_escalation_policy | Creates a new escalation policy | medium |
| get_escalation_policy | Retrieves a specific escalation policy | low |
| list_escalation_policies | Lists escalation policies | low |
| update_escalation_policy | Updates an existing escalation policy | medium |
| add_note_to_incident | Adds note to an incident | medium |
| add_responders | Adds responders to an incident | medium |
| create_incident | Creates a new incident | medium |
| get_alert_from_incident | Retrieves a specific alert from an incident | low |
| get_incident | Retrieves a specific incident | low |
| get_outlier_incident | Retrieves outlier incident information for a specific incident | low |
| get_past_incidents | Retrieves past incidents related to a specific incident | low |
| get_related_incidents | Retrieves related incidents for a specific incident | low |
| list_alerts_from_incident | Lists all alerts for a specific incident with pagination | low |
| list_incident_notes | Lists all notes for a specific incident | low |
| list_incidents | Lists incidents | low |
| manage_incidents | Updates status, urgency, assignment, or escalation level | medium |
| get_incident_workflow | Retrieves a specific incident workflow | low |
| list_incident_workflows | Lists incident workflows with optional filtering | low |
| start_incident_workflow | Starts a workflow instance for an incident | medium |
| get_log_entry | Retrieves a specific log entry by ID | low |
| list_log_entries | Lists all log entries across the account with time filtering | low |
| add_team_member | Adds a user to a team with a specific role | medium |
| create_team | Creates a new team | medium |
| delete_team | Deletes a team | high |
| get_team | Retrieves a specific team | low |
| list_team_members | Lists members of a team | low |
| list_teams | Lists teams | low |
| remove_team_member | Removes a user from a team | medium |
| update_team | Updates an existing team | medium |
| get_user_data | Gets the current user's data | low |
| list_users | Lists users in the PagerDuty account | low |
| list_oncalls | Lists on-call schedules | low |
| list_priorities | Lists priorities defined in the account | low |
| create_schedule_override | Creates an override for a schedule | medium |
| get_schedule | Retrieves a specific schedule | low |
| list_schedule_users | Lists users in a schedule | low |
| list_schedules | Lists schedules | low |
| create_schedule | Creates a new on-call schedule | medium |
| update_schedule | Updates an existing schedule | medium |
| create_service | Creates a new service | medium |
| get_service | Retrieves a specific service | low |
| list_services | Lists services | low |
| update_service | Updates an existing service | medium |
| create_status_page_post | Creates a new post (incident or maintenance) on a status page | medium |
| create_status_page_post_update | Adds a new update to an existing status page post | medium |
| get_status_page_post | Retrieves details of a specific status page post | low |
| list_status_page_impacts | Lists available impact levels for a status page | low |
| list_status_page_post_updates | Lists all updates for a specific status page post | low |
| list_status_page_severities | Lists available severity levels for a status page | low |
| list_status_page_statuses | Lists available statuses for a status page | low |
| list_status_pages | Lists all status pages with optional filtering | low |
| create_webhook_subscription | Creates a new webhook subscription (returns signing secret) | medium |
| delete_webhook_subscription | Deletes a webhook subscription | high |
| get_webhook_subscription | Retrieves a specific webhook subscription | low |
| list_webhook_subscriptions | Lists webhook subscriptions with optional type filtering | low |
| update_webhook_subscription | Updates an existing webhook subscription | medium |
| get_extension_schema | Retrieves a specific extension schema | low |
| list_extension_schemas | Lists available extension schemas (vendors) | low |
Compatibility
| Client | Local | Docker | Remote | Read-only |
|---|---|---|---|---|
| ChatGPT | ||||
| Claude Desktop | ||||
| Cursor | ||||
| VS Code | ||||
| Windsurf |
Frequently asked questions
›What prerequisites are required to run this MCP server?
You must have asdf-vm and uv installed on your system. You also need a PagerDuty User API Token obtained from your PagerDuty user settings.
›How do I enable write operations such as creating incidents or schedule overrides?
You must include the --enable-write-tools flag in your server command arguments within your client configuration.
›Does this server support PagerDuty accounts located in the EU?
Yes, if your account is in the EU, you should set the PAGERDUTY_API_HOST environment variable to https://api.eu.pagerduty.com in your configuration.
›How can I interact with the PagerDuty embedded apps like the Incident Command Center?
Once configured, you can launch specific tools like the Incident Command Center, On-Call Manager, or Onboarding Wizard by asking your AI assistant (e.g., Claude in VS Code) to show or open them.
Alternatives
Badge
Maintain this server? Add the live badge to your README.