# PagerDuty MCP

> PagerDuty MCP lets your AI agent take full control of incident response and service health tracking. You can list, create, acknowledge, or resolve incidents across all services without leaving your IDE. It also provides real-time visibility into on-call schedules, allowing you to instantly identify who is responsible for an alert, making critical outage management conversational.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** incident-management, on-call-scheduling, alerting, service-monitoring, escalation-policy, devops

## Description

You manage complex incident lifecycles using natural conversation through this MCP. Instead of jumping between multiple dashboards, your agent handles the full workflow. You can list all active incidents and get deep details on a specific service's configuration or user profile. Need to know who is currently covering the platform? The MCP checks current on-call rotations, showing which level (L1, L2) has coverage until what date. If something goes wrong, your agent creates the initial incident record automatically, then you can acknowledge it and update its status when troubleshooting is done. It's a command center for service health—all accessible from any MCP-compatible client through Vinkius.

## Tools

### create_incident
Starts a new incident record for a specified service using your email and a title.

### get_incident
Retrieves detailed status information about a specific, existing incident ID.

### get_service
Fetches the full configuration and integration details for one monitored service.

### get_user
Gets detailed profile information for a single team member within PagerDuty.

### list_oncalls
Provides a real-time list of all individuals currently scheduled to be on call across the organization.

### list_schedules
Retrieves a comprehensive list of all defined on-call rotation schedules.

### list_services
Lists every service that is currently monitored by PagerDuty.

### list_users
Retrieves a complete list of all user accounts within the connected PagerDuty account.

### update_incident
Changes an incident's status, such as acknowledging it, resolving it, or reassigning ownership.

### list_escalation_policies
Shows all existing escalation policies and their defined routing rules for incidents.

### list_incidents
Lists multiple incidents, allowing you to filter by status like 'triggered' or 'resolved'.

## Prompt Examples

**Prompt:** 
```
Show me all triggered incidents right now.
```

**Response:** 
```
There are 3 triggered incidents:

1. 🔴 **P8K2LMN** — Database connection pool exhausted (Production API)
2. 🔴 **P3J9FGH** — SSL certificate expires in 24h (CDN Edge)
3. 🟡 **P1A4BCD** — High memory usage on worker-03 (Background Jobs)

Would you like me to acknowledge any of these?
```

**Prompt:** 
```
Who is on-call for the Platform team right now?
```

**Response:** 
```
Current on-call for Platform:

- **Level 1**: sarah.chen@company.com (until Apr 7, 9:00 AM UTC)
- **Level 2**: marcus.ops@company.com (until Apr 14, 9:00 AM UTC)

Escalation Policy: Platform Critical (30 min timeout per level).
```

**Prompt:** 
```
Acknowledge incident P8K2LMN and show me the service details.
```

**Response:** 
```
✅ Incident **P8K2LMN** acknowledged successfully.

**Service: Production API**
- Status: Active (Critical)
- Escalation: Platform Critical (3 levels)
- Integrations: Datadog, Sentry, Slack
- Auto-resolve: 4 hours

Would you like me to investigate the root cause or resolve this incident?
```

## Capabilities

### Check all active incidents
List current, acknowledged, or resolved incidents across your entire service portfolio.

### Manage incident status
Acknowledge, resolve, or update the severity of an existing incident programmatically.

### Monitor services and users
View detailed configurations for specific services or retrieve profiles and contact information for team members.

### Determine on-call coverage
See who is currently assigned to handle alerts across all defined schedules and escalation levels in real time.

### Automate incident creation
Generate a new incident record when an event occurs, requiring only the service ID and title.

## Use Cases

### Handling a sudden production alert
The agent detects an outage and runs 'list_incidents'. You tell it to check the associated service using get_service, confirming its critical status. Next, you ask who is on-call using list_oncalls to assign immediate ownership via update_incident.

### Post-outage reporting
A manager needs a report on last week's downtime. The agent runs list_incidents, filtering by resolved status, and then pulls all related service details using get_service for the executive summary.

### Onboarding a new team member
A new engineer asks about coverage gaps. The agent lists_schedules to show the entire rotation pattern and runs list_escalation_policies so they understand how incidents flow through teams.

## Benefits

- You get instant visibility into who is on-call. Instead of checking a wiki or calling someone, asking the agent to list_oncalls tells you exactly which team member is responsible right now.
- Incident resolution accelerates when you can acknowledge it and gather details simultaneously. Use update_incident after getting service data from get_service; no context switching required.
- Debugging outages gets easier because your AI client pulls all the necessary information—from listing services to checking escalation policies—in one conversation thread.
- You never have to manually create an incident again. If a monitoring hook triggers, simply ask the agent to create_incident with the service ID and title, logging it immediately.
- It cuts down on manual lookup time. Need to know who owns Service X? Use get_user or list_users combined with list_services to find contact info instantly.

## How It Works

The bottom line is you get a single conversational interface that handles the full lifecycle of an alert, from discovery to resolution.

1. First, connect your PagerDuty account credentials by entering your REST API Key into Vinkius.
2. Next, ask your AI agent to check the status of critical services or list users to gather necessary context for an outage.
3. Finally, tell the agent what needs to happen—for example, 'Acknowledge incident XYZ and find out who is on-call'—and it runs the workflow.

## Frequently Asked Questions

**How do I use PagerDuty MCP to see who is on-call?**
Simply ask your agent to list_oncalls. It immediately provides real-time data showing the current L1 and L2 contacts, along with their expiration dates.

**Can I create a new incident using the PagerDuty MCP?**
Yes, use create_incident. You just need to provide your service ID and a title, and it registers the alert immediately.

**What if an incident status needs changing? Which tool should I use in PagerDuty MCP?**
Use update_incident. This function lets you acknowledge, resolve, or escalate an incident programmatically with a single command.

**How does the PagerDuty MCP help me monitor services?**
You can list all monitored services using list_services, and then drill down into any specific one by calling get_service to view its full configuration details.