Server definition
- Hash
- sha256:bec8805d505bcbd79c542a331677f1e32f4a560f9dcbf14ba90521e26d0c074f
- What it is
- What a remote MCP server returned when asked what it offers: 5 tools
The blob, as servednamed by its sha256
{
"instructions": "protogrid: registry of MCP servers from the official registry, probed without credentials.\nFlow: search(q) → get_server(name) or list_tools(name) → get_connection(name, target) → connect with your client.\ncheck_server(url) probes any MCP server URL once: quality and Claude and OpenAI directory readiness.\nClasses: R0 no auth; R1 a static secret (${NAME} placeholders); R2 OAuth, one human consent; L0 local package.\nResults carry next_actions with arguments. Scores are observed signals, not audits.",
"tools": [
{
"description": "Probe a remote MCP server URL once, credential-free and without calling its tools, and get its quality checks and its readiness for the Claude and OpenAI directories. Pass `url` to start a check (waits up to 25 s for the result), or `id` to read one. Quota: a few checks per hour anonymously, more with an API key.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"description": "A check id returned earlier, to read its result",
"maxLength": 64,
"type": "string"
},
"url": {
"description": "The server's streamable HTTP or SSE URL, e.g. https://mcp.example.com/mcp. Never include credentials.",
"maxLength": 2000,
"type": "string"
},
"wait": {
"description": "Seconds to wait for the result (default 25)",
"maximum": 25,
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"name": "check_server",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": {},
"properties": {
"disclaimer": {
"type": "string"
},
"error": {
"type": "string"
},
"finished_at": {
"type": [
"string",
"null"
]
},
"id": {
"description": "Pass as id to read the result later",
"type": "string"
},
"next_actions": {
"description": "Follow-up calls: action is the tool, arguments are ready to pass ({placeholders} are yours to fill)",
"items": {
"additionalProperties": {},
"properties": {
"action": {
"type": "string"
},
"arguments": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"action"
],
"type": "object"
},
"type": "array"
},
"page": {
"description": "Shareable result page",
"type": "string"
},
"requested_at": {
"type": "string"
},
"result": {
"additionalProperties": {},
"description": "Present when status is done",
"properties": {
"probe": {
"additionalProperties": {},
"properties": {},
"type": "object"
},
"quality": {
"additionalProperties": {},
"properties": {
"label": {
"type": "string"
},
"score": {
"type": [
"number",
"null"
]
}
},
"required": [
"score",
"label"
],
"type": "object"
},
"readiness": {
"description": "Claude and OpenAI directory requirements, one per directory; items are pass, warn, fail, unknown, manual or na",
"items": {
"additionalProperties": {},
"properties": {},
"type": "object"
},
"type": "array"
}
},
"required": [
"probe",
"quality",
"readiness"
],
"type": "object"
},
"server": {
"description": "The catalog server listing this URL, if any",
"type": [
"string",
"null"
]
},
"status": {
"enum": [
"queued",
"running",
"done",
"failed"
],
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"id",
"status",
"url",
"requested_at",
"finished_at",
"server",
"page",
"disclaimer",
"next_actions"
],
"type": "object"
}
},
{
"description": "Minimal connection block for the preferred remote (or package) with ${SECRET} placeholders, formatted for a target client. Secrets are never accepted or returned.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"description": "Official reverse-DNS name",
"minLength": 1,
"type": "string"
},
"target": {
"description": "Output format (default mcpServers)",
"enum": [
"mcpServers",
"vscode",
"cursor",
"claude-code-cli",
"codex-toml",
"opencode",
"gemini",
"goose"
],
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "get_connection",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": {},
"properties": {
"autonomous": {
"type": "boolean"
},
"class": {
"description": "R0 remote no auth, R1 static secret, R2 OAuth, L0 local package",
"enum": [
"R0",
"R1",
"R2",
"L0",
"unknown"
],
"type": "string"
},
"connection": {
"description": "The block for the target client: an object for JSON targets, a string for text ones"
},
"content_type": {
"enum": [
"application/json",
"text/plain"
],
"type": "string"
},
"human_steps": {
"items": {
"type": "string"
},
"type": "array"
},
"key": {
"description": "Suggested name for the server in the client configuration",
"type": "string"
},
"kind": {
"enum": [
"remote",
"package",
"bundle"
],
"type": "string"
},
"next_actions": {
"description": "Follow-up calls: action is the tool, arguments are ready to pass ({placeholders} are yours to fill)",
"items": {
"additionalProperties": {},
"properties": {
"action": {
"type": "string"
},
"arguments": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"action"
],
"type": "object"
},
"type": "array"
},
"placeholders": {
"type": "string"
},
"secrets": {
"description": "Placeholders to replace with values you hold",
"items": {
"additionalProperties": {},
"properties": {
"name": {
"type": "string"
},
"where": {
"type": "string"
}
},
"required": [
"name",
"where"
],
"type": "object"
},
"type": "array"
},
"server": {
"type": "string"
},
"target": {
"type": "string"
}
},
"required": [
"server",
"key",
"kind",
"class",
"autonomous",
"human_steps",
"target",
"content_type",
"connection",
"secrets",
"placeholders",
"next_actions"
],
"type": "object"
}
},
{
"description": "Official server.json plus connectability (class, remotes with auth/health, packages), current tools, trust breakdown and identity for one server name.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"description": "Official reverse-DNS name, e.g. io.github.acme/acme-mcp",
"minLength": 1,
"type": "string"
},
"schemas": {
"description": "Include tool input/output schemas (default false; use list_tools for full schemas)",
"type": "boolean"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "get_server",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": {},
"properties": {
"_meta": {
"additionalProperties": {},
"description": "protogrid enrichment next to the official registry metadata",
"properties": {
"dev.protogrid/connectability": {
"additionalProperties": {},
"properties": {
"autonomous": {
"type": "boolean"
},
"class": {
"description": "R0 remote no auth, R1 static secret, R2 OAuth, L0 local package",
"enum": [
"R0",
"R1",
"R2",
"L0",
"unknown"
],
"type": "string"
},
"human_steps": {
"items": {
"type": "string"
},
"type": "array"
},
"packages": {
"description": "Packages with runtime hint and required secrets",
"items": {
"additionalProperties": {},
"properties": {},
"type": "object"
},
"type": "array"
},
"remotes": {
"description": "Remotes with transport, auth, protocol and health",
"items": {
"additionalProperties": {},
"properties": {},
"type": "object"
},
"type": "array"
}
},
"required": [
"class",
"autonomous",
"human_steps",
"remotes",
"packages"
],
"type": "object"
},
"dev.protogrid/identity": {
"additionalProperties": {},
"properties": {
"canonical_id": {
"type": "string"
},
"owner": {
"additionalProperties": {},
"properties": {
"verified": {
"type": "boolean"
}
},
"required": [
"verified"
],
"type": "object"
}
},
"required": [
"canonical_id",
"owner"
],
"type": "object"
},
"dev.protogrid/quality": {
"additionalProperties": {},
"properties": {
"checks": {},
"label": {
"type": "string"
},
"score": {
"type": [
"number",
"null"
]
}
},
"required": [
"score",
"label",
"checks"
],
"type": "object"
},
"dev.protogrid/tools": {
"description": "Current tools; schemas only with schemas=true",
"items": {
"additionalProperties": {},
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"type": "array"
},
"dev.protogrid/trust": {
"additionalProperties": {},
"properties": {
"blocked": {
"type": "boolean"
},
"flags": {
"items": {
"type": "string"
},
"type": "array"
},
"score": {
"type": [
"number",
"null"
]
}
},
"required": [
"score",
"flags",
"blocked"
],
"type": "object"
}
},
"required": [
"dev.protogrid/connectability",
"dev.protogrid/tools",
"dev.protogrid/trust",
"dev.protogrid/quality",
"dev.protogrid/identity"
],
"type": "object"
},
"next_actions": {
"description": "Follow-up calls: action is the tool, arguments are ready to pass ({placeholders} are yours to fill)",
"items": {
"additionalProperties": {},
"properties": {
"action": {
"type": "string"
},
"arguments": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"action"
],
"type": "object"
},
"type": "array"
},
"server": {
"additionalProperties": {},
"description": "The official server.json as published",
"properties": {},
"type": "object"
}
},
"required": [
"server",
"_meta",
"next_actions"
],
"type": "object"
}
},
{
"description": "Every current tool of a server with full input/output schemas, paginated by tool name.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"cursor": {
"description": "next_cursor from the previous page",
"type": "string"
},
"limit": {
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"name": {
"description": "Official reverse-DNS name",
"minLength": 1,
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "list_tools",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": {},
"properties": {
"count": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"next_actions": {
"description": "Follow-up calls: action is the tool, arguments are ready to pass ({placeholders} are yours to fill)",
"items": {
"additionalProperties": {},
"properties": {
"action": {
"type": "string"
},
"arguments": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"action"
],
"type": "object"
},
"type": "array"
},
"next_cursor": {
"description": "Pass as cursor for the next page; null on the last page",
"type": [
"string",
"null"
]
},
"server": {
"type": "string"
},
"tools": {
"items": {
"additionalProperties": {},
"properties": {
"annotations": {
"description": "Tool hints such as readOnlyHint, as the server declares them"
},
"description": {
"type": [
"string",
"null"
]
},
"input_schema": {
"description": "JSON Schema of the arguments, as the server declares it"
},
"name": {
"type": "string"
},
"observed_at": {
"type": "string"
},
"output_schema": {},
"source": {
"enum": [
"probe",
"publisher"
],
"type": "string"
},
"title": {
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"title",
"description",
"input_schema",
"output_schema",
"annotations",
"source",
"observed_at"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"server",
"count",
"tools",
"next_cursor",
"next_actions"
],
"type": "object"
}
},
{
"description": "Hybrid (keyword + semantic) search over servers and their tools. Filter by connection class to keep only what you can reach autonomously (R0, R1).",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"category": {
"enum": [
"developer-tools",
"databases",
"web-search",
"files-storage",
"communication",
"productivity",
"ai-ml",
"cloud-devops",
"finance",
"commerce",
"maps-travel",
"media",
"science-health",
"security",
"iot-automation",
"legal-government"
],
"type": "string"
},
"class": {
"description": "Connection classes to keep, e.g. ['R0','R1']",
"items": {
"enum": [
"R0",
"R1",
"R2",
"L0",
"unknown"
],
"type": "string"
},
"type": "array"
},
"exclude_flags": {
"description": "Trust flags, any of which excludes a server, e.g. ['multi-version-spam','duplicate-repo']",
"items": {
"enum": [
"multi-version-spam",
"duplicate-repo",
"no-repository",
"no-connection",
"deprecated",
"unreachable",
"blocked",
"deleted"
],
"type": "string"
},
"type": "array"
},
"exclude_quality_flags": {
"description": "Quality flags, any of which excludes a server, e.g. ['known-vulns']",
"items": {
"enum": [
"known-vulns",
"outdated-mcp-sdk"
],
"type": "string"
},
"type": "array"
},
"flags": {
"description": "Trust flags that must all be present",
"items": {
"enum": [
"multi-version-spam",
"duplicate-repo",
"no-repository",
"no-connection",
"deprecated",
"unreachable",
"blocked",
"deleted"
],
"type": "string"
},
"type": "array"
},
"limit": {
"description": "Results to return (default 10)",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"min_quality": {
"description": "Minimum quality score 0-100; unscored servers are left out",
"maximum": 100,
"minimum": 0,
"type": "integer"
},
"min_trust": {
"description": "Minimum trust score 0-100",
"maximum": 100,
"minimum": 0,
"type": "integer"
},
"owner_verified": {
"description": "true: only servers whose owner proved control of the namespace (not an audit)",
"type": "boolean"
},
"q": {
"description": "What you want to do, in plain words, e.g. 'send an email' or 'query postgres'",
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"quality_flags": {
"description": "Quality flags that must all be present",
"items": {
"enum": [
"known-vulns",
"outdated-mcp-sdk"
],
"type": "string"
},
"type": "array"
},
"transport": {
"enum": [
"streamable-http",
"sse"
],
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "search",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": {},
"properties": {
"count": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"mode": {
"enum": [
"hybrid",
"keyword"
],
"type": "string"
},
"next_actions": {
"description": "Follow-up calls: action is the tool, arguments are ready to pass ({placeholders} are yours to fill)",
"items": {
"additionalProperties": {},
"properties": {
"action": {
"type": "string"
},
"arguments": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"action"
],
"type": "object"
},
"type": "array"
},
"query": {
"type": "string"
},
"results": {
"items": {
"additionalProperties": {},
"properties": {
"autonomous": {
"description": "True when an agent can connect with no human step",
"type": "boolean"
},
"categories": {
"items": {
"type": "string"
},
"type": "array"
},
"connection_class": {
"description": "R0 remote no auth, R1 static secret, R2 OAuth, L0 local package",
"enum": [
"R0",
"R1",
"R2",
"L0",
"unknown"
],
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"human_steps": {
"items": {
"type": "string"
},
"type": "array"
},
"matched_tools": {
"items": {
"additionalProperties": {},
"properties": {
"description": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
}
},
"required": [
"name",
"description"
],
"type": "object"
},
"type": "array"
},
"name": {
"description": "Official reverse-DNS name, the argument of every other tool",
"type": "string"
},
"owner_verified": {
"description": "The owner proved control of the namespace; not an audit",
"type": "boolean"
},
"quality_flags": {
"description": "known-vulns, outdated-mcp-sdk: raised by failing dependency checks",
"items": {
"type": "string"
},
"type": "array"
},
"quality_label": {
"description": "strong, good, needs work, poor, new, not scored or blocked",
"type": "string"
},
"quality_score": {
"type": [
"number",
"null"
]
},
"score": {
"description": "Relevance of this result to the query",
"type": "number"
},
"title": {
"type": [
"string",
"null"
]
},
"tool_count": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"trust_flags": {
"items": {
"type": "string"
},
"type": "array"
},
"trust_score": {
"type": [
"number",
"null"
]
}
},
"required": [
"name",
"title",
"description",
"connection_class",
"autonomous",
"human_steps",
"categories",
"trust_score",
"trust_flags",
"quality_score",
"quality_label",
"quality_flags",
"owner_verified",
"tool_count",
"score",
"matched_tools"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"query",
"mode",
"count",
"results",
"next_actions"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:bec8805d505bcbd79c542a331677f1e32f4a560f9dcbf14ba90521e26d0c074f | sha256sum