{"id":552896,"name":"Doorman","description":"Doorman reads any website's robots.txt and shows which AI bots it lets in: who can train on it, which AI search engines can find and cite it, and which assistants can read it for people. Pick what you want and copy a fixed robots.txt, including the new shared AI-training opt-out line. No account.","card_url":"https://doorman.clawhard.com/.well-known/agent-card.json","endpoint":"https://doorman.clawhard.com/a2a","protocol_version":"1.0","first_seen":"2026-11-05T22:08:34.497420+00:00","last_verified":"2026-11-05T22:08:34.497420+00:00","card":{"url":"https://doorman.clawhard.com/a2a","name":"Doorman","skills":[{"id":"doorman_check_ai_bot_access","name":"See which AI bots a website lets in","tags":["doorman","DeveloperApplication","read-only"],"examples":["Which AI bots does my site allow?","Write a robots.txt that allows AI search but blocks training","Check this robots.txt for AI crawler rules"],"inputModes":["application/json","text/plain"],"description":"Reads the public robots.txt of a website and reports which AI bots it lets in, by purpose: AI training (GPTBot, ClaudeBot, Google-Extended, Applebot-Extended, Meta-ExternalAgent, CCBot, Bytespider, Amazonbot and more), AI search and answers (OAI-SearchBot, Claude-SearchBot, PerplexityBot, DuckAssistBot), assistants opening pages for a person (ChatGPT-User, Claude-User, Perplexity-User,…","outputModes":["application/json","text/plain"]},{"id":"doorman_check_robots_txt","name":"Check a robots.txt file for AI bot access","tags":["doorman","DeveloperApplication","read-only"],"examples":["Which AI bots does my site allow?","Write a robots.txt that allows AI search but blocks training","Check this robots.txt for AI crawler rules"],"inputModes":["application/json","text/plain"],"description":"Same report as the check tool, for robots.txt text you already have (a draft, or a file from a site the checker cannot reach). Parses it the way crawlers do (RFC 9309 groups, longest-match Allow/Disallow, * and $ wildcards) and reports which AI training bots, AI search bots, assistants and search engines it lets in, plus the shared __usage_ai-training preference.","outputModes":["application/json","text/plain"]},{"id":"doorman_write_robots_txt","name":"Write a robots.txt that lets in only the AI bots you want","tags":["doorman","DeveloperApplication","read-only"],"examples":["Which AI bots does my site allow?","Write a robots.txt that allows AI search but blocks training","Check this robots.txt for AI crawler rules"],"inputModes":["application/json","text/plain"],"description":"Builds a robots.txt from a simple choice: AI training in or out, AI search in or out, assistants in or out. Keeps every rule in the existing file (pass it as robots_txt), removes old lines for the AI bots it manages, and adds one clearly labelled block, including the shared User-agent: __usage_ai-training preference. Never touches Googlebot, Bingbot or Applebot, so normal search is unaffected.","outputModes":["application/json","text/plain"]}],"iconUrl":"https://clawhard.com/icon-512.png","version":"1.1.0","provider":{"url":"https://clawhard.com","organization":"Clawhard Studio"},"description":"Doorman reads any website's robots.txt and shows which AI bots it lets in: who can train on it, which AI search engines can find and cite it, and which assistants can read it for people. Pick what you want and copy a fixed robots.txt, including the new shared AI-training opt-out line. No account.","capabilities":{"streaming":false,"extendedAgentCard":false,"pushNotifications":false},"protocolVersion":"1.0","documentationUrl":"https://doorman.clawhard.com/llms.txt","defaultInputModes":["application/json","text/plain"],"defaultOutputModes":["application/json","text/plain"],"preferredTransport":"JSONRPC","supportedInterfaces":[{"url":"https://doorman.clawhard.com/a2a","protocolBinding":"JSONRPC","protocolVersion":"1.0"},{"url":"https://doorman.clawhard.com/a2a","protocolBinding":"JSONRPC","protocolVersion":"0.3"}]},"status":"verified","publisher_domain":"clawhard.com","signature_status":"unsigned","signature_detail":"No card signature supplied","signature_key_url":null,"signature_checked_at":"2026-11-05T22:08:34.497420+00:00","domain_claimed_at":null,"domain_proof_checked_at":null,"source_name":"Publisher Agent Card","source_url":"https://doorman.clawhard.com/.well-known/agent-card.json","last_check":{"checked_at":"2026-11-05T22:08:34.49742+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"also_published_at":[],"history_urls":["https://doorman.clawhard.com/.well-known/agent-card.json"],"skills":[{"skill_id":"doorman_check_robots_txt","name":"Check a robots.txt file for AI bot access","description":"Same report as the check tool, for robots.txt text you already have (a draft, or a file from a site the checker cannot reach). Parses it the way crawlers do (RFC 9309 groups, longest-match Allow/Disallow, * and $ wildcards) and reports which AI training bots, AI search bots, assistants and search engines it lets in, plus the shared __usage_ai-training preference.","tags":["doorman","DeveloperApplication","read-only"],"quality_warning":false},{"skill_id":"doorman_check_ai_bot_access","name":"See which AI bots a website lets in","description":"Reads the public robots.txt of a website and reports which AI bots it lets in, by purpose: AI training (GPTBot, ClaudeBot, Google-Extended, Applebot-Extended, Meta-ExternalAgent, CCBot, Bytespider, Amazonbot and more), AI search and answers (OAI-SearchBot, Claude-SearchBot, PerplexityBot, DuckAssistBot), assistants opening pages for a person (ChatGPT-User, Claude-User, Perplexity-User,…","tags":["doorman","DeveloperApplication","read-only"],"quality_warning":false},{"skill_id":"doorman_write_robots_txt","name":"Write a robots.txt that lets in only the AI bots you want","description":"Builds a robots.txt from a simple choice: AI training in or out, AI search in or out, assistants in or out. Keeps every rule in the existing file (pass it as robots_txt), removes old lines for the AI bots it manages, and adds one clearly labelled block, including the shared User-agent: __usage_ai-training preference. Never touches Googlebot, Bingbot or Applebot, so normal search is unaffected.","tags":["doorman","DeveloperApplication","read-only"],"quality_warning":false}],"quality_flags":[],"check_history":{"checks":1,"passed":1},"recent_checks":[{"card_url":"https://doorman.clawhard.com/.well-known/agent-card.json","checked_at":"2026-11-05T22:08:34.497420+00:00","success":true,"http_status":200,"detail":"Agent Card validated"}],"endpoint_tls_check":{"checked_at":"2026-11-05T22:08:34.497420+00:00","success":true,"detail":"Valid TLS connection to advertised endpoint host; no A2A request sent"},"protocol_check":{"checked_at":"2026-11-05T22:08:34.497420+00:00","endpoint":"https://doorman.clawhard.com/a2a","protocol_binding":"JSONRPC","protocol_version":"1.0","state":"a2a_response","http_status":200,"detail":"A2A task-not-found response to a read-only task lookup","request_diagnostics":{"requests":[{"path":"/a2a","allow":[],"method":"POST","status":200,"version_header":"1.0","protocol_method":"GetTask","redirect_followed":false}],"capture_version":1}},"declared_primary_endpoint":"https://doorman.clawhard.com/a2a","selected_connection_interface":{"url":"https://doorman.clawhard.com/a2a","protocolBinding":"JSONRPC","protocolVersion":"1.0"},"protocol_interface_checks":[{"endpoint":"https://doorman.clawhard.com/a2a","protocol_binding":"JSONRPC","protocol_version":"1.0","selected":true,"state":"a2a_response","checked_at":"2026-11-05T22:08:34.497420+00:00","http_status":200,"detail":"A2A task-not-found response to a read-only task lookup","binding_recorded":true},{"endpoint":"https://doorman.clawhard.com/a2a","protocol_binding":"JSONRPC","protocol_version":"0.3","selected":false,"state":"a2a_response","checked_at":"2026-11-05T22:08:34.497420+00:00","http_status":200,"detail":"A2A task-not-found response to a read-only task lookup","binding_recorded":true}],"connection_selection_note":"The selected connection uses an address advertised in the publisher card. Read-only observations do not establish task quality or safety.","x402_price_check":null,"events":[],"relationships":[],"verification":{"agent_card_url":"https://doorman.clawhard.com/.well-known/agent-card.json","last_successful_card_check":"2026-11-05T22:08:34.497420+00:00","latest_card_check":{"checked_at":"2026-11-05T22:08:34.49742+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"signature_status":"unsigned","signature_checked_at":"2026-11-05T22:08:34.497420+00:00","task_endpoint_tested":true,"task_execution_tested":false,"endpoint_tls_checked_at":"2026-11-05T22:08:34.497420+00:00","endpoint_tls_reachable":true,"protocol_check_state":"a2a_response","protocol_checked_at":"2026-11-05T22:08:34.497420+00:00","provider_identity_verified":false,"domain_claimed_at":null,"domain_proof_checked_at":null},"synthetic_capability_tests":{"agent_id":552896,"status":"not_tested","reason_code":"not_yet_tested","consent_status":"not_confirmed","latest_observation_status":null,"last_checked_at":null,"fixture_version":"1","reference_demonstration":false,"scope":"A publisher-authorized synthetic test of a dedicated free test endpoint. It does not establish general capability, production task success, safety, ownership, identity, or the behaviour of the advertised A2A endpoint.","methodology_url":"https://localmark.ai/capability-tests","history":[]},"repair_links":{"agent_repair_url":"https://localmark.ai/agents/552896/repair","publisher_report_url":"https://localmark.ai/publishers/clawhard.com/repair","diagnostics_json_url":"https://localmark.ai/publishers/clawhard.com/repair/diagnostics.json","diagnostics_csv_url":"https://localmark.ai/publishers/clawhard.com/repair/diagnostics.csv"},"_localmark":{"contribution":{"optional":true,"directory_access":"free","operator_authorization_required":true,"affects_rankings":false,"message":"LocalMark is free. Optional contributions help fund ongoing checks.","support_url":"https://localmark.ai/support","metadata_url":"https://localmark.ai/api/v1/support/contributions"}}}