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.
PagerDuty tools require OAuth2 with scopes per tool (e.g., incidents.read, users.read, oncalls.read). Configure the PagerDuty auth provider and consent users before calling tools. See PagerDuty auth docs .
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 onlyopenWorldHint— calls PagerDuty’s external APIdestructiveHint— none of these tools delete dataidempotentHint— repeating the same read call returns the same data
User context
PagerDuty.WhoAmI
Get the authenticated user’s profile plus current on-call info.
Parameters
None.
users.read,users:contact_methods.read,teams.read,oncalls.read
GET /users/me, GET /oncalls
Incident tools
PagerDuty.ListIncidents
List incidents with filters (status, urgency, services, teams, time window).
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.
incidents.read
GET /incidents
PagerDuty.GetIncident
Get a single incident by ID.
Parameters
- incident_id (
string, required) Incident ID.
incidents.read
GET /incidents/{id}
PagerDuty.ListLogEntries
List account log entries (activity feed).
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.
incidents.read
GET /log_entries
Escalation policy tools
PagerDuty.ListEscalationPolicies
List escalation policies.
Parameters
- limit (
integer, optional) 1-50. Default: 10. - offset (
integer, optional) Pagination offset.
escalation_policies.read
GET /escalation_policies
PagerDuty.GetEscalationPolicy
Get escalation policy details.
Parameters
- escalation_policy_id (
string, required) Escalation policy ID.
escalation_policies.read
GET /escalation_policies/{id}
Service tools
PagerDuty.ListServices
List services (optional name search).
Parameters
- query (
string, optional) Search by name. - limit (
integer, optional) 1-50. Default: 10. - offset (
integer, optional) Pagination offset.
services.read
GET /services
PagerDuty.GetService
Get service details.
Parameters
- service_id (
string, required) Service ID.
services.read
GET /services/{id}
Schedule tools
PagerDuty.ListSchedules
List schedules with optional time zone and pagination.
Parameters
- limit (
integer, optional) 1-50. Default: 10. - offset (
integer, optional) Pagination offset. - time_zone (
string, optional) IANA time zone.
schedules.read,oncalls.read
GET /schedules
On-call tools
PagerDuty.ListOnCalls
List on-call entries with filters (schedule, escalation policy, team, time).
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.
oncalls.read,schedules.read,escalation_policies.read
GET /oncalls
User tools
PagerDuty.ListUsers
List users with pagination.
Parameters
- limit (
integer, optional) 1-50. Default: 10. - offset (
integer, optional) Pagination offset.
users.read
GET /users
PagerDuty.SearchUsers
Search users by name/email (fuzzy).
Parameters
- query (
string, required) Name or email fragment. - auto_accept_matches (
boolean, optional) Auto-accept above confidence threshold. Default:false.
users.read
GET /users (fuzzy match locally)
Team tools
PagerDuty.ListTeams
List teams with pagination.
Parameters
- limit (
integer, optional) 1-50. Default: 10. - offset (
integer, optional) Pagination offset.
teams.read
GET /teams
PagerDuty.GetTeam
Get team details (members, linked services/policies).
Parameters
- team_id (
string, required) Team ID.
teams.read,users.read,escalation_policies.read,services.read
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 .