Connect your AI Agents to PagerDuty in minutes

Available tools
get_incident_analytics
Get aggregated incident metrics across the account. Filter by date range, urgency, service, or team. Returns MTTA, MTTR, incident counts.
get_service_analytics
Get aggregated metrics broken down by service. Filter by date range, urgency, service, or team. Returns per-service MTTA, MTTR, incident counts.
list_escalation_policies
List escalation policies with optional filters. Escalation policies define who to notify and in what order. Supports pagination.
get_escalation_policy
Get an escalation policy by ID. Returns full policy details including escalation rules and targets.
create_escalation_policy
Create an escalation policy. Requires name and escalation_rules with targets (users/schedules) and delays. Use list_users or list_schedules to find target IDs.
update_escalation_policy
Update an escalation policy. Change name, description, rules, or loop count.
delete_escalation_policy
Delete an escalation policy by ID. This is permanent. Ensure no services reference this policy first.
list_incidents
List incidents with optional filters for status, urgency, service, date range. Supports pagination via offset/limit.
get_incident
Get a specific incident by ID. Returns full incident details including status, assignments, and priority.
create_incident
Create a new incident. Requires title and service_id. Use list_services to find valid service IDs. Optionally set urgency, priority, and assignments.
update_incident
Update an incident. Change status (acknowledge/resolve), urgency, priority, or reassign. Use list_priorities for valid priority IDs.
list_incident_notes
List notes on an incident. Notes are timestamped comments added by responders during incident lifecycle.
create_incident_note
Add a note to an incident. Notes help document incident response activities and findings.
list_incident_alerts
List alerts for an incident. Alerts are the underlying triggers that created or were grouped into the incident.
list_incident_log_entries
List log entries for an incident. Shows the timeline of actions taken during incident response.
list_priorities
List priority levels configured in PagerDuty. Priorities are used when creating or updating incidents.
list_tags
List tags with optional name filter. Tags can be attached to users, teams, and escalation policies for organization.
create_tag
Create a new tag. Tags help organize users, teams, and escalation policies.
list_log_entries
List log entries across the account. Log entries record all actions in PagerDuty (triggers, acknowledgements, escalations, etc.).
list_maintenance_windows
List maintenance windows. Maintenance windows temporarily disable incident creation for specified services.
get_maintenance_window
Get a maintenance window by ID. Returns full details including services and time range.
create_maintenance_window
Create a maintenance window. Temporarily disables incident creation for specified services during the time range.
update_maintenance_window
Update a maintenance window. Change time range, description, or services.
delete_maintenance_window
Delete a maintenance window by ID. This is permanent and cannot be undone.
list_audit_records
List audit records across the account. Tracks changes to all PagerDuty resources for compliance and security review.
list_oncalls
List who is currently on-call. Filter by schedule, escalation policy, user, or time range. Use to find current responders.
list_schedules
List on-call schedules with optional name filter. Schedules define who is on-call at any given time. Supports pagination.
get_schedule
Get a schedule by ID with rendered on-call entries. Optionally specify since/until for the rendered time range.
create_schedule
Create an on-call schedule. Requires name, time_zone, and schedule_layers. Each layer defines a rotation with users, start time, and turn length.
update_schedule
Update a schedule. Change name, description, time zone, or schedule layers.
delete_schedule
Delete a schedule by ID. This is permanent. Ensure no escalation policies reference this schedule first.
list_services
List services with optional filters. Services represent applications or components that generate incidents. Supports pagination via offset/limit.
get_service
Get a specific service by ID. Returns full service details including escalation policy and alert settings.
create_service
Create a new service. Requires name and escalation_policy_id. Use list_escalation_policies to find valid IDs.
update_service
Update a service. Change name, description, escalation policy, or alert settings.
delete_service
Delete a service by ID. This is permanent and cannot be undone. All associated incidents will remain.
list_teams
List teams with optional name filter. Teams group users for incident assignment and escalation. Supports pagination.
get_team
Get a specific team by ID. Returns team details including parent team relationship.
create_team
Create a new team. Requires a name. Optionally set description and parent team for nesting.
update_team
Update a team. Change name, description, or parent team.
delete_team
Delete a team by ID. This is permanent. Reassign users and escalation policies before deleting.
list_users
List users with optional filters by name, email, or team. Supports pagination via offset/limit.
get_user
Get a specific user by ID. Returns full user details including role, teams, and contact methods.
create_user
Create a new user. Requires name and email. Optionally set role, time zone, and job title.
update_user
Update a user. Change name, email, role, time zone, or other profile fields.
delete_user
Delete a user by ID. This is permanent. The user must not be on-call or have pending incidents.
validate_credential
Validate PagerDuty credentials by testing API access. Used during credential setup to verify authentication is working correctly.

