Skip to main content
Glama
PagerDuty

pagerduty-mcp

Official
by PagerDuty

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_HOSTNoHost for HTTP-based transports.127.0.0.1
MCP_PORTNoPort for HTTP-based transports.8000
PAGERDUTY_API_HOSTNoPagerDuty API base URL. Use https://api.eu.pagerduty.com for EU accounts.https://api.pagerduty.com
PAGERDUTY_USER_API_KEYYesYour PagerDuty User API Token.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_alert_grouping_settingsA

List all alert grouping settings with optional filtering.

Args:
    service_ids: An array of service IDs. Only results related to these services will be returned.
    limit: The number of results per page. Default 1000.
    after: Cursor to retrieve next page.
    before: Cursor to retrieve previous page.
    total: Set to True to include total count in response.

Returns:
    List of alert grouping settings matching the query parameters
get_alert_grouping_settingB

Get details for a specific alert grouping setting.

Args:
    setting_id: The ID of the alert grouping setting to retrieve

Returns:
    Alert grouping setting details
list_alerts_from_incidentA

List alerts for a specific incident.

Args:
    incident_id: The ID of the incident
    limit: Maximum number of results to return (1-1000). Default is 100.
    offset: Offset for pagination. Default is 0.

Returns:
    List of Alert objects for the given incident
get_alert_from_incidentA

Get a specific alert from an incident.

Both IDs must be known, non-empty PagerDuty IDs (e.g. "PALERT123").
If the alert ID is not known, use list_alerts_from_incident to discover
the incident's alerts instead of calling this tool with an empty or
placeholder alert_id.

Args:
    incident_id: The ID of the incident
    alert_id: The ID of the alert

Returns:
    Alert details
list_change_eventsA

List all change events with optional filtering.

Change Events represent changes to systems, services, and applications that
can be correlated with incidents to provide context for troubleshooting.

Args:
    since: The start of the date range over which you want to search.
    until: The end of the date range over which you want to search.
    limit: The number of results per page. Default 100.
    offset: The offset of the first record returned.
    total: Set to True to include total count in response.
    team_ids: An array of team IDs. Only results related to these teams will be returned.
    integration_ids: An array of integration IDs. Only results related to these integrations will be returned.

Returns:
    List of ChangeEvent objects matching the query parameters
get_change_eventA

Get details about a specific change event.

Args:
    change_event_id: The ID of the change event to retrieve

Returns:
    ChangeEvent details
list_service_change_eventsA

List all change events for a specific service.

Args:
    service_id: The ID of the service.
    since: The start of the date range over which you want to search.
    until: The end of the date range over which you want to search.
    limit: The number of results per page. Default 100.
    offset: The offset of the first record returned.
    total: Set to True to include total count in response.
    team_ids: An array of team IDs. Only results related to these teams will be returned.
    integration_ids: An array of integration IDs. Only results related to these integrations will be returned.

Returns:
    List of ChangeEvent objects associated with the service
list_incident_change_eventsA

List change events related to a specific incident.

Args:
    incident_id: The ID of the incident
    limit: Maximum number of results to return (optional)

Returns:
    List of ChangeEvent objects related to the incident
list_incidentsA

List incidents with optional filtering.

Args:
    request_scope: Scope of incidents to return: 'all', 'assigned', or 'teams'
    statuses: Filter by status (e.g. triggered, acknowledged, resolved)
    since: Filter incidents created after this datetime
    until: Filter incidents created before this datetime
    urgencies: Filter by urgency (high, low)
    priorities: Filter by priority IDs (use list_priorities to resolve names to IDs)
    limit: Max results to return (default 1000)

Returns:
    List of Incident objects matching the query parameters
get_incidentB

Get a specific incident.

Args:
    incident_id: The ID or number of the incident to retrieve.
    query_model: Optional query parameters for additional information to include

Returns:
    Incident details
get_outlier_incidentA

Get Outlier Incident information for a given Incident on its Service.

Outlier Incident returns incident that deviates from the expected patterns
for the same Service. This feature is currently available as part of the
Event Intelligence package or Digital Operations plan only.

