{"server":{"name":"xyz.agentreader/agentreader","title":"AgentReader","$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","remotes":[{"url":"https://agentreader.xyz/mcp","type":"streamable-http","headers":[{"name":"Authorization","isSecret":true,"description":"Optional: \"Bearer ar_...\" API key holding prepaid credits (issued when you buy a bundle at https://agentreader.xyz/v1/credits/buy)"}]}],"version":"0.4.1","websiteUrl":"https://agentreader.xyz","description":"Pages your agent's fetch can't read (JS-only, consent walls, PDFs) as clean, compact Markdown/JSON."},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","isLatest":true,"updatedAt":"2026-10-18T09:51:18.174037Z","publishedAt":"2026-10-18T09:51:18.174037Z","statusChangedAt":"2026-10-18T09:51:18.174037Z"},"dev.protogrid/connectability":{"class":"R0","autonomous":true,"human_steps":[],"preferred":{"kind":"remote","idx":0},"remotes":[{"idx":0,"url":"https://agentreader.xyz/mcp","transport":"streamable-http","templated":false,"headers":[{"name":"Authorization","required":false,"secret":true,"value":null,"secret_names":["AGENTREADER_TOKEN"]}],"auth":{"type":"none","location":null,"secret_name":null,"oauth":null},"protocol":{"supported_versions":["2025-11-25"],"stateless":true},"health":{"reachable":true,"uptime_30d":1,"latency_ms_p50":795,"consecutive_failures":0,"last_probe_at":"2026-10-19T23:54:31.597Z","last_ok_at":"2026-10-19T23:54:31.597Z"}}],"packages":[]},"dev.protogrid/tools":[{"name":"get_balance","title":"Get balance","description":"Show remaining free calls and prepaid credits for the API key sent in the MCP connection headers, plus available credit bundles and how to buy them.","annotations":null,"source":"probe","observed_at":"2026-10-19T23:54:31.597Z"},{"name":"read_url","title":"Read URL / web page / PDF to Markdown","description":"Read a web page or PDF and get its main content as clean, compact Markdown (default) or JSON. Use when a normal fetch returns an empty JavaScript shell, a cookie/consent page, raw PDF bytes, or bloated HTML full of navigation and ads. Renders JavaScript with headless Chromium when needed, accepts consent walls, and strips boilerplate. JSON adds title, author, date, links and tables. News homepages return headline lists, RSS/Atom feeds return items, mode=full returns the whole page. StackOverflow, npm and PyPI are read via their official APIs. Sites that block bots fail fast with a clear error and are not charged. Free: 5 calls/day without an API key. Beyond that: prepaid credits on an API key (buy via POST https://agentreader.xyz/v1/credits/buy?bundle=500 with x402, or by card at https://agentreader.xyz/buy; the key is issued on purchase) or $0.005/call via x402.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T23:54:31.597Z"},{"name":"search","title":"Web search","description":"Search the web and get a ranked list of results (title, url, snippet). Use it to find pages, then call read_url on the best results to read them as clean Markdown. Priced like one read (free daily calls, credits or x402).","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T23:54:31.597Z"}],"dev.protogrid/trust":{"score":83,"components":{"hygiene":80,"liveness":100,"freshness":100,"provenance":55},"drivers":["+dns-namespace","+website","+reachable","+uptime-100%","+updated-2d-ago","-no-repository"],"flags":["no-repository"],"blocked":false,"computed_at":"2026-10-20T00:08:06.187Z","disclaimer":"Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed."},"dev.protogrid/quality":{"score":81,"label":"new","components":{"auth":null,"hygiene":86,"protocol":75,"stability":null,"dependencies":null},"checks":[{"id":"protocol.modern","detail":"newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28","status":"warn","category":"protocol"},{"id":"protocol.stateless","detail":"only applies to 2026-07-28 servers","status":"na","category":"protocol"},{"id":"protocol.transport","detail":"streamable HTTP","status":"pass","category":"protocol"},{"id":"protocol.list_ttl","detail":"only applies to 2026-07-28 servers","status":"na","category":"protocol"},{"id":"auth.prm","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.as_metadata","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.cimd","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.secret_in_url","detail":"no templated URL","status":"na","category":"auth"},{"id":"tools.descriptions","detail":"every tool has a description","status":"pass","category":"hygiene"},{"id":"tools.description_length","detail":"descriptions are concise","status":"pass","category":"hygiene"},{"id":"tools.schemas","detail":"every tool has an object input schema","status":"pass","category":"hygiene"},{"id":"tools.annotations","detail":"only 2 of 3 tools declare readOnlyHint or destructiveHint","status":"warn","category":"hygiene"},{"id":"tools.directory_hints","detail":"2 of 3 tools declare all four hints; missing: get_balance (readOnlyHint, destructiveHint, idempotentHint, openWorldHint)","status":"warn","category":"hygiene"},{"id":"tools.token_cost","detail":"about 916 tokens to load every tool","status":"pass","category":"hygiene"},{"id":"tools.api_dump","detail":"tools are not a one-to-one API dump","status":"pass","category":"hygiene"},{"id":"stability.changes","detail":"tool history recorded for 4 of the 7 days needed","status":"na","category":"stability"},{"id":"stability.rug_pull","detail":"tool history recorded for 4 of the 7 days needed","status":"na","category":"stability"},{"id":"deps.known_vulns","detail":"no npm or PyPI package","status":"na","category":"dependencies"},{"id":"deps.mcp_sdk_version","detail":"no npm or PyPI package","status":"na","category":"dependencies"},{"id":"deps.resolvable","detail":"no npm or PyPI package","status":"na","category":"dependencies"}],"drivers":["~protocol.modern","~tools.annotations","~tools.directory_hints"],"flags":[],"tool_count":3,"token_estimate":916,"tools_hash":"4419e3beacb21e6fbe4662d8e3ff7c70","tools_changed_at":"2026-10-19T17:48:17.096Z","computed_at":"2026-10-20T00:22:39.443Z","disclaimer":"Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed."},"dev.protogrid/identity":{"canonical_id":"xyz.agentreader/agentreader","aliases":[],"alias_count":0,"repository_key":null,"owner":{"verified":false,"method":null,"since":null}}},"next_actions":[{"action":"list_tools","description":"Every current tool with input schemas","href":"/v1/servers/xyz.agentreader%2Fagentreader/tools","arguments":{"name":"xyz.agentreader/agentreader"}},{"action":"get_connection","description":"Minimal connection block for the preferred remote or package","href":"/v1/servers/xyz.agentreader%2Fagentreader/connection?target=mcpServers","arguments":{"name":"xyz.agentreader/agentreader","target":"mcpServers"}},{"action":"search","description":"Find other servers by intent","href":"/v1/search?q={query}","arguments":{"q":"{query}"}}]}