Open MCP Portaldocs
ReferenceMCP servers

Probe a URL and report how the MCP server wants clients to sign in (editors and above); changes nothing

POST/v1/teams/{team}/mcp-servers/detect-auth

Sends one unauthenticated MCP initialize request to url (no identity token, no header) and follows the MCP authorization spec (2025-11-25) as a client would; the 401 challenge's resource_metadata (else the well-known protected-resource URIs; path form, then root), the resource metadata's authorization server, then its metadata (RFC 8414 path insertion, OpenID Connect path insertion, OpenID Connect path appending; the two root forms for an issuer without a path). Every request goes through the address guard and the internal-network allowlist (no proxy, no redirects, 5 s each, responses of at most 64 KiB, at most 8 requests). Nothing is stored or audited. Problems found (resource or issuer mismatch, no PKCE S256, ...) are reported in the result with status 200, not as errors. 422 url_not_allowed as for create. 409 team_archived. 429 slow_down (10 a minute per person).

Path Parameters

team*string

Team slug or ID

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/teams/string/mcp-servers/detect-auth" \  -H "Content-Type: application/json" \  -d '{    "url": "string"  }'
{  "data": {    "url": "string",    "outcome": "no_auth",    "httpStatus": 0,    "challenge": {      "scheme": "Bearer",      "resourceMetadataUrl": "string",      "scope": [        "string"      ],      "error": "string"    },    "resourceMetadata": {      "url": "string",      "resource": "string",      "resourceName": "string",      "authorizationServers": [        "string"      ],      "scopesSupported": [        "string"      ],      "bearerMethodsSupported": [        "string"      ]    },    "suggestedUrl": "string",    "authorizationServer": {      "issuer": "string",      "metadataUrl": "https://github.com/.well-known/oauth-authorization-server/login/oauth",      "authorizationEndpoint": "string",      "tokenEndpoint": "string",      "revocationEndpoint": "string",      "registrationEndpoint": "string",      "scopesSupported": [        "string"      ],      "codeChallengeMethodsSupported": [        "string"      ],      "tokenEndpointAuthMethodsSupported": [        "string"      ],      "grantTypesSupported": [        "string"      ],      "issParameterSupported": true,      "clientIdMetadataDocumentSupported": true    },    "registration": {      "options": [        "dcr"      ],      "recommended": "dcr",      "cimdUnavailableReason": "not_supported",      "matchingProviders": [        {          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",          "slug": "string",          "name": "string",          "preset": "github",          "logoUrl": "string",          "kind": "oauth2",          "server": {            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",            "slug": "string",            "name": "string",            "teamSlug": "string"          }        }      ],      "redirectUri": "https://mcp.example.com/connect/callback",      "clientMetadataUrl": "string"    },    "suggestedScopes": [      "string"    ],    "problems": [      {        "code": "no_resource_metadata",        "blocking": true,        "message": "string"      }    ],    "steps": [      {        "purpose": "mcp",        "url": "string",        "httpStatus": 0,        "result": "ok",        "latencyMs": 0      }    ]  }}