Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Clr Pagerduty

FreeNot checked

MCP server for PagerDuty incident management

GitHubEmbed

About

MCP server for PagerDuty incident management

README

PyPI License: MIT Python 3.11+

MCP server for PagerDuty — manage incidents, on-call schedules, and services through AI assistants like Claude.

Features

  • Incident management — list, view, acknowledge, and resolve incidents
  • On-call visibility — see who is currently on call across all schedules
  • Service overview — list all PagerDuty services and their status
  • Schedule management — list on-call schedules with time zones
  • Escalation policies — view escalation policies and loop counts
  • Credential file support — load credentials from ~/.config/pagerduty/credentials.json
  • Write safety — write operations require PAGERDUTY_EMAIL for attribution via From header

Installation

pip install clr-pagerduty-mcp
# or
uvx clr-pagerduty-mcp

Configuration

Preferred: Configuration file at ~/.config/pagerduty/credentials.json (chmod 600):

{
  "api_key": "u+your-pagerduty-user-api-key",
  "email": "[email protected]"
}

Legacy format also supported (token instead of api_key):

{
  "token": "u+your-pagerduty-user-api-key",
  "email": "[email protected]"
}

Get API key: PagerDuty → My Profile → User Settings → API Access → Create New API Key

Note: This must be a User API Token (starts with u+), not a general access key.

Alternative: Environment variables are also supported:

Variable Description Example
PAGERDUTY_API_KEY PagerDuty User API token u+yourtoken
PAGERDUTY_EMAIL User email (required for write ops) [email protected]

Optional:

Variable Description Default
PD_READ_ONLY Run in read-only mode false
PAGERDUTY_TRANSPORT Transport protocol (stdio or http) stdio
PAGERDUTY_LOG_LEVEL Log level INFO

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "pagerduty": {
      "command": "uvx",
      "args": ["clr-pagerduty-mcp"]
    }
  }
}

Claude Code

Add via CLI:

claude mcp add pagerduty -- uvx clr-pagerduty-mcp

Or add to your .mcp.json:

{
  "pagerduty": {
    "command": "uvx",
    "args": ["clr-pagerduty-mcp"]
  }
}

VS Code

Add to your VS Code settings or .vscode/mcp.json:

{
  "mcp": {
    "servers": {
      "pagerduty": {
        "command": "uvx",
        "args": ["clr-pagerduty-mcp"]
      }
    }
  }
}

Note: Configuration is read from ~/.config/pagerduty/credentials.json or environment variables. No need to specify credentials in MCP config files.

HTTP Transport

To run as a standalone HTTP server:

clr-pagerduty-mcp --transport http --host 0.0.0.0 --port 8000

Tools

Incidents

Tool Description Parameters
pd_list_incidents List incidents with optional filters statuses?, urgency?, limit?
pd_get_incident Get full detail for a specific incident incident_id
pd_acknowledge_incident Acknowledge a triggered incident incident_id
pd_resolve_incident Resolve an incident incident_id

Incident filter values:

Parameter Accepted values Default
statuses Comma-separated: triggered, acknowledged, resolved triggered,acknowledged
urgency high, low all
limit 1–100 25

On-Call

Tool Description
pd_list_oncalls List who is currently on call across all schedules

Services

Tool Description
pd_list_services List all PagerDuty services with status

Schedules

Tool Description
pd_list_schedules List all on-call schedules with time zones

Escalation Policies

Tool Description
pd_list_escalation_policies List all escalation policies with loop counts

Example Usage

Once connected, you can ask your AI assistant things like:

  • "Are there any active incidents?"
  • "Who is on call right now?"
  • "Show me the details for incident PABC123"
  • "Acknowledge incident PABC123"
  • "Resolve incident PABC123"
  • "List all PagerDuty services"
  • "What are our on-call schedules?"
  • "Show me the escalation policies"

Safety

All pd_list_* and pd_get_* tools are read-only and safe to call at any time.

pd_acknowledge_incident and pd_resolve_incident are write operations — they change incident status in PagerDuty. These require PAGERDUTY_EMAIL to be configured so PagerDuty can attribute the action. Without it, write tools return an error instead of silently failing.

Technical Notes

  • API: PagerDuty REST API v2 at https://api.pagerduty.com
  • Auth: Token-based via Authorization: Token token=<key> header
  • Write attribution: PagerDuty requires a From email header for PUT requests
  • HTTP client: httpx with 15-second timeout
  • Transport: stdio (default) or HTTP via --transport http

Development

git clone https://github.com/clearminds/clr-pagerduty-mcp.git
cd clr-pagerduty-mcp
uv sync
uv run clr-pagerduty-mcp

License

MIT — see LICENSE for details.

from github.com/clearminds/clr-pagerduty-mcp

Install Clr Pagerduty in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install clr-pagerduty

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add clr-pagerduty -- uvx clr-pagerduty-mcp

Step-by-step: how to install Clr Pagerduty

FAQ

Is Clr Pagerduty MCP free?

Yes, Clr Pagerduty MCP is free — one-click install via Unyly at no cost.

Does Clr Pagerduty need an API key?

No, Clr Pagerduty runs without API keys or environment variables.

Is Clr Pagerduty hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Clr Pagerduty in Claude Desktop, Claude Code or Cursor?

Open Clr Pagerduty on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Clr Pagerduty with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs