{
 "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.",
 "version": "1.1.0",
 "url": "https://doorman.clawhard.com/a2a",
 "preferredTransport": "JSONRPC",
 "protocolVersion": "1.0",
 "supportedInterfaces": [
  {
   "url": "https://doorman.clawhard.com/a2a",
   "protocolBinding": "JSONRPC",
   "protocolVersion": "1.0"
  },
  {
   "url": "https://doorman.clawhard.com/a2a",
   "protocolBinding": "JSONRPC",
   "protocolVersion": "0.3"
  }
 ],
 "provider": {
  "organization": "Clawhard Studio",
  "url": "https://clawhard.com"
 },
 "iconUrl": "https://clawhard.com/icon-512.png",
 "documentationUrl": "https://doorman.clawhard.com/llms.txt",
 "capabilities": {
  "streaming": false,
  "pushNotifications": false,
  "extendedAgentCard": false
 },
 "defaultInputModes": [
  "application/json",
  "text/plain"
 ],
 "defaultOutputModes": [
  "application/json",
  "text/plain"
 ],
 "skills": [
  {
   "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"
   ],
   "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"
   ],
   "outputModes": [
    "application/json",
    "text/plain"
   ]
  },
  {
   "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"
   ],
   "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"
   ],
   "outputModes": [
    "application/json",
    "text/plain"
   ]
  },
  {
   "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"
   ],
   "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"
   ],
   "outputModes": [
    "application/json",
    "text/plain"
   ]
  }
 ]
}