Skip to main content

Overview

The PagerDuty MCP Server categorizes all tools as either read-only or write tools. This distinction is crucial for maintaining the safety and integrity of your PagerDuty account.
By default, the MCP server only exposes read-only tools. You must explicitly enable write tools using the --enable-write-tools flag when starting the server.

What Are Read-Only Tools?

Read-only tools are safe operations that only retrieve data from your PagerDuty account. They cannot create, modify, or delete any resources. These tools are ideal for:
  • Exploring your PagerDuty configuration
  • Monitoring incident status
  • Checking on-call schedules
  • Reviewing historical data
  • Generating reports

Characteristics of Read-Only Tools

  • No modifications - Cannot change any data in PagerDuty
  • Safe to experiment - You can call them repeatedly without risk
  • No confirmation needed - AI assistants can use them freely
  • Enabled by default - Available immediately after setup

Safety Annotations

All read-only tools are annotated with these safety hints:
ToolAnnotations(
    readOnlyHint=True,      # Does not modify data
    destructiveHint=False,  # Cannot delete resources
    idempotentHint=True     # Safe to retry
)
These annotations help AI assistants understand that read-only tools are safe to use without explicit user confirmation.

What Are Write Tools?

Write tools are operations that create, modify, or delete resources in your PagerDuty account. These tools perform actions that change your live environment, such as:
  • Creating incidents or services
  • Updating team membership
  • Modifying escalation policies
  • Deleting resources
  • Triggering workflows

Characteristics of Write Tools

  • Modify data - Change resources in your PagerDuty account
  • Require explicit enabling - Must use --enable-write-tools flag
  • May need confirmation - AI assistants should confirm destructive actions
  • Cannot be undone - Some operations are irreversible

Safety Annotations

All write tools are annotated with these safety hints:
ToolAnnotations(
    readOnlyHint=False,     # Can modify data
    destructiveHint=True,   # Potentially dangerous
    idempotentHint=False    # May have different effects on retry
)
These annotations signal to AI assistants that write tools require careful handling and user confirmation before execution.

Enabling Write Tools

To enable write tools, you must start the PagerDuty MCP Server with the --enable-write-tools flag:
{
  "mcpServers": {
    "pagerduty-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": ["pagerduty-mcp", "--enable-write-tools"],
      "env": {
        "PAGERDUTY_USER_API_KEY": "your-api-key"
      }
    }
  }
}
Only enable write tools when you intend to perform modifications to your PagerDuty account. This helps prevent accidental changes during exploratory sessions.

Complete Tool Lists

Read-Only Tools (46 tools)

These tools are always available and safe to use:
ToolAreaDescription
get_alert_grouping_settingAlert GroupingRetrieves a specific alert grouping setting
list_alert_grouping_settingsAlert GroupingLists alert grouping settings with filtering
get_alert_from_incidentIncidentsRetrieves a specific alert from an incident
list_alerts_from_incidentIncidentsLists all alerts for a specific incident
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
list_escalation_policiesEscalation PolicyLists escalation policies
get_escalation_policyEscalation PolicyRetrieves a specific escalation policy
get_event_orchestrationEvent OrchestrationsRetrieves a specific event orchestration
get_event_orchestration_globalEvent OrchestrationsGets the global orchestration configuration
get_event_orchestration_routerEvent OrchestrationsGets the router configuration
get_event_orchestration_serviceEvent OrchestrationsGets the service orchestration configuration
list_event_orchestrationsEvent OrchestrationsLists event orchestrations
get_incidentIncidentsRetrieves a specific incident
get_outlier_incidentIncidentsRetrieves outlier incident information
get_past_incidentsIncidentsRetrieves past incidents related to a specific incident
get_related_incidentsIncidentsRetrieves related incidents
list_incident_notesIncidentsLists all notes for a specific incident
list_incidentsIncidentsLists incidents
get_incident_workflowIncident WorkflowsRetrieves a specific incident workflow
list_incident_workflowsIncident WorkflowsLists incident workflows
get_log_entryLog EntriesRetrieves a specific log entry by ID
list_log_entriesLog EntriesLists all log entries across the account
list_oncallsOn-callLists on-call schedules
get_scheduleSchedulesRetrieves a specific schedule
list_schedule_usersSchedulesLists users in a schedule
list_schedulesSchedulesLists schedules
get_serviceServicesRetrieves a specific service
list_servicesServicesLists services
get_status_page_postStatus PagesRetrieves details of a status page post
list_status_page_impactsStatus PagesLists available impact levels
list_status_page_post_updatesStatus PagesLists updates for a status page post
list_status_page_severitiesStatus PagesLists available severity levels
list_status_page_statusesStatus PagesLists available statuses
list_status_pagesStatus PagesLists all status pages
get_teamTeamsRetrieves a specific team
list_team_membersTeamsLists members of a team
list_teamsTeamsLists teams
get_user_dataUsersGets the current user’s data
list_usersUsersLists users in the PagerDuty account

Write Tools (22 tools)

