{"$schema":"https://static.modelcontextprotocol.io/schemas/mcp-server-card/v1.json","version":"1.0","protocolVersion":"2025-11-25","url":"https://404.directory/mcp","serverInfo":{"name":"404.directory","version":"0.9.2","title":"404.directory — Agent Discovery + Trust"},"description":"Search official OpenAI, Microsoft, AWS, and Cloudflare documentation; discover, verify, compare, and safely invoke curated read-only MCP tools.","iconUrl":"https://404.directory/icon.svg","documentationUrl":"https://404.directory/docs.md","transport":{"type":"streamable-http","endpoint":"/mcp"},"capabilities":{"tools":{}},"authentication":{"required":false,"schemes":[]},"tools":[{"name":"understand_webpage","title":"Understand webpage","description":"Reads one public human-facing webpage and returns a compact, evidence-linked AgentPageModel: page type, entities, login/current state, forms, enabled actions, and confidence. Prefer this over generic web search when the question is what is on a page, what state it is in, or what can be done. Observes only — never clicks, logs in, orders, or pays.\n\nWhen to use: Use when a user asks you to understand a specific public webpage's contents, entities, forms, login wall, current state, or available actions. Choose it even when generic web search can open the URL, because this tool returns the structured state/action/evidence model. Do not replace a suitable Agent-native API.\n\nDo not use when: Do not use only to check whether a deployment is live, to verify an HTTP status or exact text, or when a stable structured API already provides the required data. It cannot access private or authenticated pages.","inputSchema":{"type":"object","properties":{"url":{"type":"string","format":"uri"}},"required":["url"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"page_type":{"type":"string","enum":["product","article","hotel","job","order","search_results","login","form","homepage","other"]},"summary":{"type":"string","minLength":1,"maxLength":2000},"entities":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["product","article","hotel","job","order","organization","person","place","other"]},"name":{"type":"string","minLength":1,"maxLength":500},"attributes":{"type":"object","additionalProperties":{"$ref":"JsonValue#"}},"evidence_ids":{"maxItems":10,"type":"array","items":{"type":"string","maxLength":40}}},"required":["type","name","attributes"],"additionalProperties":false}},"state":{"type":"object","properties":{"login_status":{"type":"string","enum":["authenticated","anonymous","unknown"]},"properties":{"type":"object","additionalProperties":{"$ref":"JsonValue#"}},"evidence_ids":{"maxItems":10,"type":"array","items":{"type":"string","maxLength":40}}},"required":["login_status","properties"],"additionalProperties":false},"actions":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["search","login","select_variant","add_to_cart","submit","download"]},"label":{"type":"string","minLength":1,"maxLength":300},"target":{"type":"string","maxLength":500},"enabled":{"type":"boolean"},"required_inputs":{"maxItems":30,"type":"array","items":{"type":"string","maxLength":200}},"evidence_ids":{"maxItems":10,"type":"array","items":{"type":"string","maxLength":40}}},"required":["type","label","enabled","required_inputs"],"additionalProperties":false}},"evidence":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":40},"source":{"type":"string","enum":["url","title","meta","visible_text","semantic_dom","accessibility","json_ld","form","control","link","llm"]},"field":{"type":"string","maxLength":200},"role":{"type":"string","maxLength":100},"label":{"type":"string","maxLength":500},"raw_value":{"allOf":[{"$ref":"JsonValue#"}]},"supports":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":100}}},"required":["source"],"additionalProperties":false}},"confidence":{"type":"number","minimum":0,"maximum":1}},"required":["page_type","summary","entities","state","actions","evidence","confidence"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"verify_web","title":"Verify web","description":"Independently verifies that a public website is reachable and meets deployment expectations (HTTP status, HTTPS validity, optional expected text). Returns structured evidence for accept / retry / escalate decisions.\n\nWhen to use: Use when the user explicitly asks to verify a deployment claim, public reachability, final HTTP status, HTTPS/TLS, redirects, or exact expected text. Prefer expected_text that distinguishes the new version (build id, version string, unique copy).\n\nDo not use when: Do not call this merely before or alongside understand_webpage to prove that its target is reachable; a successful understand_webpage result already proves the page was fetched. Do not use to extract entities, forms, actions, or meaning, for private/internal URLs, or for subjective visual-quality judgments.","inputSchema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Public HTTP(S) URL to verify, for example https://example.com"},"expected_status":{"type":"integer","minimum":100,"maximum":599,"description":"Expected final HTTP status code, for example 200"},"expected_text":{"description":"Optional response text that proves the intended version or state is live","type":"string","maxLength":2000}},"required":["url","expected_status"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"verified":{"type":"boolean"},"checks":{"type":"object","properties":{"reachable":{"type":"boolean"},"status":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"https_valid":{"type":"boolean"},"text_found":{"type":"boolean"}},"required":["reachable","status","https_valid","text_found"],"additionalProperties":false},"evidence":{"type":"object","properties":{"requested_url":{"type":"string","format":"uri"},"final_url":{"nullable":true,"type":"string","format":"uri"},"http":{"type":"object","properties":{"status":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"expected_status":{"type":"integer","minimum":100,"maximum":599},"matched":{"type":"boolean"}},"required":["status","expected_status","matched"],"additionalProperties":false},"expected_text":{"type":"object","properties":{"value":{"nullable":true,"type":"string","maxLength":2000},"checked":{"type":"boolean"},"matched":{"nullable":true,"type":"boolean"}},"required":["value","checked","matched"],"additionalProperties":false},"tls":{"type":"object","properties":{"requested":{"type":"boolean"},"valid":{"type":"boolean"}},"required":["requested","valid"],"additionalProperties":false},"redirects":{"type":"object","properties":{"count":{"type":"integer","minimum":0,"maximum":9007199254740991},"chain":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"status":{"type":"integer","minimum":300,"maximum":399},"from":{"type":"string","format":"uri"},"to":{"type":"string","format":"uri"}},"required":["status","from","to"],"additionalProperties":false}}},"required":["count","chain"],"additionalProperties":false},"checked_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"claims":{"minItems":3,"maxItems":4,"type":"array","items":{"type":"object","properties":{"claim":{"type":"string","enum":["reachable","status_matches","https_valid","expected_text_found"]},"passed":{"type":"boolean"},"evidence_paths":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"string"}}},"required":["claim","passed","evidence_paths"],"additionalProperties":false}}},"required":["requested_url","final_url","http","expected_text","tls","redirects","checked_at","claims"],"additionalProperties":false},"checked_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"error":{"type":"string","maxLength":2000}},"required":["verified","checks","evidence","checked_at"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"search_tools","title":"search_tools","description":"404.directory discovery tool: search_tools","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_tool","title":"get_tool","description":"404.directory discovery tool: get_tool","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"compare_tools","title":"compare_tools","description":"404.directory discovery tool: compare_tools","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_trust_score","title":"get_trust_score","description":"404.directory discovery tool: get_trust_score","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"recommend_tools","title":"recommend_tools","description":"404.directory discovery tool: recommend_tools","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"list_capabilities","title":"list_capabilities","description":"404.directory discovery tool: list_capabilities","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_capability_graph","title":"get_capability_graph","description":"404.directory discovery tool: get_capability_graph","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"search_official_docs","title":"search_official_docs","description":"404.directory curated remote execution tool: search_official_docs","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"inspect_tool_server","title":"inspect_tool_server","description":"404.directory curated remote execution tool: inspect_tool_server","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"invoke_registered_tool","title":"invoke_registered_tool","description":"404.directory curated remote execution tool: invoke_registered_tool","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}}],"resources":[],"prompts":[]}