Skip to main content
Glama

Server Details

Does an MCP server work for a stock client? By registry name or URL. Tool drift too. Free, no key.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 40 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
agentwares/servers
GitHub Stars
0

TDQS

A4.6/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a clearly distinct concern: base endpoint liveness, MCP Apps UI rendering, OAuth sign-in chain, schema drift across snapshots, and a static reference of outcomes. There is no meaningful overlap in purpose between them, and the descriptions make the boundaries explicit.

Naming Consistency4/5

All tools share the predictable mcp_liveness_ prefix, giving strong grouping. The suffix style varies slightly (check, check_apps, check_auth vs. drift and explain_outcomes), but it remains readable and internally coherent.

Tool Count5/5

Five tools is well-scoped for a liveness/inspection server, with each tool earning its place across the distinct check surfaces plus the explanatory reference. No redundancy or bloat.

Completeness5/5

The surface covers the lifecycle of evaluating a remote MCP server: baseline reachability, credential/OAuth path, apps UI, long-term schema drift, and outcome semantics. No obvious dead ends for the stated purpose.

Available Tools

5 tools
mcp_liveness_checkCan a stock client use this MCP server?A
Read-only
Inspect

Makes one handshake with an MCP server's endpoint — server/discover at protocol revision 2026-07-28, then initialize for a server on the older revision — with no credential, and reports what a stock client gets. The server is named either by its exact official-registry name, or by its endpoint url when it is not in the registry or is listed under another name; exactly one of the two is accepted.

Outcomes: usable (it connected and negotiated a protocol version), needs_credential (401 or 403 — by name, the answer also says whether a credential can be obtained in-band or whether a person has to create one), charged (402, access is for sale), unreachable (not an MCP server there: wrong URL, dead host, or a 200 that is not JSON-RPC), and, for a name only, local_only (no remote endpoint; it must be spawned as a process) and not_listed (no server with that exact name; its endpoint can still be checked by url).

A url must be public https: private, loopback, link-local, multicast and cloud-metadata addresses are refused, redirects are re-checked, and URL checks are limited to 30 a minute per caller. Useful before relying on a server: roughly two in five remote registry listings do not answer a stock client.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoThe server's Streamable HTTP endpoint, e.g. `https://example.com/mcp`, for a server that is not in the registry or is named differently there. Public https only. Pass this or `name`, not both.
nameNoThe server's exact name in the official MCP registry, namespaced — e.g. `io.github.owner/server`. Not a title. Pass this or `url`, not both.
skipCredentialCheckNoName checks only: skip the OAuth discovery chain on a 401. Faster (one request instead of up to five) but the answer then cannot say whether a credential is obtainable. A URL check never walks the chain.

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing the credential-free handshake, the full outcome taxonomy (usable/needs_credential/charged/unreachable/local_only/not_listed), SSRF guards (private, loopback, link-local, multicast, cloud-metadata refused; redirects re-checked), and a concrete rate limit of 30 URL checks per minute per caller. It also supplies a base rate ('roughly two in five remote registry listings do not answer'), which no structured field conveys.

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?

Front-loaded with the core behavior, then scoped to outcomes, then constraints; no filler sentences. It is longer than typical but each block carries distinct operational information, with only mild redundancy between the outcome list and the parameter notes.

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?

With no output schema, the description carries the return burden and does so by enumerating every outcome string and what each implies. Combined with zero required parameters and public-https restrictions, an agent has everything needed to call this and interpret the result.

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

Parameters4/5

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

Schema coverage is already 100%, so the baseline is 3, but the description adds real semantics: that exactly one of name/url is accepted, that skipCredentialCheck applies to name checks only and changes what the answer can report (one request instead of up to five), and that URL checks never walk the OAuth chain.

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?

States a specific verb (makes one handshake) against a specific resource (an MCP server's endpoint) and names the exact protocol calls used (`server/discover`, `initialize`). The 'with no credential' framing implicitly separates it from the credential-oriented sibling mcp_liveness_check_auth, so an agent can route between them.

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?

Gives clear context ('Useful before relying on a server') and the selection rule for the two mutually exclusive parameters (name for registry entries, url for unregistered or differently-named servers). It does not explicitly say when to prefer the sibling tools mcp_liveness_check_apps, _auth, or _drift, so routing against those is left to inference.

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

mcp_liveness_check_appsWhy does this MCP App render blank?A
Read-only
Inspect

Checks a remote MCP server's MCP Apps UI (SEP-1865 ui:// resources) from outside, with no credential and without calling any tool, and returns the first step that stops the view rendering, whose it is (server, or host for a known host bug with its issue URL), the fix, and the source (the spec, or the host's published page, with the date read).

