anthropics / anthropics/claude-ai-mcp

claude.ai PagerDuty connector: OAuth authorize rejected — PagerDuty returns "Invalid or missing value for redirect_uri" for https://claude.ai/api/mcp/auth_callback

Aperta
#431 4 commenti 10 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Nessun dato sulla lingua
Stelle
471
Fork
77
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

## MCP server URL or name

claude.ai **PagerDuty** connector → `https://mcp.pagerduty.com/mcp` (PagerDuty MCP Server v3.1.1)

## How are you connecting to this server?

From browsing the MCP server directory — it is the built-in/directory PagerDuty connector. I trigger auth from Claude Code via `/mcp` → "claude.ai PagerDuty", which opens the standard claude.ai connector OAuth flow.

## Where does the issue occur?

In the authorization screen (PagerDuty's `authorize` endpoint, before any login or consent).

## When did you last reproduce this?

2026-06-11, ~2:40 PM ET (also reproduced repeatedly over the preceding several weeks).

## Browser and OS

Google Chrome on macOS (Darwin 25.5.0).

## Describe the issue

Authorizing the **claude.ai PagerDuty connector** fails at the OAuth **authorize** step, before any login or consent. `/mcp` → "claude.ai PagerDuty" opens PagerDuty's authorization URL, and PagerDuty immediately returns **"Bad request — Invalid or missing value for redirect_uri parameter."**

The `redirect_uri` Claude.ai sends is the standard, well-formed connector callback:

```
https://claude.ai/api/mcp/auth_callback
```

This is the **same callback my other working claude.ai connectors use** (Atlassian, Slack, Microsoft 365, and two internal connectors all authorize successfully through `https://claude.ai/api/mcp/auth_callback`). So the value Claude.ai sends is correct and unchanged across connectors — PagerDuty's OAuth app rejects it, which indicates `https://claude.ai/api/mcp/auth_callback` is **not on the registered redirect-URI allowlist of the PagerDuty OAuth client** backing this connector (`client_id=5fd41121-b38c-4ae7-8e22-425f4aa3f665`).

Because the grant can never complete, the claude.ai proxy holds no token and every subsequent request to the connector returns `mcp_unauthorized_no_token`, so the connector shows its tool schema (from a cached projection) but no tool ever works.

The authorize request itself is well-formed OAuth 2.1 (PKCE `S256`, `state` present, RFC 8707 `resource=https://mcp.pagerduty.com/mcp`). The failure is purely the `redirect_uri` allowlist check.

This looks closely related to #48957 (BigQuery connector on claude.ai rejecting the same `https://claude.ai/api/mcp/auth_callback` callback), but for the PagerDuty connector specifically — which I could not find reported anywhere on the Anthropic or PagerDuty side.

## Error details

PagerDuty authorization screen:

```
PagerDuty
Bad request
The request could not be processed.
Invalid or missing value for redirect_uri parameter.
Error identifier: 0VpwKaNG (also reproduced: ld8LW8D5)
```

Claude Code `/mcp` after the browser flow:

```
Tried reconnecting, but claude.ai PagerDuty is still unauthorized.
Make sure the browser sign-in completed, then try again from /mcp.
```

Claude.ai proxy connection error (MCP debug log):

```
Connection error: Streamable HTTP error: Error POSTing to endpoint:
{"type":"error","error":{"type":"authentication_error",
"message":"MCP server requires authentication but no OAuth token is configured.",
"details":{"error_code":"mcp_unauthorized_no_token"}}}
```

## Expected behavior

Selecting the claude.ai PagerDuty connector should open PagerDuty's authorization/consent screen and, after I approve, redirect back to `https://claude.ai/api/mcp/auth_callback`, store the OAuth token, and make the PagerDuty MCP tools available — the same way the Atlassian/Slack/Microsoft 365 connectors work. PagerDuty's OAuth client should have `https://claude.ai/api/mcp/auth_callback` registered as an allowed redirect URI.

## Additional context

**Full authorize URL** Claude.ai opened (per-session `code_challenge`/`state` redacted; everything else verbatim):

```
https://app.pagerduty.com/global/oauth/authorize
?response_type=code
&client_id=5fd41121-b38c-4ae7-8e22-425f4aa3f665
&redirect_uri=https%3A%2F%2Fclaude.ai%2Fapi%2Fmcp%2Fauth_callback
&code_challenge=
&code_challenge_method=S256
&state=
&scope=openid+read+write+incidents.read+...(full PagerDuty scope set)...
&resource=https%3A%2F%2Fmcp.pagerduty.com%2Fmcp
```

- Decoded `redirect_uri`: `https://claude.ai/api/mcp/auth_callback` (valid, absolute, https — not truncated/malformed).
- The connector's server id on my account: `mcpsrv_01996ySuyYRkNiXdM1n9Rnyq` (reached via `mcp-proxy.anthropic.com/v1/mcp/`). Account email available on request.
- The same flow fails identically across multiple Claude Code sessions over several weeks; retrying `/mcp` does not change the outcome.
- Likely a connector-provisioning gap between Anthropic and PagerDuty: PagerDuty's public docs only cover the local/API-key server and a remote endpoint and don't document the claude.ai web-connector callback registration.
- Screenshots of the PagerDuty "Bad request" error page available on request.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.