Skip to content

[BUG] claude.ai web custom connector shows "server configuration issue" while sending ZERO requests to a provably-healthy MCP server (cached verdict not cleared by remove + re-add) #479

Description

@therealmojoe

Summary

On claude.ai (web), a custom MCP connector that previously worked now shows "Connection issue — This connector has a server configuration issue. Contact the connector provider." The decisive finding: when the connector is added/re-added, claude.ai sends zero requests to the MCP server — no discovery, no DCR, no OAuth — and the error appears instantly. Meanwhile the same server at the same URL is provably healthy and is being used successfully, concurrently, by other MCP clients.

This looks like an account/URL-keyed cached negative verdict that is never re-validated and is not cleared by removing + re-adding the connector. The user-facing text blames the server, but no request ever reaches it.

Closely related to #228, #435, #379, #467.

Environment

  • Client: claude.ai web, "Add custom connector (BETA)".
  • Server: self-hosted, FastMCP OAuthProxy → WordPress OAuth Server, Streamable HTTP, behind Apache. Public URL: https://carbonguru.io/mcp.
  • Timeline: the connector worked on claude.ai web until ~2026-06-10 (the issued OAuth token expired around then). Since, claude.ai web shows the "server configuration issue" error and never re-contacts the server.

The server is healthy — verified via three independent clients, same day

  1. Claude Code CLIclaude mcp add --transport http <name> https://carbonguru.io/mcp → completes discovery + Dynamic Client Registration + authorization_code+PKCE, connects, and runs tools live (streaming analysis results).
  2. ChatGPT CustomGPT — a separate OAuth client + REST surface on the same host authenticates and returns 200 (most recent action call minutes before filing).
  3. Headless walk (curl / httpx) — full RFC 8414/9728 discovery is complete and valid; POST /register201 (DCR works); full authorization_code+PKCE → POST /token200; authenticated whoami/ping tool calls → 200.

The OAuth discovery document is complete and spec-compliant: includes jwks_uri, subject_types_supported, id_token_signing_alg_values_supported; PKCE S256; tokens RS256. CIMD is not advertised (clients use DCR).

claude.ai sends zero requests — measured

During a fresh re-add of https://carbonguru.io/mcp (OAuth Client ID/Secret left blank to force DCR), I monitored the server's reverse-proxy access log and the MCP app journal for ~2 minutes:

  • Zero inbound requests from Anthropic infrastructure — no discovery, no /register, no /authorize, no /token, and no Anthropic source IPs in the access log.
  • At the same moment, the server was actively serving a live Claude Code CLI session (streaming a real tool result).

So at one instant, on one URL, on one server: the Claude Code CLI client works, while the claude.ai web connector returns "server configuration issue" without making any network request to the server.

Steps to reproduce

  1. Stand up a self-hosted MCP server with OAuth (e.g. FastMCP OAuthProxy). Connect it as a custom connector on claude.ai web (works initially).
  2. Let the issued access token expire (or restart the server so the old token is no longer valid).
  3. Open the connector on claude.ai web → it shows "Connection issue / server configuration issue."
  4. Remove the connector, then re-add the same URL (leave OAuth Client ID/Secret blank → DCR).
  5. Observe: the error appears instantly, and the server logs show no inbound request for the add attempt.

Expected vs. actual

  • Expected: adding/re-adding a custom connector triggers a fresh discovery + registration + OAuth attempt against the server (as the Claude Code CLI does). If a prior verdict is cached, re-adding should re-validate by contacting the server.
  • Actual: claude.ai serves a cached "broken" verdict, makes no network request, and shows a "server configuration issue" error that misattributes a client-side caching problem to the server. There is no in-product way to clear the verdict.

Impact

A self-hosted connector that is fully healthy and reachable by every other MCP client (Claude Code CLI, ChatGPT, MCP Inspector / curl) becomes permanently unusable on claude.ai web with no recovery path — and the misleading error sends developers debugging their (working) server.

Requests

  1. On connector add/re-add, force a fresh discovery + DCR + OAuth network call to the server instead of returning a cached negative verdict.
  2. Provide a way for users/developers to clear the cached connector verdict for a given URL/account (and/or expire it on a sane TTL).
  3. Fix the misleading attribution: do not report "a problem with the connector's server" when no request was made to the server.

Happy to provide server-side logs, the discovery documents, or a live endpoint for testing.

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