It opens the server as an MCP Apps host would, then reads tools/list, resources/list and resources/read: each tool's link to its view (_meta.ui.resourceUri, or ChatGPT's openai/outputTemplate alias), the view's MIME type (text/html;profile=mcp-app) and HTML, what the HTML loads against the CSP a host builds from _meta.ui.csp, whether it sends ui/initialize, ui.domain for Claude and for ChatGPT, and what OpenAI's directory review checks (explicit tool annotations, descriptions, a public https endpoint, the domain-verification file). Verdicts per host — spec, claude, chatgpt, chatgpt-directory — are judged from each host's published pages; no host is run.

Use it when a user says an MCP App or ChatGPT app shows a blank or invisible frame, 'Resource not found: ui://', 'Invalid ui.domain format', or a submission error such as annotations_required. verdict is ok, at_risk, broken, no_ui, needs_sign_in or unreachable. The URL must be public https; checks are limited to 30 a minute per caller.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe server's Streamable HTTP endpoint, exactly as a user adds it to a host, e.g. `https://example.com/mcp` (Claude's ui.domain is a hash of this exact string). Public https only.
hostNoJudge for one host only: `spec` (any MCP Apps host), `claude` (claude.ai and Claude Desktop), `chatgpt`, or `chatgpt-directory` (OpenAI's review of a submitted app). Omit to get all four.

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 (readOnlyHint, openWorldHint, destructiveHint=false), and the description adds genuinely new behavioral context: no credential is needed, no tool is called, the server is opened as a host would, host-verdicts are judged from published pages rather than by running hosts, and there is an explicit limit of '30 a minute per caller'. The rate limit and the read-only method of inspection are exactly the operational facts an agent can't get from the annotations.

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?

The core purpose is front-loaded in the first sentence and the usage triggers are grouped cleanly. The middle paragraph enumerating internal probes (tools/list, resources/read, CSP, ui/initialize, directory-review checks) is longer than an agent needs strictly for selection, but it earns some of its length by signalling diagnostic depth.

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?

With no output schema, the description takes on return-value explanation and does so fully: fault attribution, the fix, the source with the date read, and the enumerated verdict set (ok, at_risk, broken, no_ui, needs_sign_in, unreachable). Combined with annotations and a fully documented two-parameter schema, nothing an agent needs to call it correctly is missing.

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 description coverage is 100%, so both parameters (the exact Streamable HTTP URL and the four-value host enum) are already documented in the schema, including the ui.domain hash note. The description adds little parameter-level meaning beyond restating 'must be public https' and listing the verdict vocabulary; baseline 3 is appropriate when the schema carries the parameter burden.

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?

It names a specific verb and resource ('Checks a remote MCP server's MCP Apps UI (SEP-1865 ui:// resources)') and states exactly what it returns (the first failing render step, fault owner, fix, source). The scope — external, credential-free, no tool invocation — makes it unmistakably the Apps-UI renderer diagnostic rather than the generic liveness, auth, or drift siblings.

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 supplies concrete trigger phrases ('blank or invisible frame', 'Resource not found: ui://', 'Invalid ui.domain format', 'annotations_required') that map user symptoms to this tool. It does not, however, name the sibling alternatives (e.g. mcp_liveness_check for plain reachability) or state when to prefer them, so routing against the family is left to inference.

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

mcp_liveness_check_authWhere does this MCP server's sign-in break?A
Read-only
Inspect

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.

ParametersJSON 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.

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.

mcp_liveness_driftWhat changed in this server's tools since a given monthA
Read-onlyIdempotent
Inspect

Given a server's exact name in the official MCP registry, reports which of its tools were added, removed, or had their description, input schema or output schema change between a named month and the latest monthly snapshot.

Useful when a server that worked before behaves differently now, when a prompt or an integration written against its tools has started failing, or before relying on a cached tool description. A liveness check says a server answers today; this says whether it is still the same server that code was written against.

The answer names the changed tools and the kind of change. It does not diff the schemas themselves: the snapshots keep content hashes, not bodies, so detail hands back the release-asset location of both full months for a caller that needs the exact diff.

A month with no snapshot for that server gets an error naming the months that do have one, never an empty diff that would read as nothing changed.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesExact registry name, namespaced — e.g. `io.github.owner/server`. Not a URL and not a title.
sinceNoThe month to diff from, as `YYYY-MM`. Omit it to diff from the earliest month this server appears in, which is the stable choice — a hard-coded month goes wrong as soon as the next snapshot lands.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds substantial behavior beyond them: snapshots hold content hashes not bodies so schemas are not diffed, `detail` returns the release-asset location for both months, and a month without a snapshot errors with the valid months rather than returning a misleading empty diff. This is exactly the kind of edge-case disclosure the 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?

Front-loaded with the core behavior, then layered usage, limitation, and error handling, each paragraph earning its place. The prose is slightly narrative ('still the same server that code was written against') but nothing is redundant.

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 burden and does so: 'The answer names the changed tools and the kind of change,' plus the fallback path for exact diffs and the error-on-missing-month contract. Nothing an agent needs to invoke this correctly is missing.

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 description coverage is 100%, so both `name` and `since` are fully documented in the schema, including the namespaced format and the omitted-`since` default. The description reinforces the month-vs-latest framing but adds no syntax or format detail beyond the schema, so the baseline of 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 states a precise verb and resource: it reports which tools were added, removed, or had descriptions/schemas changed between a named month and the latest snapshot. It also explicitly separates itself from its sibling ('A liveness check says a server answers today; this says whether it is still the same server that code was written against'), so an agent can route between mcp_liveness_check and this tool without opening a schema.

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

Usage Guidelines5/5

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

Provides concrete when-to-use triggers (a server that behaved differently, a prompt/integration that started failing, before trusting a cached description) and contrasts the tool's purpose against the liveness check. The guidance is actionable and leaves nothing to inference.

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

mcp_liveness_explain_outcomesWhat the outcomes meanA
Read-onlyIdempotent
Inspect

Returns the six outcomes this server can report — usable, needs_credential, charged, unreachable, local_only and not_listed — what each means for an agent choosing a server from the registry, and the usual next move for each. A static reference: it makes no network request and its answer never changes between calls.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, and the description reinforces these with 'makes no network request and its answer never changes between calls' — a useful, unambiguous statement for a reference tool. It adds framing beyond the annotations, though it largely restates the idempotent/openWorld hints rather than revealing new behavioral traits.

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

Conciseness5/5

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

Two sentences, front-loaded with the action and the enumerated outcome list, followed by one short clarifying sentence about its static nature. Every clause earns its place with no filler.

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?

With no parameters and no output schema, the description carries the full burden and does so: it lists the six possible outcomes and states that meanings and next moves are included, so an agent knows exactly what the return contains. Nothing needed to call or interpret it is missing.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4; there is no argument syntax an agent could get wrong. The description correctly spends no words on inputs and instead documents the conceptual content of the response.

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?

States a specific verb and resource ('Returns the six outcomes this server can report') and enumerates the exact outcome values, so an agent knows precisely what it will get back. The closing line ('A static reference') distinguishes it from the sibling check/drift tools that perform live network probes.

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?

Positions the tool for 'an agent choosing a server from the registry' and notes it supplies 'the usual next move for each' outcome, which is clear context for interpreting results. It stops short of explicitly saying to call this instead of or alongside mcp_liveness_check, so no hard exclusions or sequencing are given.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Addedmcp_liveness_check_apps
  2. 1 tool update
    • Addedmcp_liveness_check_auth
  3. 1 tool update
    • Changedmcp_liveness_check4 fields changed
      • changedInput schema / properties / name / description
        Previous value: -"Exact registry name, namespaced — e.g. `io.github.owner/server`. Not a URL and not a title."New value: +"The server's exact name in the official MCP registry, namespaced — e.g. `io.github.owner/server`. Not a title. Pass this or `url`, not both."
      • changedInput schema / properties / skipCredentialCheck / description
        Previous value: -"Skip the OAuth discovery chain on a 401. Faster (one request instead of up to five) but the answer then cannot say whether a credential is obtainable."New value: +"Name checks only: skip the OAuth discovery chain on a 401. Faster (one request instead of up to five) but the answer then cannot say whether a credential is obtainable. A URL check never walks the chain."
      • addedInput schema / properties / url
        Added value: +{
        +  "description": "The server's Streamable HTTP endpoint, e.g. `https://example.com/mcp`, for a server that is not in the registry or is named differently there. Public https only. Pass this or `name`, not both.",
        +  "maxLength": 2048,
        +  "minLength": 1,
        +  "type": "string"
        +}
      • removedInput schema / required
        Removed value: -[
        -  "name"
        -]
  4. 1 tool update
    • Addedmcp_liveness_drift
  5. 2 tool updates
    • First observedmcp_liveness_check
    • First observedmcp_liveness_explain_outcomes

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.