PagerDuty MCP Server
About
MCP server exposing PagerDuty incidents, services, schedules, and on-calls to AI agents — read, acknowledge, resolve, with OAuth and API key auth
Details
- Author
- wpfleger96
- GitHub stars
- 7
- Downloads
- 271
- Categories
- AI
Jump to
- Exposes PagerDuty API tools for LLMs
- Read and write operations on incidents, services, teams, users
- Optional include parameter to reduce token usage
- Consistent response format with metadata and optional error
- Automatic pagination and rate limit handling
- Supports API token, OAuth, and per-request token authentication
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
PagerDuty MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install via uvx pagerduty-mcp-server and configure authentication using a PagerDuty API token, OAuth 2.0 PKCE, or the X-PagerDuty-Token HTTP header. Use with Claude/Cursor by adding the MCP configuration, or run as a standalone server with uv run pagerduty-mcp-server.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"pagerduty mcp server": {
"pagerduty-mcp-server": {
"command": "uv",
"args": [
"sync"
]
}
}
}
}
McpServers
{
"pagerduty-mcp-server": {
"command": "uv",
"args": [
"sync"
]
}
}
PagerDuty MCP Server
A server that exposes PagerDuty API functionality to LLMs. This server is designed to be used programmatically, with structured inputs and outputs.<a href="https://glama.ai/mcp/servers/@wpfleger96/pagerduty-mcp-server">
</a>
Overview
The PagerDuty MCP Server provides a set of tools for interacting with the PagerDuty API. These tools are designed to be used by LLMs to perform various operations on PagerDuty resources such as incidents, services, teams, and users.Getting Started
1. Initialize your local Python environment:
cd pagerduty-mcp-server
brew install uv
uv sync
2. Configure authentication (see Authentication below).
Authentication
Priority: X-PagerDuty-Token HTTP header > PAGERDUTY_API_TOKEN environment variable > OAuth 2.0 PKCE
Option 1: X-PagerDuty-Token Header (Platform Integration)
When running as part of a platform that injects per-request credentials, the server reads theX-PagerDuty-Token HTTP header. This takes highest priority and does not require any local configuration.
Option 2: API Token (Recommended for Most Users)
Set thePAGERDUTY_API_TOKEN environment variable, or add it to a .env file in the project root. The server will automatically load environment variables from the .env file if present.
Environment variable:
export PAGERDUTY_API_TOKEN=your_api_token_here
.env file (recommended):
echo "PAGERDUTY_API_TOKEN=your_api_token_here" > .env
Option 3: OAuth 2.0 PKCE (Local Interactive Use)
OAuth is available for local standalone usage. It opens a browser for authentication and stores tokens securely in the OS keyring. OAuth is opt-in — it only activates whenPAGERDUTY_CLIENT_ID is set and no API token is present.
Setup:
1. Register a PagerDuty OAuth application at Integrations → Developer Tools → My Apps.
2. Set the required scope to read write.
3. Set the redirect URI to http://localhost:5173/oauth/pagerduty (default port).
4. Set the PAGERDUTY_CLIENT_ID environment variable to your application's client ID.
Optional configuration:
- Set PAGERDUTY_CLIENT_SECRET to enable token refresh (confidential client).
- Set PAGERDUTY_OAUTH_CALLBACK_PORT to override the default callback port (5173).
Usage
Claude/Cursor
{
"mcpServers": {
"pagerduty-mcp-server": {
"command": "uvx",
"args": ["pagerduty-mcp-server"],
"env": {
"PAGERDUTY_API_TOKEN": "<PAGERDUTY_API_TOKEN>"
}
}
}
}
As Standalone Server
uv run pagerduty-mcp-server
Available Tools
Read Tools
-get_escalation_policies — List or get details for escalation policies
- get_incidents — List or get details for incidents (supports filtering by status, urgency, service, team, and time range)
- get_oncalls — List on-call entries for a time range
- get_schedules — List or get details for schedules
- get_services — List or get details for services
- get_teams — List or get details for teams
- get_users — List or get details for users
- list_users_oncall — List users on call for a specific schedule
- build_user_context — Build a context object for the current authenticated user
Write Tools
-acknowledge_incident — Acknowledge an incident (signals active investigation)
- resolve_incident — Resolve an incident (stops further escalations)
- add_incident_note — Add a note to an incident (for recording investigation progress or context)
The include Parameter
Most read tools accept an optional include parameter — a list of field names to return. When specified, only those fields are included in each response object, which reduces token usage in LLM contexts.
```python
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.
