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
- Dominant language
- No language data
- Stars
- 471
- Forks
- 76
- PR merge metrics
- No merged PRs in 30d
Description
## 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.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.