These tools require the --enable-write-tools flag:
ToolAreaDescriptionDestructive
create_alert_grouping_settingAlert GroupingCreates a new alert grouping settingNo
update_alert_grouping_settingAlert GroupingUpdates an existing alert grouping settingNo
delete_alert_grouping_settingAlert GroupingDeletes an alert grouping settingYes
append_event_orchestration_router_ruleEvent OrchestrationsAdds a new routing ruleNo
update_event_orchestration_routerEvent OrchestrationsUpdates router configurationNo
add_note_to_incidentIncidentsAdds note to an incidentNo
add_respondersIncidentsAdds responders to an incidentNo
create_incidentIncidentsCreates a new incidentNo
manage_incidentsIncidentsUpdates incident status, urgency, or assignmentNo
start_incident_workflowIncident WorkflowsStarts a workflow instance for an incidentNo
create_scheduleSchedulesCreates a new on-call scheduleNo
create_schedule_overrideSchedulesCreates an override for a scheduleNo
update_scheduleSchedulesUpdates an existing scheduleNo
create_serviceServicesCreates a new serviceNo
update_serviceServicesUpdates an existing serviceNo
create_status_page_postStatus PagesCreates a new status page postNo
create_status_page_post_updateStatus PagesAdds an update to a status page postNo
add_team_memberTeamsAdds a user to a teamNo
create_teamTeamsCreates a new teamNo
delete_teamTeamsDeletes a teamYes
remove_team_memberTeamsRemoves a user from a teamNo
update_teamTeamsUpdates an existing teamNo
Most write tools are not destructive—they create or update resources. Only delete operations are truly destructive and cannot be undone.

Best Practices for Using Write Tools

1. Start in Read-Only Mode

When first exploring your PagerDuty configuration or testing the MCP server:
  • Do not enable write tools initially
  • Use read-only tools to understand your current state
  • Only enable write tools when you’re ready to make changes

2. Verify Before Destructive Operations

Before deleting resources:
  1. Review the resource using a read-only tool first
  2. Confirm the resource ID is correct
  3. Understand the impact of deletion (e.g., removing a team affects all members)
  4. Have a rollback plan if the operation can’t be undone

3. Use Specific Identifiers

When modifying resources:
  • Use exact IDs rather than names when possible
  • Verify the resource with a get_* tool before updating
  • Check related resources that might be affected

4. Test in Non-Production First

If you have multiple PagerDuty accounts:
  • Configure write tools on a test account first
  • Verify the behavior matches your expectations
  • Use separate API tokens for production vs. non-production

5. Monitor API Token Permissions

Your User API token inherits your PagerDuty account permissions:
  • Review your role in PagerDuty Settings
  • Understand permission limits (especially for Freemium accounts)
  • Use least-privilege tokens when possible

6. Review AI Assistant Confirmations

Most AI assistants will ask for confirmation before destructive operations:
  • Read the confirmation prompt carefully
  • Verify the resource ID in the prompt
  • Decline if uncertain and investigate further

Safety Architecture

The PagerDuty MCP Server implements a defense-in-depth approach to safety:

Layer 1: Explicit Enablement

Write tools are disabled by default. You must explicitly pass the --enable-write-tools flag to make them available.

Layer 2: Tool Annotations

Each tool is annotated with safety hints that inform the AI assistant:
  • Read-only tools are marked safe for automatic use
  • Write tools are flagged as potentially destructive
  • Idempotent tools can be safely retried

Layer 3: AI Assistant Confirmation

Most AI assistants implement confirmation dialogs for destructive operations based on the destructiveHint annotation.

Layer 4: PagerDuty Permissions

The PagerDuty API enforces permission checks based on your User API token’s role and account type.

Example Use Cases

Read-Only Session: Incident Investigation

# Start server without write tools
uvx pagerduty-mcp
Safe operations:
  • “Show me all high-urgency incidents from the last 24 hours”
  • “Who is currently on-call for the database team?”
  • “List all services with their escalation policies”
  • “Show me the change events around incident #12345”

Write Session: Incident Response

# Start server with write tools enabled
uvx pagerduty-mcp --enable-write-tools
Available operations:
  • “Create an incident for the API service”
  • “Add a note to incident #12345 with our findings”
  • “Escalate incident #12345 to the next level”
  • “Create a schedule override for tomorrow”

Hybrid Workflow

Many workflows combine read and write operations:
  1. Read: “Show me all open incidents”
  2. Read: “Get details for incident #12345”
  3. Write: “Add a note to incident #12345: ‘Database failover completed’”
  4. Write: “Resolve incident #12345”
You can restart the MCP server with write tools enabled mid-session if you realize you need to make changes. Your AI assistant will have access to the new tools once the server restarts.

Frequently Asked Questions

No, the --enable-write-tools flag enables all write tools at once. However, the AI assistant will only use tools that are relevant to your request, and will seek confirmation for destructive operations.
If write tools are not enabled, they won’t be available to the AI assistant. The assistant will inform you that the requested operation isn’t possible with the current configuration and may suggest enabling write tools.
Write tools modify your live PagerDuty account, so they should be used carefully. However, most write operations (create, update) are not destructive and can be reversed manually. Only delete operations are truly destructive. The safety annotations help AI assistants handle write tools appropriately.
You configure a single API token when starting the MCP server. To use different tokens, you would need to run separate server instances. However, it’s generally better to use the --enable-write-tools flag to control access rather than managing multiple tokens.
Check the “Read-only” column in the tools table. Tools marked with ✅ are read-only; tools marked with ❌ are write tools. You can also refer to the complete lists on this page.

Next Steps

Tools Overview

Return to the complete tools reference

Security Best Practices

Learn how to securely configure API access

Incident Management Guide

Explore common incident workflows

Configuration Guide

Review MCP server configuration options

Build docs developers (and LLMs) love