PagerDuty MCP Server
Official PagerDuty MCP server providing tools to interact with PagerDuty accounts for incident management, on-call schedules, services, teams, and event orchestrations.
Score Breakdown
Server Info
- Package
- pagerduty-mcp
- Registry
- pypi
- Repository
- PagerDuty/mcp-server-pagerduty
- Maintainer
- PagerDutyVendor
- Category
- Developer Tools
- Tags
- incidentson-callalerting
- Last Scanned
- 7 Apr 2026
Findings
5 issuesAuthentication & Identity
HIGHNo per-request auth - requires instance-per-user
Stdio-only transport via FastMCP. Requires PAGERDUTY_USER_API_KEY (mandatory). PAGERDUTY_API_HOST is optional (defaults to https://api.pagerduty.com). Uses a single user API key for all operations. For multi-tenant deployment, the platform must spawn a separate server instance per user.
Add HTTP/SSE transport to accept per-request Authorization headers, or implement the MCP OAuth spec.
Tool Schema Quality
MEDIUMOnly 0 of 64 schemas have parameter constraints
Most schemas lack maxLength, enum, or pattern constraints on string parameters.
Add constraints to string parameters, especially on write operations.
LLM Safety
HIGHTool descriptions contain instructional language
Descriptions include directives that could influence LLM behavior beyond tool selection.
Remove instructional language. Descriptions should be purely factual.
Data Exposure
MEDIUM3 list operations lack pagination
Most list operations use paginate() helper with a default maximum_records limit (typically 100 or 1000). Pagination is handled internally. Full records are returned without field selection.
Add limit/offset or cursor-based pagination.
LOWNo field selection on responses
Responses return full records rather than projected fields.
Implement field selection to return only relevant fields.
Tools
64 total| Name | Description | Risk |
|---|---|---|
| list_alert_grouping_settings | List all alert grouping settings with optional filtering. | read |
| get_alert_grouping_setting | Get details for a specific alert grouping setting. | read |
| list_alerts_from_incident | List alerts for a specific incident. | read |
| get_alert_from_incident | Get a specific alert from an incident. | read |
| list_change_events | List all change events with optional filtering. | read |
| get_change_event | Get details about a specific change event. | read |
| list_service_change_events | List change events for a specific service. | read |
| list_incident_change_events | List change events for a specific incident. | read |
| list_incidents | List incidents with optional filtering. | read |
| get_incident | Get details for a specific incident. | read |
| get_outlier_incident | Get outlier incident analysis. | read |
| get_past_incidents | Get past incidents for analysis. | read |
| get_related_incidents | Get related incidents. | read |
| list_incident_notes | List notes for a specific incident. | read |
| list_incident_workflows | List incident workflows with optional filtering. | read |
| get_incident_workflow | Get a specific incident workflow. | read |
| list_services | List all services. | read |
| get_service | Get details for a specific service. | read |
| list_teams | List teams based on the provided query model. | read |
| get_team | Get a specific team. | read |
| list_team_members | List members of a specific team. | read |
| get_user_data | Get the current user's data. | read |
| list_users | List users, optionally filtering by name and team IDs. | read |
| list_schedules | List schedules with optional filtering. | read |
| get_schedule | Get a specific schedule by ID. | read |
| list_schedule_users | List users on a schedule. | read |
| list_oncalls | List on-call schedules with optional filtering. | read |
| list_log_entries | List all log entries across the account. | read |
| get_log_entry | Get a specific log entry by ID. | read |
| list_escalation_policies | List escalation policies with optional filtering. | read |
| get_escalation_policy | Get a specific escalation policy. | read |
| list_event_orchestrations | List event orchestrations with optional filtering. | read |
| get_event_orchestration | Get details for a specific event orchestration. | read |
| get_event_orchestration_router | Get the router for an event orchestration. | read |
| get_event_orchestration_service | Get the service rules for an event orchestration. | read |
| get_event_orchestration_global | Get the global rules for an event orchestration. | read |
| list_status_pages | List Status Pages with optional filtering. | read |
| list_status_page_severities | List Severities for a Status Page. | read |
| list_status_page_impacts | List Impacts for a Status Page. | read |
| list_status_page_statuses | List Statuses for a Status Page. | read |
| get_status_page_post | Get a specific Status Page post. | read |
| list_status_page_post_updates | List updates for a Status Page post. | read |
| create_alert_grouping_setting | Create a new alert grouping setting. | write |
| update_alert_grouping_setting | Update an alert grouping setting. | write |
| delete_alert_grouping_setting | Delete an alert grouping setting. | admin |
| create_incident | Create a new incident. | write |
| manage_incidents | Manage incidents (acknowledge, resolve, etc.). | write |
| add_responders | Add responders to an incident. | write |
| add_note_to_incident | Add a note to an incident. | write |
| start_incident_workflow | Start an incident workflow. | write |
| create_service | Create a new service. | write |
| update_service | Update an existing service. | write |
| create_team | Create a new team. | write |
| update_team | Update a team. | write |
| delete_team | Delete a team. | admin |
| add_team_member | Add a member to a team. | write |
| remove_team_member | Remove a member from a team. | write |
| create_schedule | Create a new schedule. | write |
| create_schedule_override | Create an override for a schedule. | write |
| update_schedule | Update an existing schedule. | write |
| update_event_orchestration_router | Update the router for an event orchestration. | write |
| append_event_orchestration_router_rule | Append a rule to an event orchestration router. | write |
| create_status_page_post | Create a Status Page post. | write |
| create_status_page_post_update | Create an update for a Status Page post. | write |
Deploy PagerDuty MCP Server securely
CompleteFlow adds per-user authentication, permission scoping, and audit logging to any MCP server out of the box.
Deploy on CompleteFlow