Skip to content

ChatGPT OAuth connector returns HTTP 422 on /mcp after successful authorization #496

Description

@yxiaobao0-rgb

Describe the bug

ChatGPT Web completes OAuth authorization against Nowledge Mem and shows the connector as connected, but cannot discover any MCP tools. Connector details show "No app actions available", and refreshing actions fails with a generic error.

The Nowledge Mem log consistently shows POST /mcp returning HTTP 422 immediately after successful OAuth authorization.

To Reproduce

  1. Run Nowledge Mem 0.10.55 on macOS Apple Silicon.
  2. Enable Access Anywhere using the built-in Cloudflare Quick Tunnel.
  3. Start Remote MCP over OAuth pairing in Mem.
  4. In ChatGPT Web developer mode, create a connector using the public endpoint ending in /mcp and select OAuth.
  5. Complete pairing and approve mem:read, mem:write, threads:read, library:read, and library:write.
  6. ChatGPT reports the connector as connected, but no actions are available.
  7. Click Refresh in connector details. ChatGPT displays a generic refresh error.

Expected behavior

After OAuth succeeds, ChatGPT should initialize the MCP session, call tools/list, and display the Nowledge Mem tools.

Observed diagnostics

  • Nowledge Mem version: 0.10.55 (app reports latest)
  • Platform: macOS on Apple Silicon
  • Public endpoint uses HTTPS and ends exactly with /mcp
  • Endpoint is reachable and returns HTTP 401 before authentication, as expected
  • OAuth approval completes and redirects back to ChatGPT successfully
  • Immediately afterward, Mem logs: POST path=/mcp status=422
  • Reconnecting OAuth produces the same result
  • Local MCP access works and exposes 14 tools to a local Codex client
  • No API keys, OAuth codes, tokens, email addresses, or live tunnel URL are included

Screenshots

Available if needed.

Additional context

Reproduced multiple times with a clean connector URL and a fresh OAuth authorization. The connector appears in ChatGPT's chat tool menu, but tool discovery still fails.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions