Check which AI bots a site lets in, then write a fixed robots.txt.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use when the user asks whether their site (or any public site) blocks ChatGPT, Claude, Google AI, Perplexity or other AI crawlers, whether AI can read or train on their content, or why AI search does not mention their site. Fetches the live robots.txt and reports, for 22 named AI bots in four groups (AI training, AI search, assistants, search engines), which are let in, kept out or partly blocked, plus the site's content-signal preference and fixes. Example: {"url": "example.com"}. Read-only. To write a new robots.txt use doorman_write_robots_txt.
Website address or domain, e.g. nytimes.com
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http doorman https://doorman.clawhard.com/mcp
Use when the user asks whether their site (or any public site) blocks ChatGPT, Claude, Google AI, Perplexity or other AI crawlers, whether AI can read or train on their content, or why AI search does not mention their site. Fetches the live robots.txt and reports, for 22 named AI bots in four groups (AI training, AI search, assistants, search engines), which are let in, kept out or partly blocked, plus the site's content-signal preference and fixes. Example: {"url": "example.com"}. Read-only. To write a new robots.txt use doorman_write_robots_txt.
| Argument | Type | Description |
|---|---|---|
| url* | string | Website address or domain, e.g. nytimes.com |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Website address or domain, e.g. nytimes.com"
}
}
}Use when the user pastes the text of a robots.txt (or you have drafted one) and asks which AI bots it lets in or blocks, or whether a change does what they want. Parses it the way crawlers do (groups, wildcards, longest-match) and reports each of 22 named AI bots as let in, kept out or partly blocked, with notes and a suggested choice. Pure parsing, no network. Example: {"robots_txt": "User-agent: GPTBot\nDisallow: /"}.
| Argument | Type | Description |
|---|---|---|
| robots_txt* | string | The full robots.txt text (up to 512 KB). Empty means no robots.txt. |
{
"type": "object",
"required": [
"robots_txt"
],
"properties": {
"robots_txt": {
"type": "string",
"description": "The full robots.txt text (up to 512 KB). Empty means no robots.txt."
}
}
}Use when the user wants to allow or block AI training, AI search or assistant bots on their site and needs the robots.txt lines. Takes an optional existing robots.txt plus a choice of "in" or "out" for each of three groups (training, ai_search, assistants) and returns a complete robots.txt that keeps existing rules, adds one clean group per choice and a shared content-signal line. Example: {"training": "out", "ai_search": "in", "assistants": "in"}. Returns text to paste at /robots.txt; it does not change any site.
| Argument | Type | Description |
|---|---|---|
| training | string | Let AI training bots in or keep them out (default out). |
| ai_search | string | AI search and answer engines (default in). |
| assistants | string | Assistants that open a page because a person asked (default in). |
| robots_txt | string | Current robots.txt text to keep (optional). |
{
"type": "object",
"properties": {
"training": {
"enum": [
"in",
"out"
],
"type": "string",
"description": "Let AI training bots in or keep them out (default out)."
},
"ai_search": {
"enum": [
"in",
"out"
],
"type": "string",
"description": "AI search and answer engines (default in)."
},
"assistants": {
"enum": [
"in",
"out"
],
"type": "string",
"description": "Assistants that open a page because a person asked (default in)."
},
"robots_txt": {
"type": "string",
"description": "Current robots.txt text to keep (optional)."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 2, 2026.