[BUG] PagerDuty MCP OAuth fails due to strict response_types_supported validation

Resolved 💬 5 comments Opened Jan 10, 2026 by hughhan1 Closed Mar 30, 2026

Description

When adding PagerDuty's MCP server (https://mcp.pagerduty.com/mcp), Claude Code fails to connect with an OAuth validation error:

{
  "expected": "array",
  "code": "invalid_type",
  "path": ["response_types_supported"],
  "message": "Invalid input: expected array, received undefined"
}

Root Cause

PagerDuty's OAuth Authorization Server Metadata endpoint at https://mcp.pagerduty.com/.well-known/oauth-authorization-server is missing the response_types_supported field.

While this field is technically REQUIRED by RFC 8414, many OAuth implementations omit it. Claude Code's validation is strict and fails when this field is not present.

PagerDuty's OAuth metadata does include:

  • issuer
  • authorization_endpoint
  • token_endpoint
  • grant_types_supported (includes authorization_code)
  • code_challenge_methods_supported (includes S256, plain)
  • response_modes_supported
  • Many other fields

Missing:

  • response_types_supported

Suggested Fix

Consider making response_types_supported validation more lenient by defaulting to ["code"] if not provided, especially when:

  • grant_types_supported includes authorization_code
  • Other required fields are present

This is a reasonable default since code is the standard response type for the authorization code grant.

Environment

  • Claude Code version: 2.1.3
  • OS: macOS Darwin 25.2.0
  • MCP config:
{
  "PagerDuty": {
    "type": "http",
    "url": "https://mcp.pagerduty.com/mcp"
  }
}

Steps to Reproduce

  1. Add PagerDuty MCP server to .mcp.json:
{
  "mcpServers": {
    "PagerDuty": {
      "type": "http",
      "url": "https://mcp.pagerduty.com/mcp"
    }
  }
}
  1. Start Claude Code
  2. Observe the error in server status

View original on GitHub ↗

This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