Server data from the Official MCP Registry
PagerDuty's official MCP server which provides tools to interact with your PagerDuty account.
PagerDuty's official MCP server which provides tools to interact with your PagerDuty account.
Valid MCP server (1 strong, 1 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry. Trust signals: 4 highly-trusted packages. 1 finding(s) downgraded by scanner intelligence.
6 files analyzed ยท 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: PAGERDUTY_USER_API_KEY
Environment variable: PAGERDUTY_API_HOST
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-pagerduty-pagerduty-mcp": {
"env": {
"PAGERDUTY_API_HOST": "your-pagerduty-api-host-here",
"PAGERDUTY_USER_API_KEY": "your-pagerduty-user-api-key-here"
},
"args": [
"pagerduty-mcp"
],
"command": "uvx"
}
}
}From the project's GitHub README.
PagerDuty's local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account, allowing you to manage incidents, services, schedules, event orchestrations, and more directly from your MCP-enabled client.
asdf-vm installed.
uv installed globally.
A PagerDuty User API Token. To obtain a PagerDuty User API Token, follow these steps:
For Freemium accounts, the permissions for generating User API tokens are limited to the user role as defined here.
Use of the PagerDuty User API Token is subject to the PagerDuty Developer Agreement.
You can configure this MCP server directly within Cursor's settings.json file, by following these steps:
Open Cursor settings (Cursor Settings > Tools > Add MCP, or Cmd+, on Mac, or Ctrl+, on Windows/Linux).
Add the following configuration:
{
"mcpServers": {
"pagerduty-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"pagerduty-mcp",
"--enable-write-tools"
// This flag enables write operations on the MCP Server enabling you to creating incidents, schedule overrides and much more
],
"env": {
"PAGERDUTY_USER_API_KEY": "${input:pagerduty-api-key}"
}
}
}
}
You can configure this MCP server directly within Visual Studio Code's settings.json file, allowing VS Code to manage the server lifecycle.
Open VS Code settings (File > Preferences > Settings, or Cmd+, on Mac, or Ctrl+, on Windows/Linux).
Search for "mcp" and ensure "Mcp: Enabled" is checked under Features > Chat.
Click "Edit in settings.json" under "Mcp > Discovery: Servers".
Add the following configuration:
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "pagerduty-api-key",
"description": "PagerDuty API Key",
"password": true
}
],
"servers": {
"pagerduty-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"pagerduty-mcp",
"--enable-write-tools"
// This flag enables write operations on the MCP Server enabling you to creating incidents, schedule overrides and much more
],
"env": {
"PAGERDUTY_USER_API_KEY": "${input:pagerduty-api-key}",
"PAGERDUTY_API_HOST": "https://api.pagerduty.com"
// If your PagerDuty account is located in EU update your API host to https://api.eu.pagerduty.com
}
}
}
}
}
View > Chat).Agent mode is selected. In the Chat view, you can enable or disable specific tools by clicking the ๐ ๏ธ icon.Show me the latest incident or List my event orchestrations to interact with your PagerDuty account through the MCP server.Cmd+Shift+P/Ctrl+Shift+P) and searching for MCP: List Servers. Ensure the server is running before sending commands. You can also try to restart the server if you encounter any issues.You can configure this MCP server to work with Claude Desktop by adding it to Claude's configuration file.
Locate your Claude Desktop configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonCreate or edit the configuration file and add the following configuration:
{
"mcpServers": {
"pagerduty-mcp": {
"command": "uvx",
"args": [
"pagerduty-mcp",
"--enable-write-tools"
],
"env": {
"PAGERDUTY_USER_API_KEY": "your-pagerduty-api-key-here",
"PAGERDUTY_API_HOST": "https://api.pagerduty.com"
}
}
}
}
Replace the placeholder values:
/path/to/your/mcp-server-directory with the full path to the directory where you cloned the MCP server (e.g., /Users/yourname/code/pagerduty-mcp)your-pagerduty-api-key-here with your actual PagerDuty User API Tokenhttps://api.eu.pagerduty.comRestart Claude Desktop completely for the changes to take effect.
Test the integration by starting a conversation with Claude and asking something like "Show me my latest PagerDuty incidents" or "List my event orchestrations" to verify the MCP server is working.
Security Note: Unlike VS Code's secure input prompts, Claude Desktop requires you to store your API key directly in the configuration file. Ensure this file has appropriate permissions (readable only by your user account) and consider the security implications of storing credentials in plain text.
The PagerDuty MCP server can be run in a Docker container, providing an isolated and portable deployment option. The Docker image uses stdio transport for MCP communication.
Build the Docker image:
docker build -t pagerduty-mcp:latest .
Run in read-only mode (default):
docker run -i --rm \
-e PAGERDUTY_USER_API_KEY="your-api-key-here" \
pagerduty-mcp:latest
Run with write tools enabled:
docker run -i --rm \
-e PAGERDUTY_USER_API_KEY="your-api-key-here" \
pagerduty-mcp:latest --enable-write-tools
For EU region:
docker run -i --rm \
-e PAGERDUTY_USER_API_KEY="your-api-key-here" \
-e PAGERDUTY_API_HOST="https://api.eu.pagerduty.com" \
pagerduty-mcp:latest
To integrate the Docker container with MCP clients, you can use Docker as the command:
Claude Desktop example:
{
"mcpServers": {
"pagerduty-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"PAGERDUTY_USER_API_KEY=your-api-key-here",
"pagerduty-mcp:latest"
]
}
}
}
Note: The Docker container uses stdio transport, making it compatible with MCP clients that expect standard input/output communication. Ensure you build the image first using
docker build -t pagerduty-mcp:latest .
Clone the repository
Install asdf plugins
asdf plugin add python
asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
asdf plugin add uv
Install tool versions using asdf:
asdf install
Create a virtual environment and install dependencies using uv (now that asdf has set the correct Python and uv versions):
uv sync
Ensure uv is available globally.
The MCP server can be run from different places so you need uv to be available globally. To do so, follow the official documentation.
Tip: You may need to restart your terminal and/or VS Code for the changes to take effect.
Run it locally
To run your cloned PagerDuty MCP Server you need to update your configuration to use uv instead of uvx.
"pagerduty-mcp": {
"type": "stdio",
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/your/mcp-server-directory",
// Replace with the full path to the directory where you cloned the MCP server, e.g. "/Users/yourname/code/mcp-server",
"python",
"-m",
"pagerduty_mcp",
"--enable-write-tools"
// This flag enables write operations on the MCP Server enabling you to creating incidents, schedule overrides and much more
],
"env": {
"PAGERDUTY_USER_API_KEY": "${input:pagerduty-api-key}",
"PAGERDUTY_API_HOST": "https://api.pagerduty.com"
// If your PagerDuty account is located in EU update your API host to https://api.eu.pagerduty.com
}
}
This section describes the tools provided by the PagerDuty MCP server. They are categorized based on whether they only read data or can modify data in your PagerDuty account.
Important: By default, the MCP server only exposes read-only tools. To enable tools that can modify your PagerDuty account (write-mode tools), you must explicitly start the server with the
--enable-write-toolsflag. This helps prevent accidental changes to your PagerDuty data.
| Tool | Area | Description | Read-only |
|---|---|---|---|
| create_alert_grouping_setting | Alert Grouping | Creates a new alert grouping setting | โ |
| delete_alert_grouping_setting | Alert Grouping | Deletes an alert grouping setting | โ |
| get_alert_grouping_setting | Alert Grouping | Retrieves a specific alert grouping setting | โ |
| list_alert_grouping_settings | Alert Grouping | Lists alert grouping settings with filtering | โ |
| update_alert_grouping_setting | Alert Grouping | Updates an existing alert grouping setting | โ |
| get_change_event | Change Events | Retrieves a specific change event | โ |
| list_change_events | Change Events | Lists change events with optional filtering | โ |
| list_incident_change_events | Change Events | Lists change events related to a specific incident | โ |
| list_service_change_events | Change Events | Lists change events for a specific service | โ |
| get_event_orchestration | Event Orchestrations | Retrieves a specific event orchestration | โ |
| get_event_orchestration_global | Event Orchestrations | Gets the global orchestration configuration for an event orchestration | โ |
| get_event_orchestration_router | Event Orchestrations | Gets the router configuration for an event orchestration | โ |
| get_event_orchestration_service | Event Orchestrations | Gets the service orchestration configuration for a specific service | โ |
| list_event_orchestrations | Event Orchestrations | Lists event orchestrations with optional filtering | โ |
| update_event_orchestration_router | Event Orchestrations | Updates the router configuration for an event orchestration | โ |
| append_event_orchestration_router_rule | Event Orchestrations | Adds a new routing rule to an event orchestration router | โ |
| list_escalation_policies | Escalation Policy | Lists escalation policies | โ |
| get_escalation_policy | Escalation Policy | Retrieves a specific escalation policy | โ |
| add_note_to_incident | Incidents | Adds note to an incident | โ |
| add_responders | Incidents | Adds responders to an incident | โ |
| create_incident | Incidents | Creates a new incident | โ |
| get_alert_from_incident | Incidents | Retrieves a specific alert from an incident | โ |
| get_incident | Incidents | Retrieves a specific incident | โ |
| get_outlier_incident | Incidents | Retrieves outlier incident information for a specific incident | โ |
| get_past_incidents | Incidents | Retrieves past incidents related to a specific incident | โ |
| get_related_incidents | Incidents | Retrieves related incidents for a specific incident | โ |
| list_alerts_from_incident | Incidents | Lists all alerts for a specific incident with pagination | โ |
| list_incident_notes | Incidents | Lists all notes for a specific incident | โ |
| list_incidents | Incidents | Lists incidents | โ |
| manage_incidents | Incidents | Updates status, urgency, assignment, or escalation level | โ |
| get_incident_workflow | Incident Workflows | Retrieves a specific incident workflow | โ |
| list_incident_workflows | Incident Workflows | Lists incident workflows with optional filtering | โ |
| start_incident_workflow | Incident Workflows | Starts a workflow instance for an incident | โ |
| get_log_entry | Log Entries | Retrieves a specific log entry by ID | โ |
| list_log_entries | Log Entries | Lists all log entries across the account with time filtering | โ |
| add_team_member | Teams | Adds a user to a team with a specific role | โ |
| create_team | Teams | Creates a new team | โ |
| delete_team | Teams | Deletes a team | โ |
| get_team | Teams | Retrieves a specific team | โ |
| list_team_members | Teams | Lists members of a team | โ |
| list_teams | Teams | Lists teams | โ |
| remove_team_member | Teams | Removes a user from a team | โ |
| update_team | Teams | Updates an existing team | โ |
| get_user_data | Users | Gets the current user's data | โ |
| list_users | Users | Lists users in the PagerDuty account | โ |
| list_oncalls | On-call | Lists on-call schedules | โ |
| create_schedule_override | Schedules | Creates an override for a schedule | โ |
| get_schedule | Schedules | Retrieves a specific schedule | โ |
| list_schedule_users | Schedules | Lists users in a schedule | โ |
| list_schedules | Schedules | Lists schedules | โ |
| create_schedule | Schedules | Creates a new on-call schedule | โ |
| update_schedule | Schedules | Updates an existing schedule | โ |
| create_service | Services | Creates a new service | โ |
| get_service | Services | Retrieves a specific service | โ |
| list_services | Services | Lists services | โ |
| update_service | Services | Updates an existing service | โ |
| create_status_page_post | Status Pages | Creates a new post (incident or maintenance) on a status page | โ |
| create_status_page_post_update | Status Pages | Adds a new update to an existing status page post | โ |
| get_status_page_post | Status Pages | Retrieves details of a specific status page post | โ |
| list_status_page_impacts | Status Pages | Lists available impact levels for a status page | โ |
| list_status_page_post_updates | Status Pages | Lists all updates for a specific status page post | โ |
| list_status_page_severities | Status Pages | Lists available severity levels for a status page | โ |
| list_status_page_statuses | Status Pages | Lists available statuses for a status page | โ |
| list_status_pages | Status Pages | Lists all status pages with optional filtering | โ |
PagerDuty's MCP server is an open-source project, and as such, we offer only community-based support. If assistance is required, please open an issue in GitHub or PagerDuty's community forum.
If you are interested in contributing to this project, please refer to our Contributing Guidelines.
If you do not want to license this under the current open source license, contact PagerDuty Sales to acquire this software under a paid, proprietary license.
Be the first to review this server!
by Modelcontextprotocol ยท Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno ยท Developer Tools
Toleno Network MCP Server โ Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace ยท Developer Tools
Create, build, and publish Python MCP servers to PyPI โ conversationally.
by Microsoft ยท Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
by mcp-marketplace ยท Developer Tools
Scaffold, build, and publish TypeScript MCP servers to npm โ conversationally
by mcp-marketplace ยท Finance
Free stock data and market news for any MCP-compatible AI assistant.