{"serverId":"mcp-registry/com.robinsaige/verifier","tools":[{"name":"check_server","fixed":{"name":"check_server","description":"The FULL evidence behind the verdict for ONE server, by exact registry name — call should_i_use first for the one-word decision; call this when you want the whole record. Leads with the verdict (allow/warn/block), then the `rating` grouped as REACH (answers, latency vs population, protocol, auth), USE (tool count vs population, capability breadth, harness readiness) and TRUST (costume-farm?, duplicate inventory?, verifiability grade, drift / rug-pull, and where checkable whether its ANSWERS are ","inputSchema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"exact registry name, e.g. io.github.you/your-mcp"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":194,"tokensAfter":194},{"name":"find_tools","fixed":{"name":"find_tools","description":"Find and RANK the trustworthy tool for a NEED. Describe the task in plain words ('screen a company for sanctions', 'US tariff data', 'vessel tracking') — the search is full-text over tool names AND their stored descriptions (stemmed, BM25-ranked), so your words need not appear in any tool's name. Servers come best-rated first, and EACH ROW carries its verdict (allow/warn/block), cluster, distinctiveness and the matching tool names, so you can pick without a second call. Alive, non-costume, curre","inputSchema":{"type":"object","required":["need"],"properties":{"need":{"type":"string","description":"what the tool should do, in plain words"},"nature":{"enum":["retrieval-public","retrieval-private","action","generative","predictive","computational","orchestration"],"type":"string","description":"only servers whose dominant tool nature is this (see robinsaige.com/verification)"},"verdict":{"enum":["allow","warn","block"],"type":"string","description":"only servers with this verdict"},"free_only":{"type":"boolean","description":"exclude servers that demand payment at the handshake"},"open_only":{"type":"boolean","description":"exclude auth-walled servers"},"max_latency_ms":{"type":"integer","description":"only servers at or under this probe latency"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":363,"tokensAfter":363},{"name":"list_findings","fixed":{"name":"list_findings","description":"The observatory's ruled findings — each with its claim and its falsification test — plus the public corrections log (what we published, then corrected, never deleted). Call this to cite what has been established, or to see where we were wrong. No arguments.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":97,"tokensAfter":97},{"name":"resolve_server_name","fixed":{"name":"resolve_server_name","description":"Resolve a partial or misspelled server name to its EXACT registry id before calling should_i_use / check_server. Matches a fragment against registry NAMES only (not capabilities — for 'which tool does X' use find_tools). Returns candidate exact names with each one's latest liveness outcome. Empty query rejected.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"a fragment of a registry name, e.g. 'tariff'"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":144,"tokensAfter":144}],"toolsChanged":4,"tokensSaved":0,"todo":[{"tool":"report_call","params":["ok","tool","call_hash","latency_ms","cost_tokens"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}