Skip to main content

Introduction to MCP Tools

The PagerDuty MCP Server provides a comprehensive set of tools that enable AI assistants to interact with your PagerDuty account through the Model Context Protocol (MCP). These tools allow you to query data, create resources, update configurations, and manage incidents—all through natural language conversations with your AI assistant.

How Tools Work with AI Assistants

When you ask your AI assistant to perform a PagerDuty-related task, the assistant:
  1. Interprets your request using natural language understanding
  2. Selects the appropriate tool from the available PagerDuty MCP tools
  3. Calls the tool with the necessary parameters
  4. Processes the response and presents it to you in a human-readable format
For example, when you ask “Who is on-call for the production team?”, the assistant uses the list_oncalls tool with appropriate filters to retrieve and display the information.
The AI assistant handles all the API complexity for you—you don’t need to know API endpoints, authentication headers, or JSON structures.

Tool Categories

The PagerDuty MCP Server organizes tools into functional categories based on the PagerDuty resources they manage:

Incidents

Create, manage, and resolve incidents

Services

Manage services and service dependencies

Schedules

View and modify on-call schedules

Teams

Manage teams and team membership

Users

Retrieve user information

On-Call

Check current on-call status

Escalation Policies

View escalation policies

Event Orchestrations

Configure event routing and automation

Alert Grouping

Manage alert grouping settings

Change Events

Track change events

Status Pages

Manage status page posts

Log Entries

View audit log entries

Complete Tools Reference

The following table lists all 68 tools available in the PagerDuty MCP Server:
ToolAreaDescriptionRead-only
create_alert_grouping_settingAlert GroupingCreates a new alert grouping setting
delete_alert_grouping_settingAlert GroupingDeletes an alert grouping setting
get_alert_grouping_settingAlert GroupingRetrieves a specific alert grouping setting
list_alert_grouping_settingsAlert GroupingLists alert grouping settings with filtering
update_alert_grouping_settingAlert GroupingUpdates an existing alert grouping setting
get_change_eventChange EventsRetrieves a specific change event
list_change_eventsChange EventsLists change events with optional filtering
list_incident_change_eventsChange EventsLists change events related to a specific incident
list_service_change_eventsChange EventsLists change events for a specific service
get_event_orchestrationEvent OrchestrationsRetrieves a specific event orchestration
get_event_orchestration_globalEvent OrchestrationsGets the global orchestration configuration for an event orchestration
get_event_orchestration_routerEvent OrchestrationsGets the router configuration for an event orchestration
get_event_orchestration_serviceEvent OrchestrationsGets the service orchestration configuration for a specific service
list_event_orchestrationsEvent OrchestrationsLists event orchestrations with optional filtering
update_event_orchestration_routerEvent OrchestrationsUpdates the router configuration for an event orchestration
append_event_orchestration_router_ruleEvent OrchestrationsAdds a new routing rule to an event orchestration router
list_escalation_policiesEscalation PolicyLists escalation policies
get_escalation_policyEscalation PolicyRetrieves a specific escalation policy
add_note_to_incidentIncidentsAdds note to an incident
add_respondersIncidentsAdds responders to an incident
create_incidentIncidentsCreates a new incident
get_alert_from_incidentIncidentsRetrieves a specific alert from an incident
get_incidentIncidentsRetrieves a specific incident
get_outlier_incidentIncidentsRetrieves outlier incident information for a specific incident
get_past_incidentsIncidentsRetrieves past incidents related to a specific incident
get_related_incidentsIncidentsRetrieves related incidents for a specific incident
list_alerts_from_incidentIncidentsLists all alerts for a specific incident with pagination
list_incident_notesIncidentsLists all notes for a specific incident
list_incidentsIncidentsLists incidents
manage_incidentsIncidentsUpdates status, urgency, assignment, or escalation level
get_incident_workflowIncident WorkflowsRetrieves a specific incident workflow
list_incident_workflowsIncident WorkflowsLists incident workflows with optional filtering
start_incident_workflowIncident WorkflowsStarts a workflow instance for an incident
get_log_entryLog EntriesRetrieves a specific log entry by ID
list_log_entriesLog EntriesLists all log entries across the account with time filtering
add_team_memberTeamsAdds a user to a team with a specific role
create_teamTeamsCreates a new team
delete_teamTeamsDeletes a team
get_teamTeamsRetrieves a specific team
list_team_membersTeamsLists members of a team
list_teamsTeamsLists teams
remove_team_memberTeamsRemoves a user from a team
update_teamTeamsUpdates an existing team
get_user_dataUsersGets the current user’s data
list_usersUsersLists users in the PagerDuty account
list_oncallsOn-callLists on-call schedules
create_schedule_overrideSchedulesCreates an override for a schedule
get_scheduleSchedulesRetrieves a specific schedule
list_schedule_usersSchedulesLists users in a schedule
list_schedulesSchedulesLists schedules
create_scheduleSchedulesCreates a new on-call schedule
update_scheduleSchedulesUpdates an existing schedule
create_serviceServicesCreates a new service
get_serviceServicesRetrieves a specific service
list_servicesServicesLists services
update_serviceServicesUpdates an existing service
create_status_page_postStatus PagesCreates a new post (incident or maintenance) on a status page
create_status_page_post_updateStatus PagesAdds a new update to an existing status page post
get_status_page_postStatus PagesRetrieves details of a specific status page post
list_status_page_impactsStatus PagesLists available impact levels for a status page
list_status_page_post_updatesStatus PagesLists all updates for a specific status page post
list_status_page_severitiesStatus PagesLists available severity levels for a status page
list_status_page_statusesStatus PagesLists available statuses for a status page
list_status_pagesStatus PagesLists all status pages with optional filtering

Tool Naming Conventions

PagerDuty MCP Server tools follow consistent naming conventions to make them intuitive:
  • list_* - Returns a collection of resources (e.g., list_incidents, list_services)
  • get_* - Retrieves a single resource by ID (e.g., get_incident, get_service)
  • create_* - Creates a new resource (e.g., create_incident, create_team)
  • update_* - Modifies an existing resource (e.g., update_service, update_team)
  • delete_* - Removes a resource (e.g., delete_team, delete_alert_grouping_setting)
  • add_* - Adds a component to a resource (e.g., add_note_to_incident, add_responders)
  • remove_* - Removes a component from a resource (e.g., remove_team_member)
  • manage_* - Performs multiple operations (e.g., manage_incidents for bulk updates)

Common Parameters

Many tools share common parameter patterns:

Identifiers

  • id - The unique identifier for a resource (e.g., incident ID, service ID)
  • user_id - The ID of a PagerDuty user
  • team_id - The ID of a team
  • service_id - The ID of a service

Filtering and Pagination

  • limit - Maximum number of results to return (default varies by tool)
  • offset - Number of results to skip for pagination
  • query - Search query string for filtering results
  • since - Start date/time for time-based filtering
  • until - End date/time for time-based filtering

Common Filters

  • statuses - Filter by status (e.g., triggered, acknowledged, resolved)
  • urgencies - Filter by urgency level (e.g., high, low)
  • team_ids - Filter by team membership
  • service_ids - Filter by service
  • user_ids - Filter by user
All parameters are handled by the AI assistant based on your natural language request. You don’t need to memorize parameter names or formats.

Error Handling

The PagerDuty MCP Server provides clear error messages when operations fail:

Common Errors

  • Authentication errors - Invalid or missing API token
  • Permission errors - Insufficient permissions for the requested operation
  • Not found errors - Resource does not exist or is not accessible
  • Validation errors - Invalid parameters or missing required fields
  • Rate limit errors - Too many requests in a short time period

Best Practices

  1. Start with read-only operations to verify connectivity and permissions
  2. Use specific resource IDs when possible to avoid ambiguity
  3. Check error messages for guidance on resolving issues
  4. Verify write operations are enabled with the --enable-write-tools flag
  5. Review PagerDuty account permissions if you encounter access errors
Write operations (create, update, delete) modify your live PagerDuty account. Always verify your request before confirming destructive operations.

Safety Features

The PagerDuty MCP Server includes built-in safety annotations that help AI assistants handle tools appropriately:
  • readOnlyHint: true - Indicates the tool only reads data and cannot modify resources
  • destructiveHint: true - Marks tools that can modify or delete resources
  • idempotentHint: true - Signals that repeated calls produce the same result
These annotations help AI assistants:
  • Request confirmation before destructive operations
  • Retry idempotent operations safely
  • Explain the impact of each action

Next Steps

Read vs Write Tools

Learn about tool safety and the —enable-write-tools flag

Incident Management

Explore common incident management workflows

Security Best Practices

Configure secure access to your PagerDuty account

Read vs Write Tools

Understand read-only and write operations

Build docs developers (and LLMs) love