Args:
    incident_id: The ID of the incident to get outlier incident information for
    query_model: Query parameters including date range and additional details

Returns:
    Outlier incident information calculated over the same Service as the given Incident
get_past_incidentsA

Get Past Incidents related to a specific incident ID.

Past Incidents returns Incidents within the past 6 months that have similar
metadata and were generated on the same Service as the parent Incident.
By default, 50 Past Incidents are returned. This feature is currently available
as part of the Event Intelligence package or Digital Operations plan only.

Args:
    incident_id: The ID of the incident to get past incidents for
    query_model: Query parameters including limit and total flag

Returns:
    List of past incidents with similarity scores
get_related_incidentsA

Get Related Incidents for a specific incident ID.

Returns the 20 most recent Related Incidents that are impacting other Responders
and Services. This feature is currently available as part of the Event Intelligence
package or Digital Operations plan only.

Args:
    incident_id: The ID of the incident to get related incidents for
    query_model: Query parameters including additional details

Returns:
    List of related incidents and their relationships
list_incident_notesA

List all notes for a specific incident.

Args:
    incident_id: The ID of the incident to retrieve notes from

Returns:
    List of IncidentNote objects for the specified incident
list_incident_workflowsA

List incident workflows with optional filtering.

Args:
    limit: Maximum number of results to return. Maximum is 100. Default 100.
    query: Filters the result, showing only the records whose name matches the query.
    include: Array of additional details to include. Options: 'steps', 'team'.

Returns:
    List of IncidentWorkflow objects matching the query parameters
get_incident_workflowC

Get a specific incident workflow.

Args:
    workflow_id: The ID of the incident workflow to retrieve

Returns:
    IncidentWorkflow details
list_servicesA

List all services.

Args:
    query: Filter by name
    teams_ids: Filter by team IDs
    limit: Max results to return

Returns:
    List of services matching the query parameters
get_serviceA

Get details for a specific service.

Args:
    service_id: The ID of the service to retrieve

Returns:
    The service details
get_technical_service_dependenciesB

Get dependencies for a technical service.

Args:
    service_id: The ID of the technical service

Returns:
    JSON string with relationships list
list_teamsA

List teams with optional filtering.

Args:
    scope: 'all' for all teams, 'my' for teams the current user belongs to
    query: Filter by team name
    limit: Max results to return

Returns:
    List of teams.
get_teamA

Get a specific team.

Args:
    team_id: The ID or name of the team to retrieve
Returns:
    Team details
list_team_membersA

List members of a team.

Args:
    team_id: The ID of the team

Returns:
    List of UserReference objects
get_user_dataA

Get the current user's data.

Returns:
    User: User name, role, id, and summary and teams
list_usersA

List users, optionally filtering by name (query) and team IDs.

Args:
    query: Filters the result, showing only the records whose name matches the query.
    teams_ids: Filter users by team IDs.
    limit: Pagination limit. Default 100.

Returns:
    List of users matching the criteria.
list_schedulesA

List ALL PagerDuty schedules across BOTH scheduling systems in a single call.

This returns classic layer-based (v2) schedules AND next-gen shift-based (v3) schedules
together. It is the complete, authoritative schedule list — there is no other list tool.
Each item's `kind` field ("layer_based" or "shift_based") says which system it belongs to.
If either source fails, `response_summary`/`sources` explicitly mark the list INCOMPLETE;
otherwise treat it as exhaustive. Never tell the user a schedule type is unsupported or missing.

Args:
    query_model: Filters (name query, team_ids, user_ids, limit). Shift-based (v3) schedules
        are filtered by name `query` and `limit` only.
    enrich: When True (default), fill in names for shift-based (v3) schedules (bounded to the
        returned page, max 50). Set False to skip the extra lookups; v3 names may then be null.

Returns:
    The merged schedule summaries with per-source status and a `degraded` flag.
get_scheduleA

Get a single schedule by ID — works for layer-based (v2) and shift-based (v3) schedules alike.

You normally do not need to know the kind in advance; this resolves it automatically.

Args:
    schedule_id: The ID of the schedule to retrieve.
    kind: Optional hint ("layer_based" or "shift_based", taken from a prior list result) to
        skip an extra lookup. A wrong or omitted hint still resolves correctly.

Returns:
    The schedule details (a layer-based Schedule or a shift-based ScheduleV3).
list_schedule_usersA

List users in a schedule.

Args:
    schedule_id: The ID of the schedule

Returns:
    List of users in the schedule
list_schedule_v3_rotationsA

List all rotations for a v3 schedule.

Args:
    schedule_id: The ID of the v3 schedule

Returns:
    List of rotations for the schedule
get_schedule_v3_rotationA

Get a specific rotation within a v3 schedule.

Args:
    schedule_id: The ID of the v3 schedule
    rotation_id: The ID of the rotation

Returns:
    The rotation including its events
list_schedule_v3_rotation_eventsA

List all events for a rotation in a v3 schedule.

Args:
    schedule_id: The ID of the v3 schedule
    rotation_id: The ID of the rotation

Returns:
    List of events defining the on-call coverage windows and member assignments
get_schedule_v3_rotation_eventC

Get a specific event within a v3 schedule rotation.

Args:
    schedule_id: The ID of the v3 schedule
    rotation_id: The ID of the rotation
    event_id: The ID of the event

Returns:
    The rotation event
list_schedule_v3_custom_shiftsA

List custom shifts for a v3 schedule within a time range.

Custom shifts are ad-hoc one-off shifts outside of rotation events.

Args:
    schedule_id: The ID of the v3 schedule
    since: Start of the time range (ISO 8601, required)
    until: End of the time range (ISO 8601, required)

Returns:
    List of custom shifts in the specified time range
get_schedule_v3_custom_shiftC

Get a specific custom shift within a v3 schedule.

Args:
    schedule_id: The ID of the v3 schedule
    custom_shift_id: The ID of the custom shift

Returns:
    The custom shift
list_schedule_v3_overridesA

List overrides for a v3 schedule within a time range.

Args:
    schedule_id: The ID of the v3 schedule
    since: Start of the time range (ISO 8601, required)
    until: End of the time range (ISO 8601, required)

Returns:
    List of overrides in the specified time range
get_schedule_v3_overrideB

Get a specific override within a v3 schedule.

Args:
    schedule_id: The ID of the v3 schedule
    override_id: The ID of the override

Returns:
    The override
list_oncallsA

List on-call schedules with optional filtering.

Args:
    time_zone: Time zone for date rendering (e.g. America/New_York)
    user_ids: Filter by user IDs
    escalation_policy_ids: Filter by escalation policy IDs
    schedule_ids: Filter by schedule IDs
    service_ids: Filter by service IDs. Resolves each service to its escalation policy to find on-call responders.
    since: Start of time range
    until: End of time range
    earliest: Return only earliest oncall per user/policy combination. Defaults to True.
    limit: Max results to return

Returns:
    List of on-call schedules matching the query parameters
list_log_entriesA

List all log entries across the account.

Log entries are records of all events on your account. This function allows you
to filter log entries by time range and paginate through results.

If no time range is specified, defaults to the last 7 days.

Args:
    query_model: Query parameters including since, until, limit, and offset

Returns:
    List of LogEntry objects matching the query parameters
get_log_entryB

Get a specific log entry by ID.

Args:
    log_entry_id: The ID of the log entry

Returns:
    LogEntry details
list_escalation_policiesA

List escalation policies with optional filtering.

Args:
    query: Filter by name
    user_ids: Filter by user IDs
    team_ids: Filter by team IDs
    include: Additional details to include (e.g. services, teams)
    limit: Max results to return

Returns:
    List of escalation policies matching the query parameters
get_escalation_policyC

Get a specific escalation policy.

Args:
    policy_id: The ID of the escalation policy to retrieve

Returns:
    Escalation policy details
list_event_orchestrationsA

List event orchestrations with optional filtering.