How to set up Merge Agent Handler
In an mcp.json file, add the configuration below, and restart Cursor.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5 "headers": {
6 "Authorization": "Bearer yMt*****"
7 }
8 }
9 }
10}
11Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.
Make sure Claude is using the Node v20+.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "yMt*****"
14 }
15 }
16 }
17}Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "<ah-production-access-key>"
14 }
15 }
16 }
17 }In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".
You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.
Learn more in the official documentation ↗
1{
2 "inputs": [
3 {
4 "type": "promptString",
5 "id": "agent-handler-auth",
6 "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7 "password": true
8 }
9 ],
10 "servers": {
11 "agent-handler": {
12 "type": "stdio",
13 "command": "npx",
14 "args": [
15 "-y",
16 "mcp-remote@latest",
17 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18 "--header",
19 "Authorization: Bearer ${input:agent-handler-auth}"
20 ]
21 }
22 }
23}FAQs on using Merge's PagerDuty MCP server
FAQs on using Merge's PagerDuty MCP server
What is a PagerDuty MCP?
It's an MCP server that connects your agents to PagerDuty via tools. Your agents can invoke these tools to create and manage incidents, check on-call schedules, update escalation policies, track response metrics, and more.
PagerDuty offers an official MCP server, but you can also use one from a third-party platform, like Merge Agent Handler.
How can I use the PagerDuty MCP server?
The use cases naturally depend on the agent you've built, but here are a few common ones:
- Automated incident creation from alerts: When a Datadog monitor fires, an agent calls <code class="blog_inline-code">
create_incident</code>to open a new PagerDuty incident pre-populated with the alert details, assigns it according to the relevant escalation policy, and posts the incident link to the team's Slack channel
- On-call handoff briefing: At the start of each shift, an agent calls <code class="blog_inline-code">
list_oncalls</code>to identify the incoming responder, calls <code class="blog_inline-code">list_incidents</code>filtered to open status, and posts a structured summary of active incidents and their current severity to the on-call Slack channel
- Incident escalation on timeout: When an incident has been open without acknowledgment for more than 30 minutes, an agent calls <code class="blog_inline-code">
update_incident</code>to raise its urgency and calls <code class="blog_inline-code">create_incident_note</code>to log the escalation, ensuring the right team is looped in before the issue compounds
- Postmortem data pull: After an incident is resolved, an agent calls <code class="blog_inline-code">
list_incident_log_entries</code>to retrieve the full response timeline and calls <code class="blog_inline-code">get_incident_analytics</code>for MTTA and MTTR metrics, giving the on-call team structured data to kick off a postmortem without manually pulling records
What are popular tools for PagerDuty's MCP server?
Here are some of the most commonly used tools:
<code class="blog_inline-code">list_incidents</code>retrieves incidents filterable by status, urgency, service, or team. Good for agents that need a current view of active incidents before taking an action or generating a shift briefing
<code class="blog_inline-code">create_incident</code>opens a new incident in PagerDuty with a specified title, service, urgency, and escalation policy. Use this when an agent needs to programmatically trigger incident response from an alert or anomaly detected in another system
<code class="blog_inline-code">update_incident</code>modifies an existing incident's status, urgency, or assigned responder. Call this when an agent needs to escalate, acknowledge, or resolve an incident in response to a condition met outside PagerDuty
<code class="blog_inline-code">create_incident_note</code>appends a note to an incident's activity timeline. Helpful when an agent needs to log what it observed, what action it took, or what context it gathered from another tool during an active response
<code class="blog_inline-code">list_oncalls</code>returns who is currently on call across one or more schedules. Use this when an agent needs to identify the right responder before routing an alert, creating an incident, or sending a notification
<code class="blog_inline-code">get_incident_analytics</code>retrieves aggregated response metrics like MTTA and MTTR for a service or team over a time range. Useful for agents generating weekly reliability reports or tracking whether on-call response times are trending in the right direction
What makes Merge Agent Handler's PagerDuty MCP server better than alternative PagerDuty MCP servers?
Here is what distinguishes Merge Agent Handler's PagerDuty MCP server from building your own or relying on a standalone option:
- Enterprise-grade security and DLP: Merge Agent Handler includes built-in data loss prevention controls that let you block or redact sensitive fields before they reach an agent. For PagerDuty, this means you can prevent on-call contact details, incident descriptions containing customer data, and service configurations from being exposed even when the agent has broad read access
- Managed authentication and credentials: Merge stores and refreshes PagerDuty credentials on your behalf. You never expose API keys to an agent directly or rewire authentication when credentials rotate across team members
- Real-time observability and audit trail: Every tool call made against PagerDuty is logged with timestamp, tool name, input parameters, and response metadata. You can audit exactly which incidents an agent created, updated, or escalated without adding any custom instrumentation to your pipeline
- Tool Packs and controlled access: Tool Packs let you bundle specific PagerDuty tools with tools from other connectors into a single MCP endpoint, scoped to a specific use case. An incident response agent can combine PagerDuty tools with Datadog log search and Guru runbook retrieval in one Tool Pack, getting exactly the tools it needs, nothing more
How can I start using Merge Agent Handler's PagerDuty MCP server?
You can take the following steps:
1. Create or log into your Merge Agent Handler account and navigate to Tool Packs (collections of connector tools scoped to a specific use case).
2. Create a new Tool Pack, then find and enable the PagerDuty connector. Choose which tools to include: enable read tools like <code class="blog_inline-code">list_incidents</code> and <code class="blog_inline-code">list_oncalls</code> for monitoring use cases, or add write tools like <code class="blog_inline-code">create_incident</code> and <code class="blog_inline-code">update_incident</code> if your agent needs to open or escalate incidents.
3. Add a Registered User inside the Tool Pack. This is the identity context under which your agent operates. Merge generates a unique MCP URL scoped to this user once it's created.
4. From the Registered User detail page, authenticate PagerDuty by completing the OAuth flow. Merge stores and manages the credentials going forward.
5. Copy the MCP URL from the Tool Pack detail page and generate an API key from Settings. You'll need both to connect your agent.
6. Add the MCP server to your agent or IDE using the MCP URL and API key. Your PagerDuty tools are now accessible through that endpoint.
Ready to try it out?
Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now





