mcp-liveness

Whether a registry MCP server works for a stock client, and what changed in its tools. Free, no key.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
77%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~854Tokens (tool definitions)
~1.1 KBTypical response size
Moderate attention impact (0.67% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "mcp-liveness": {
      "url": "https://agentwares-mcp-liveness.vercel.app/mcp"
    }
  }
}

Remote endpoints

https://agentwares-mcp-liveness.vercel.app/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢mcp_liveness_check(name, skipCredentialCheck)

Given a server's exact name in the official MCP registry, make one `initialize` call to the endpoint its listing names and report what a client with no credential gets. Outcomes: `usable` (it connected and negotiated a protocol version), `needs_credential` (401 or 403 — the answer then says whether a credential can be obtained in-band or whether a person has to create one), `charged` (402, access is for sale), `unreachable` (the listed endpoint is not an MCP server: wrong URL, dead host, or a 200 that is not JSON-RPC), `local_only` (no remote endpoint; it must be spawned as a process), and `not_listed` (no server with that exact name). Call this before spending a call on a server you found in the catalogue. Roughly two in five remote listings do not answer a stock client.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "Exact registry name, namespaced — e.g. `io.github.owner/server`. Not a URL and not a title."
    },
    "skipCredentialCheck": {
      "description": "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.",
      "type": "boolean"
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢mcp_liveness_explain_outcomes

Return the six outcomes this server can report, what each means for an agent choosing a server from the registry, and what to do next for each. Makes no request and costs nothing; call it once to interpret mcp_liveness_check results.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢mcp_liveness_drift(name, since)

Given a server's exact name in the official MCP registry, report which of its tools were added, removed, or had their description, input schema or output schema change between the month you name and the latest monthly snapshot. Call this when a server worked before and is behaving differently now, when a prompt or an integration written against its tools has started failing, or before trusting a tool description you cached. A liveness check says it answers today; this says whether it is still the same server your 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`.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "Exact registry name, namespaced — e.g. `io.github.owner/server`. Not a URL and not a title."
    },
    "since": {
      "description": "The 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.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}$"
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools
verifiedversion not recorded3 tools