Args:
    limit: The number of results per page. Default 100.
    offset: Offset to start pagination search results.
    sort_by: Field and direction to sort by. Default 'name:asc'. Options:
        'name:asc', 'name:desc', 'routes:asc', 'routes:desc',
        'created_at:asc', 'created_at:desc'.

Returns:
    List of event orchestrations matching the query parameters
get_event_orchestrationB

Get details for a specific event orchestration.

Args:
    orchestration_id: The ID of the event orchestration to retrieve

Returns:
    The event orchestration details
get_event_orchestration_routerA

Get the router configuration for a specific event orchestration.

Args:
    orchestration_id: The ID of the event orchestration to retrieve router for

Returns:
    The event orchestration router configuration
get_event_orchestration_serviceA

Get the Service Orchestration configuration for a specific service.

Args:
    service_id: The ID of the service to retrieve the orchestration configuration for

Returns:
    The service orchestration configuration
get_event_orchestration_globalA

Get the Global Orchestration configuration for a specific event orchestration.

Args:
    orchestration_id: The ID of the event orchestration to retrieve global configuration for

Returns:
    The global orchestration configuration
list_status_pagesA

List Status Pages with optional filtering.

Args:
    query_model: Optional filtering parameters

Returns:
    List of StatusPage objects matching the query parameters
list_status_page_severitiesA

List Severities for a Status Page by Status Page ID.

Args:
    status_page_id: The ID of the Status Page
    query_model: Optional filtering parameters

Returns:
    List of StatusPageSeverity objects for the given Status Page
list_status_page_impactsA

List Impacts for a Status Page by Status Page ID.

Args:
    status_page_id: The ID of the Status Page
    query_model: Optional filtering parameters

Returns:
    List of StatusPageImpact objects for the given Status Page
list_status_page_statusesA

List Statuses for a Status Page by Status Page ID.

Args:
    status_page_id: The ID of the Status Page
    query_model: Optional filtering parameters

Returns:
    List of StatusPageStatus objects for the given Status Page
get_status_page_postA

Get a Post for a Status Page by Status Page ID and Post ID.

Args:
    status_page_id: The ID of the Status Page
    post_id: The ID of the Status Page Post
    query_model: Optional query parameters (e.g., include related resources)

Returns:
    StatusPagePost details
list_status_page_post_updatesA

List Post Updates for a Status Page by Status Page ID and Post ID.

Args:
    status_page_id: The ID of the Status Page
    post_id: The ID of the Status Page Post
    query_model: Optional filtering parameters

Returns:
    List of StatusPagePostUpdate objects for the given Post
get_responder_metricsA

Get responder metrics aggregated by team from PagerDuty Analytics.

Returns per-user oncall seconds, interruption counts (business hours, off hours, sleep hours),
engaged time, and incident counts for a given date range. Powered by PagerDuty's analytics
engine — oncall hours are computed authoritatively, accounting for schedule overlaps.

Args:
    date_range_start: ISO8601 DateTime. Incidents with created_at before this value are omitted.
    date_range_end: ISO8601 DateTime. Incidents with created_at >= this value are omitted.
    team_ids: Only incidents related to these teams will be included.
    responder_ids: Only incidents related to these responders will be included.
    urgency: Filter by urgency: 'high' or 'low'.
    time_zone: The time zone to use for results and grouping (e.g. 'America/New_York').
    order: Sort order: 'asc' or 'desc'.
    order_by: Field to sort results by.

Returns:
    JSON string of ListResponseModel containing AnalyticsResponderMetrics objects.
get_incident_metrics_by_serviceA

Get aggregated incident metrics per service from PagerDuty Analytics.

Returns service-level MTTA, mean MTTR, escalation counts, incident
volume, and uptime percentage. Use this instead of list_incidents when you need
service health metrics — data is pre-aggregated by PagerDuty's analytics engine.

Args:
    created_at_start: ISO8601 DateTime. Incidents created before this are omitted.
    created_at_end: ISO8601 DateTime. Incidents created on/after this are omitted.
    team_ids: Only incidents related to these teams will be included.
    service_ids: Only incidents related to these services will be included.
    urgency: Filter by urgency: 'high' or 'low'.
    time_zone: The time zone for results (e.g. 'America/New_York').
    order: Sort order: 'asc' or 'desc'.
    order_by: Field to sort results by.

