> Documentation index for AI agents: https://docs.pagerduty.com/llms.txt

# MCP Endpoint

`POST https://mcp.pagerduty.com/mcp`

The root MCP path for all JSON-RPC requests.

## Header parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `Authorization` | string | yes | Should contain the API key or OAuth token to authorize the request. Format: `Token token=<token>` or `Bearer <token>` Pattern: `^(Token token=[A-Za-z0-9]+\|Bearer [A-Za-z0-9]+)$`. |
| `Accept` | string | yes | MCP clients must accept both application/json and text/event-stream. One of: `application/json, text/event-stream`. |

## Request body (`application/json`) — required

| Field | Type | Required | Description |
|---|---|---|---|
| `jsonrpc` | string | yes | The JSON-RPC version, must be "2.0". One of: `2.0`. [See the MCP specification for more information](https://modelcontextprotocol.io/specification/2025-06-18/basic#requests). |
| `id` | one of: integer \| string | yes | A unique ID for this request. [See the MCP specification for more information](https://modelcontextprotocol.io/specification/2025-06-18/basic#requests). |
| `method` | string | yes | The method to be invoked on the MCP server. [See the MCP specification for more information](https://modelcontextprotocol.io/specification/2025-06-18/basic#requests). |
| `params` | object |  | The parameters to be passed to the method. [See the MCP specification for more information](https://modelcontextprotocol.io/specification/2025-06-18/basic#requests). |

Example: List available tools

```json
{
  "jsonrpc": "2.0",
  "id": 42,
  "method": "tools/list"
}
```

Example: List the open incidents assigned to the current user

```json
{
  "jsonrpc": "2.0",
  "id": 43,
  "method": "tools/call",
  "params": {
    "name": "list_incidents",
    "arguments": {
      "query_model": {
        "request_scope": "all",
        "status": [
          "triggered",
          "acknowledged"
        ],
        "limit": 10
      }
    }
  }
}
```

## Response 200

A successful MCP JSON-RPC response.

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `jsonrpc` | string | yes | the JSON-RPC version, always '2.0'. Read-only. |
| `id` | string | yes | The unique identifier that was passed to the request. Read-only. |
| `result` | object |  | The result of the method call. Read-only. |

Example: List available tools sample response

```json
{
  "jsonrpc": "2.0",
  "id": 42,
  "result": {
    "tools": [
      {
        "$ref": "#/components/examples/ListIncidentsTool"
      }
    ]
  }
}
```

Example: List available tools sample response

```json
{
  "jsonrpc": "2.0",
  "id": 43,
  "result": {
    "response": {
      "properties": {
        "items": [
          {
            "$ref": "#/components/examples/Incident"
          }
        ]
      }
    },
    "response_summary": {
      "properties": {
        "description": "Generate a summary of the response.",
        "readOnly": true,
        "title": "Response Summary",
        "type": "string"
      }
    }
  }
}
```

## Response 400

Invalid request.

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `jsonrpc` | string |  |  |
| `error` | object |  |  |
| `error.code` | integer |  | Error code. |
| `error.message` | string |  | Error message. |
| `error.data` | object |  | Additional error details. |
| `error.data.details` | string |  | Detailed error message. |
| `id` | integer |  | The unique identifier for the request. |

## Response 401

Caller did not supply credentials or did not provide the correct credentials.
If you are using an API key, it may be invalid or your Authorization header may be malformed.

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `error` | object |  |  |
| `error.code` | integer |  | Read-only. |
| `error.message` | string |  | Error message string. Read-only. |
| `error.errors` | array of string |  | Read-only. |

## Response 403

Caller is not authorized to view the requested resource.
While your authentication is valid, the authenticated user or token does not have permission to perform this action.

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `error` | object |  |  |
| `error.code` | integer |  | Read-only. |
| `error.message` | string |  | Error message string. Read-only. |
| `error.errors` | array of string |  | Read-only. |

## Response 429

Too many requests have been made, the rate limit has been reached.

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `error` | object |  |  |
| `error.code` | integer |  | Read-only. |
| `error.message` | string |  | Error message string. Read-only. |
| `error.errors` | array of string |  | Read-only. |

## Response 500

Generic error response from the PagerDuty API

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `error` | object |  |  |
| `error.code` | integer |  | Read-only. |
| `error.message` | string |  | Error message string. Read-only. |
| `error.errors` | array of string |  | Read-only. |

## Developer Agreement

Your access to and use of the PagerDuty Developer Services is governed by the [PagerDuty Developer Agreement](https://docs.pagerduty.com/developer/pagerduty-developer-agreement).
