PagerDuty
Description: Enable agents to read incidents, on-call info, services, and teams in PagerDuty
Author: Arcade
Auth: User authorization
The PagerDuty MCP Server lets agents list and inspect incidents, on-calls, services, teams, users, schedules, log entries, and escalation policies. Follows the Linear-style docs with code snippets in Python and JavaScript.
Arcade supports Classic PagerDuty apps. Select read-only access; all tools in this MCP Server only read data. (Use read/write only if you add custom write tools.) See PagerDuty OAuth functionality .
Configure PagerDuty OAuth in the PagerDuty auth provider before using these tools.
Available tools
| Tool Name | Description |
|---|---|
| PagerDuty.WhoAmI | Get the authenticated user's profile + on-call status |
| PagerDuty.ListIncidents | List incidents with filters |
| PagerDuty.GetIncident | Get a single incident by ID |
| PagerDuty.ListLogEntries | List account log entries (activity feed) |
| PagerDuty.ListEscalationPolicies | List escalation policies |
| PagerDuty.GetEscalationPolicy | Get an escalation policy by ID |
| PagerDuty.ListServices | List services with optional name search |
| PagerDuty.GetService | Get a service by ID |
| PagerDuty.ListSchedules | List schedules with on-call data |
| PagerDuty.ListOnCalls | List on-call entries with filters |
| PagerDuty.ListUsers | List users |
| PagerDuty.SearchUsers | Search users by name/email (fuzzy) |
| PagerDuty.ListTeams | List teams |
| PagerDuty.GetTeam | Get a team by ID |
If you need a tool that’s not listed, contact us or build your own.
readOnlyHint— reads data only -openWorldHint— calls PagerDuty’s external API -destructiveHint— none of these tools delete data -idempotentHint— repeating the same read call returns the same data
User context
PagerDuty.WhoAmI
Get the authenticated user’s profile plus current on-call info.
readOnlyHint: true— reads data only -openWorldHint: true— calls PagerDuty’s external API -destructiveHint: false— no destructive operations -idempotentHint: true— same request returns same data
Parameters None.
API calls: GET /users/me, GET /oncalls
Incident tools
PagerDuty.ListIncidents
List incidents with filters (status, urgency, services, teams, time window).
readOnlyHint: true— reads data only -openWorldHint: true— calls PagerDuty’s external API -destructiveHint: false— no destructive operations -idempotentHint: true— same request returns same data
Parameters
- status (
enum, optional) Filter by status. - urgency (
enum, optional) Filter by urgency. - service_ids (
array, optional) Filter by service IDs. - team_ids (
array, optional) Filter by team IDs. - since / until (
string, optional) ISO-8601 time range. - limit (
integer, optional) 1-50, default 10. - offset (
integer, optional) Pagination offset.
API calls: GET /incidents
PagerDuty.GetIncident
Get a single incident by ID.
readOnlyHint: true— reads data only -openWorldHint: true— calls PagerDuty’s external API -destructiveHint: false— no destructive operations -idempotentHint: true— same request returns same data
Parameters
- incident_id (
string, required) Incident ID.
API calls: GET /incidents/{id}
PagerDuty.ListLogEntries
List account log entries (activity feed).
readOnlyHint: true— reads data only -openWorldHint: true— calls PagerDuty’s external API -destructiveHint: false— no destructive operations -idempotentHint: true— same request returns same data
Parameters
- since / until (
string, optional) ISO-8601 time range. - team_ids (
array, optional) Filter by team IDs. - time_zone (
string, optional) IANA time zone. - is_overview (
boolean, optional) Compact mode. Default:true. - limit (
integer, optional) 1-50. Default: 10. - offset (
integer, optional) Pagination offset.
API calls: GET /log_entries
Escalation policy tools
PagerDuty.ListEscalationPolicies
List escalation policies.
readOnlyHint: true— reads data only -openWorldHint: true— calls PagerDuty’s external API -destructiveHint: false— no destructive operations -idempotentHint: true— same request returns same data
Parameters
- limit (
integer, optional) 1-50. Default: 10. - offset (
integer, optional) Pagination offset.
API calls: GET /escalation_policies
PagerDuty.GetEscalationPolicy
Get escalation policy details.
readOnlyHint: true— reads data only -openWorldHint: true— calls PagerDuty’s external API -destructiveHint: false— no destructive operations -idempotentHint: true— same request returns same data
Parameters
- escalation_policy_id (
string, required) Escalation policy ID.
API calls: GET /escalation_policies/{id}
Service tools
PagerDuty.ListServices
List services (optional name search).
readOnlyHint: true— reads data only -openWorldHint: true— calls PagerDuty’s external API -destructiveHint: false— no destructive operations -idempotentHint: true— same request returns same data
Parameters
- query (
string, optional) Search by name. - limit (
integer, optional) 1-50. Default: 10. - offset (
integer, optional) Pagination offset.
API calls: GET /services
PagerDuty.GetService
Get service details.
readOnlyHint: true— reads data only -openWorldHint: true— calls PagerDuty’s external API -destructiveHint: false— no destructive operations -idempotentHint: true— same request returns same data
Parameters
- service_id (
string, required) Service ID.
API calls: GET /services/{id}
Schedule tools
PagerDuty.ListSchedules
List schedules with optional time zone and pagination.
readOnlyHint: true— reads data only -openWorldHint: true— calls PagerDuty’s external API -destructiveHint: false— no destructive operations -idempotentHint: true— same request returns same data
Parameters
- limit (
integer, optional) 1-50. Default: 10. - offset (
integer, optional) Pagination offset. - time_zone (
string, optional) IANA time zone.
API calls: GET /schedules
On-call tools
PagerDuty.ListOnCalls
List on-call entries with filters (schedule, escalation policy, team, time).
readOnlyHint: true— reads data only -openWorldHint: true— calls PagerDuty’s external API -destructiveHint: false— no destructive operations -idempotentHint: true— same request returns same data
Parameters
- schedule_ids (
array, optional) Filter by schedules. - escalation_policy_ids (
array, optional) Filter by escalation policies. - team_ids (
array, optional) Filter by teams. - time_zone (
string, optional) IANA time zone. - since / until (
string, optional) ISO times. - limit (
integer, optional) 1-50. Default: 10. - offset (
integer, optional) Pagination offset.
API calls: GET /oncalls
User tools
PagerDuty.ListUsers
List users with pagination.
readOnlyHint: true— reads data only -openWorldHint: true— calls PagerDuty’s external API -destructiveHint: false— no destructive operations -idempotentHint: true— same request returns same data
Parameters
- limit (
integer, optional) 1-50. Default: 10. - offset (
integer, optional) Pagination offset.
API calls: GET /users
PagerDuty.SearchUsers
Search users by name/email (fuzzy).
readOnlyHint: true— reads data only -openWorldHint: true— calls PagerDuty’s external API -destructiveHint: false— no destructive operations -idempotentHint: true— same request returns same data
Parameters
- query (
string, required) Name or email fragment. - auto_accept_matches (
boolean, optional) Auto-accept above confidence threshold. Default:false.
API calls: GET /users (fuzzy match locally)
Team tools
PagerDuty.ListTeams
List teams with pagination.
readOnlyHint: true— reads data only -openWorldHint: true— calls PagerDuty’s external API -destructiveHint: false— no destructive operations -idempotentHint: true— same request returns same data
Parameters
- limit (
integer, optional) 1-50. Default: 10. - offset (
integer, optional) Pagination offset.
API calls: GET /teams
PagerDuty.GetTeam
Get team details (members, linked services/policies).
readOnlyHint: true— reads data only -openWorldHint: true— calls PagerDuty’s external API -destructiveHint: false— no destructive operations -idempotentHint: true— same request returns same data
Parameters
- team_id (
string, required) Team ID.
API calls: GET /teams/{id}
Auth
PagerDuty requires OAuth2. Configure the PagerDuty auth provider and request the scopes shown above per tool. Tokens are passed as Bearer auth:
Authorization: Bearer <token>See PagerDuty auth docs: PagerDuty API Authentication .