Returns:
    JSON string of ListResponseModel containing AnalyticsServiceMetrics objects.
get_incident_metrics_by_teamA

Get aggregated incident metrics per team from PagerDuty Analytics.

Returns team-level MTTA, mean MTTR, escalation counts, incident
volume, and uptime percentage. Use for team performance comparisons and dashboards.

Args:
    created_at_start: ISO8601 DateTime. Incidents created before this are omitted.
    created_at_end: ISO8601 DateTime. Incidents created on/after this are omitted.
    team_ids: Only incidents related to these teams will be included.
    service_ids: Only incidents related to these services will be included.
    urgency: Filter by urgency: 'high' or 'low'.
    time_zone: The time zone for results (e.g. 'America/New_York').
    order: Sort order: 'asc' or 'desc'.
    order_by: Field to sort results by.
    aggregate_unit: Time unit to aggregate metrics by: 'day', 'week', or 'month'.
        If omitted, returns a single all-period row.

Returns:
    JSON string of ListResponseModel containing AnalyticsTeamMetrics objects.
get_responder_load_metricsA

Get aggregated load metrics per responder from PagerDuty Analytics.

Returns per-responder on-call hours, incident count, acknowledgment count,
sleep-hour interruptions, and engaged time. Use for responder workload analysis.

Args:
    date_range_start: ISO8601 DateTime. Incidents with created_at before this value are omitted.
    date_range_end: ISO8601 DateTime. Incidents with created_at >= this value are omitted.
    team_ids: Only incidents related to these teams will be included.
    urgency: Filter by urgency: 'high' or 'low'.
    time_zone: The time zone for results (e.g. 'America/New_York').
    order: Sort order: 'asc' or 'desc'.
    order_by: Field to sort results by.

Returns:
    JSON string of ListResponseModel containing AnalyticsResponderLoad objects.
get_incident_metrics_allA

Get full-period aggregated incident metrics from PagerDuty Analytics.

Returns rollup metrics for the entire requested period including percentile
distributions (P50, P75, P90, P95) for ack and resolve times. These percentile
fields are ONLY available from this endpoint — not from the per-team or per-service
grouped endpoints.

Args:
    created_at_start: ISO8601 DateTime. Incidents created before this are omitted.
    created_at_end: ISO8601 DateTime. Incidents created on/after this are omitted.
    team_ids: Only incidents related to these teams will be included.
    service_ids: Only incidents related to these services will be included.
    urgency: Filter by urgency: 'high' or 'low'.
    time_zone: The time zone for results (e.g. 'America/New_York').
    order: Sort order: 'asc' or 'desc'.
    order_by: Field to sort results by.

Returns:
    JSON string of AnalyticsAggregatedMetrics object.
list_business_servicesB

List all business services.

Returns:
    JSON string of business services
get_business_service_dependenciesA

Get dependencies for a business service.

Args:
    business_service_id: The ID of the business service

Returns:
    JSON string with relationships list
list_prioritiesA

List all priorities configured in the account.

Returns:
    JSON string of ListResponseModel containing PriorityReference objects
list_webhook_subscriptionsA

List webhook subscriptions.

Args:
    filter_type: Filter by scope type: 'account_reference', 'service_reference', or 'team_reference'
    limit: Max results to return

Returns:
    List of webhook subscriptions
get_webhook_subscriptionA

Get a specific webhook subscription by ID.

Args:
    subscription_id: The ID of the webhook subscription to retrieve

Returns:
    Webhook subscription details
list_extension_schemasA

List available extension schemas (extension vendors).

Extension schemas describe the available extension integrations that can be
attached to PagerDuty services.

Args:
    limit: Max results to return

Returns:
    List of extension schemas
get_extension_schemaA

Get a specific extension schema by ID.

Args:
    schema_id: The ID of the extension schema to retrieve

Returns:
    Extension schema details

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/PagerDuty/pagerduty-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server