C

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.

Overall Score62/100

Score Breakdown

Server Info

Package
pagerduty-mcp
Registry
pypi
Maintainer
PagerDutyVendor
Category
Developer Tools
Tags
incidentson-callalerting
Last Scanned
7 Apr 2026

Findings

5 issues

Authentication & 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.

Remediation

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.

Remediation

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.

Remediation

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.

Remediation

Add limit/offset or cursor-based pagination.

LOWNo field selection on responses

Responses return full records rather than projected fields.

Remediation

Implement field selection to return only relevant fields.

Tools

64 total
NameDescriptionRisk
list_alert_grouping_settingsList all alert grouping settings with optional filtering.read
get_alert_grouping_settingGet details for a specific alert grouping setting.read
list_alerts_from_incidentList alerts for a specific incident.read
get_alert_from_incidentGet a specific alert from an incident.read
list_change_eventsList all change events with optional filtering.read
get_change_eventGet details about a specific change event.read
list_service_change_eventsList change events for a specific service.read
list_incident_change_eventsList change events for a specific incident.read
list_incidentsList incidents with optional filtering.read
get_incidentGet details for a specific incident.read
get_outlier_incidentGet outlier incident analysis.read
get_past_incidentsGet past incidents for analysis.read
get_related_incidentsGet related incidents.read
list_incident_notesList notes for a specific incident.read
list_incident_workflowsList incident workflows with optional filtering.read
get_incident_workflowGet a specific incident workflow.read
list_servicesList all services.read
get_serviceGet details for a specific service.read
list_teamsList teams based on the provided query model.read
get_teamGet a specific team.read
list_team_membersList members of a specific team.read
get_user_dataGet the current user's data.read
list_usersList users, optionally filtering by name and team IDs.read
list_schedulesList schedules with optional filtering.read
get_scheduleGet a specific schedule by ID.read
list_schedule_usersList users on a schedule.read
list_oncallsList on-call schedules with optional filtering.read
list_log_entriesList all log entries across the account.read
get_log_entryGet a specific log entry by ID.read
list_escalation_policiesList escalation policies with optional filtering.read
get_escalation_policyGet a specific escalation policy.read
list_event_orchestrationsList event orchestrations with optional filtering.read
get_event_orchestrationGet details for a specific event orchestration.read
get_event_orchestration_routerGet the router for an event orchestration.read
get_event_orchestration_serviceGet the service rules for an event orchestration.read
get_event_orchestration_globalGet the global rules for an event orchestration.read
list_status_pagesList Status Pages with optional filtering.read
list_status_page_severitiesList Severities for a Status Page.read
list_status_page_impactsList Impacts for a Status Page.read
list_status_page_statusesList Statuses for a Status Page.read
get_status_page_postGet a specific Status Page post.read
list_status_page_post_updatesList updates for a Status Page post.read
create_alert_grouping_settingCreate a new alert grouping setting.write
update_alert_grouping_settingUpdate an alert grouping setting.write
delete_alert_grouping_settingDelete an alert grouping setting.admin
create_incidentCreate a new incident.write
manage_incidentsManage incidents (acknowledge, resolve, etc.).write
add_respondersAdd responders to an incident.write
add_note_to_incidentAdd a note to an incident.write
start_incident_workflowStart an incident workflow.write
create_serviceCreate a new service.write
update_serviceUpdate an existing service.write
create_teamCreate a new team.write
update_teamUpdate a team.write
delete_teamDelete a team.admin
add_team_memberAdd a member to a team.write
remove_team_memberRemove a member from a team.write
create_scheduleCreate a new schedule.write
create_schedule_overrideCreate an override for a schedule.write
update_scheduleUpdate an existing schedule.write
update_event_orchestration_routerUpdate the router for an event orchestration.write
append_event_orchestration_router_ruleAppend a rule to an event orchestration router.write
create_status_page_postCreate a Status Page post.write
create_status_page_post_updateCreate 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