Skip to main content
Glama

Where does this MCP server's sign-in break?

mcp_liveness_check_auth
Read-only

Walks a remote MCP server's OAuth sign-in chain from outside, with no credential and no client registration, and returns the first step that breaks, whose it is (server, identity_provider, or client for a known client bug, with its issue URL), the fix, and the spec section that requires it.

Steps, in order: one unauthenticated request (it must answer 401 with a WWW-Authenticate challenge); RFC 9728 protected-resource metadata; RFC 8414 or OpenID Connect discovery at the locations the 2026-07-28 MCP spec lists, with the issuer and PKCE S256 checked; and how a client gets a client ID (client ID metadata documents, dynamic registration, or a pasted ID). Then a verdict per client — claude.ai, Claude Code, ChatGPT, VS Code, Cursor — emulated from each client's published requirements and known issues; no client is run.

Use it when a user says a connector shows an error such as 'Authorization with the MCP server failed' or 'Dynamic Client Registration not supported', or before publishing a server that needs sign-in. verdict is ok, at_risk, broken, no_auth (it asked for no credential) or unreachable. The URL must be public https; checks are limited to 30 a minute per caller.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesThe server's Streamable HTTP endpoint, as a user would enter it in a client, e.g. `https://example.com/mcp`. Public https only.
clientNoJudge for one client only: `claude-ai` (claude.ai and Claude Desktop), `claude-code`, `chatgpt`, `vscode` or `cursor`. Omit to get all five.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, openWorld, non-destructive, non-idempotent), and the description goes well beyond them: the exact ordered probe sequence, that it needs no credential or client registration, that no client is actually run (emulation only), the rate limit of 30 checks/minute per caller, and the full verdict vocabulary. That is the kind of operational context annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is front-loaded with purpose and the returned fields, then the probe steps, then usage triggers. Dense but nearly every clause carries information; the step enumeration is somewhat list-like and could be tightened, but nothing is padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description carries the return-value burden — and it does: the first failing step, attribution among server/identity_provider/client (with issue URL), the fix, the spec section, and the meaning of each verdict value. Combined with the disclosed rate limit and no-credential/no-client-run constraints, an agent has everything needed to call and interpret it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% — both parameters, including the client enum, are fully documented in the schema. The description restates the public-https constraint and the per-caller rate limit but adds no new parameter syntax or formatting guidance, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Walks a remote MCP server's OAuth sign-in chain from outside') and resource, then enumerates exactly what it returns (first broken step, responsible party, fix, spec section). It is plainly distinguishable from siblings like mcp_liveness_check (reachability) and mcp_liveness_drift (config drift) without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete trigger conditions — a connector error such as 'Authorization with the MCP server failed' or 'Dynamic Client Registration not supported', and pre-publish validation of a sign-in-requiring server. It does not, however, explicitly state when NOT to use it or name which sibling to use instead for plain liveness, leaving that routing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.