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
Explore other MCP servers built and managed by Merge
























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

