ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที เข้าสู่ระบบด้วย Google เพื่อเขียนรีวิวได้แล้วต้นแบบ · อัปเดตทุก 30 นาที
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · วิธีติดตั้งภาษาไทยทุกตัว

Crawlerpeek

โดย crawlerpeekรุ่น 0.3.1i★ 3iรันบนเครื่อง
ชื่อใน registryio.github.crawlerpeek/crawlerpeek

วิธีติดตั้ง

ใช้ทำอะไรได้

ยังไม่มีคำอธิบายภาษาไทย ดูข้อเท็จจริงด้านล่าง หรือเปิดคำอธิบายต้นฉบับจากผู้ทำ

  • ต่อแบบ ติดตั้งในเครื่อง
  • บัญชีหรือคีย์ ไม่ต้องใส่คีย์
  • หมวด อื่น ๆ
คำอธิบายต้นฉบับจากผู้ทำ (อังกฤษ)
Check whether AI crawlers (GPTBot, ClaudeBot, PerplexityBot) can access a URL. Read-only.

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ผลตรวจผ่าน 3/3 · ทำงานบนเครื่องคุณ · ✓ ตรวจคำสั่งแล้ว 13 พ.ย. 2569

ขั้นแรก: คุณใช้ AI ตัวไหน

เลือกแอปที่คุณใช้ ขั้นตอนจะขึ้นด้านล่าง

ต่อกับ Claude ได้ แต่ต้องเตรียมก่อน

ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว) · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ

  1. ลง Node.js ในเครื่อง

    ทำครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Node.js

    เปิดหน้าดาวน์โหลด Node.js ↗

  2. เปิดไฟล์ตั้งค่าของแอป Claude บนคอม

    SettingsDeveloperEdit Config

  3. วางค่าตั้งนี้แล้วบันทึกไฟล์

    {
      "mcpServers": {
        "crawlerpeek": {
          "command": "npx",
          "args": [
            "-y",
            "crawlerpeek",
            "mcp"
          ]
        }
      }
    }
  4. ปิดแอป Claude แล้วเปิดใหม่

  5. ลองเลย

    ใช้ Crawlerpeek บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง

    ✓ ถ้า Claude บอกว่ากำลังใช้ Crawlerpeek หรือมีชื่อเครื่องมือของ Crawlerpeek ขึ้นในคำตอบ แปลว่าต่อสำเร็จ

ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป

ChatGPT ยังต่อ Crawlerpeek ไม่ได้

Crawlerpeek ต้องติดตั้งในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะตัวที่ทำงานบนเว็บ

คุณทำแบบนี้แทนได้

ก · ใช้แอปที่ต่อ Crawlerpeek ได้

  • ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว) · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ
  • ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
  • ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
  • ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)

ข · ตัวอื่นในหมวด อื่น ๆ ที่ต่อกับ ChatGPT ได้

เลือกจากตัวที่ใช้มากในหมวดเดียวกัน เฉพาะตัวที่ต่อด้วยที่อยู่ได้โดยไม่ต้องใส่คีย์

ต่อกับ Claude Code ได้ แต่ต้องเตรียมก่อน

ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)

  1. ลง Node.js ในเครื่อง

    ทำครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Node.js

    เปิดหน้าดาวน์โหลด Node.js ↗

  2. เปิด Terminal

    Mac: กด Command+Space พิมพ์ Terminal · Windows: เปิด PowerShell

  3. วางคำสั่งนี้แล้วกด Enter

    claude mcp add --scope user crawlerpeek -- npx -y crawlerpeek mcp
  4. พิมพ์ /mcp ใน Claude Code

    ต้องเห็น Crawlerpeek ในรายการและขึ้นว่าเชื่อมต่อแล้ว

  5. ลองเลย

    ใช้ Crawlerpeek บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง

    ✓ ถ้า Claude Code บอกว่ากำลังใช้ Crawlerpeek หรือมีชื่อเครื่องมือของ Crawlerpeek ขึ้นในคำตอบ แปลว่าต่อสำเร็จ

ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป

ต่อกับ Cursor ได้ แต่ต้องเตรียมก่อน

ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)

  1. ลง Node.js ในเครื่อง

    ทำครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Node.js

    เปิดหน้าดาวน์โหลด Node.js ↗

  2. กดปุ่มนี้เพื่อเปิด Cursor

    เปิดใน Cursor

    Cursor จะถามยืนยันการติดตั้ง ให้กด Install

  3. เปิดแชตของ AI ใน Cursor โหมด Agent

  4. ลองเลย

    ใช้ Crawlerpeek บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง

    ✓ ถ้า Cursor บอกว่ากำลังใช้ Crawlerpeek หรือมีชื่อเครื่องมือของ Crawlerpeek ขึ้นในคำตอบ แปลว่าต่อสำเร็จ

ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Cursor เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป

ต่อกับ VS Code ได้ แต่ต้องเตรียมก่อน

ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)

  1. ลง Node.js ในเครื่อง

    ทำครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Node.js

    เปิดหน้าดาวน์โหลด Node.js ↗

  2. กดปุ่มนี้เพื่อเปิด VS Code

    เปิดใน VS Code

    VS Code จะถามยืนยันการติดตั้ง ให้กด Install

  3. เปิดแชตของ AI ใน VS Code โหมด Agent

  4. ลองเลย

    ใช้ Crawlerpeek บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง

    ✓ ถ้า VS Code บอกว่ากำลังใช้ Crawlerpeek หรือมีชื่อเครื่องมือของ Crawlerpeek ขึ้นในคำตอบ แปลว่าต่อสำเร็จ

ชื่อเมนูตรวจกับหน้าช่วยเหลือของ VS Code เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป

โปรแกรมอื่นที่ใช้ MCP ได้ เช่น Windsurf, Zed หรือ Gemini CLI มีวิธีเพิ่มต่างกัน ดูวิธีของแต่ละตัวในหน้ารวมโปรแกรม

ดูโปรแกรมที่ใช้ MCP ทั้งหมด →

ค่าตั้งแบบไฟล์ JSON อยู่ในหัวข้อ “สำหรับคนเขียนโค้ด” ด้านล่าง

ติดตรงไหน? ถามคนที่ใช้ Crawlerpeek อยู่💬 พูดคุย →
สำหรับคนเขียนโค้ด: คำสั่ง Terminal และค่าตั้ง JSON

ติดตั้งในเครื่อง

Claude Code

claude mcp add --scope user crawlerpeek -- npx -y crawlerpeek mcp

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "crawlerpeek": {
      "command": "npx",
      "args": [
        "-y",
        "crawlerpeek",
        "mcp"
      ]
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "crawlerpeek": {
      "command": "npx",
      "args": [
        "-y",
        "crawlerpeek",
        "mcp"
      ]
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "crawlerpeek": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "crawlerpeek",
        "mcp"
      ]
    }
  }
}

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

สรุป

ดาวน์โหลดต่อสัปดาห์i
181/สัปดาห์
การเชื่อมต่อ
รันบนเครื่อง
รุ่นล่าสุดi
0.3.1
หมวดi
อื่น ๆ
ส่งเข้า registryi
30 ต.ค. 2569
แก้โค้ดล่าสุดi
30 ต.ค. 2569
ผู้ทำ
crawlerpeek
แพ็กเกจ
npm: crawlerpeek
เว็บผู้ทำ
crawlerpeek.com
สถานะใน registry
ใช้งานอยู่

ใช้กับโปรแกรมไหนได้

ดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569

ติดตั้งบนเครื่องได้ใน

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

ดูโปรแกรมทั้งหมดพร้อมข้อดีข้อเสีย →

คู่มือที่เกี่ยวข้อง

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 15 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub crawlerpeek ซึ่งเป็นเจ้าของ repo

  • ✓ ผ่าน

    ยังมีคนดูแล

    มีการแก้โค้ดล่าสุด 16 วันที่ผ่านมา

  • ✓ ผ่าน

    มีสัญญาอนุญาต (license)

    ใช้ MIT

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

พูดคุย

ถาม แชร์เคล็ดลับ หรือแจ้งว่าใช้ไม่ได้ เรียงตามที่คนกดว่ามีประโยชน์

ยังไม่มีใครโพสต์ ถามหรือแชร์เป็นคนแรกได้เลย

ข้อความในส่วนนี้เขียนโดยผู้ใช้ ไม่ใช่ทีม PopNx

เข้าสู่ระบบด้วย Google เพื่อโพสต์

รีวิวจากผู้ใช้

ยังไม่มีรีวิว

เข้าสู่ระบบด้วย Google เพื่อเขียนรีวิว

เทียบกับตัวอื่นในหมวด อื่น ๆi

  • ดาวมากกว่า 93% ของอีก 19808 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 72% ของอีก 19808 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 19808 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Crawlerpeek ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด 16 วันที่ผ่านมา และส่งรุ่นล่าสุด (0.3.1) เข้า registry 16 วันที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี World Monitor, Claude Flow, Windmill

ตัวอื่นในหมวดเดียวกัน

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

World Monitor

ข่าวกรองโลกแบบเรียลไทม์: ความขัดแย้ง ตลาด พลังงาน การค้า การขนส่ง และไซเบอร์

โดย koala73ใช้กันมาก★ 90.6Kอัปเดต เมื่อวาน

รันบนคลาวด์✓ เจ้าของบริการ · worldmonitor.app

Claude Flow

AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.

โดย ruvnetใช้กันมาก↓ 13.5K/สัปดาห์★ 81.7Kอัปเดต 14 เดือนที่ผ่านมา

รันบนเครื่อง

Windmill

Run Windmill scripts and flows and manage jobs, schedules, resources and variables.

โดย windmill-labsใช้กันมาก★ 18.6Kอัปเดต 3 วันที่ผ่านมา

รันบนคลาวด์

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

crawlerpeek

Check whether AI crawlers can access your site. For each bot (GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-SearchBot, PerplexityBot, Google-Extended, Googlebot, Bingbot, CCBot and more) it tells you:

  • whether robots.txt allows the URL's path for that bot (RFC 9309: user-agent groups, wildcards, $, longest match wins), and
  • what the page actually returns when fetched with that bot's user-agent string: status, final URL after redirects, content type, size, title, and whether the response looks like a block or challenge page.

It also lints a robots.txt for mistakes, checks every URL in a sitemap against robots.txt, and generates a robots.txt that welcomes AI crawlers. A library, a CLI for CI, and an MCP server. Node 20 or newer, no runtime dependencies, ESM and CommonJS, TypeScript types included.

The same checks as a web tool: crawlerpeek.com. Documentation with examples for CI and MCP clients: crawlerpeek.com/cli.

Install

npm install crawlerpeek       # library

npx crawlerpeek --help # CLI, no install needed

CLI

npx crawlerpeek check https://example.com
https://example.com

robots.txt: ok (HTTP 200) at https://example.com/robots.txt

Bot robots HTTP GPTBot blocked 200 FAIL ClaudeBot allowed 403 (block page) FAIL Google-Extended allowed -

npx crawlerpeek check https://example.com/pricing --bots GPTBot,ClaudeBot --fail-on blocked

npx crawlerpeek check https://example.com --bots all --json npx crawlerpeek check https://example.com --no-http # robots.txt only npx crawlerpeek see https://example.com --bot ClaudeBot # one bot, full detail npx crawlerpeek verify 66.249.66.1 --bot Googlebot # is this IP really Googlebot? npx crawlerpeek lint https://example.com # find mistakes in its robots.txt (or: lint ./robots.txt, lint -) npx crawlerpeek scan https://example.com --limit 50 # robots.txt per bot for the URLs in its sitemap npx crawlerpeek check https://example.com --markdown # GitHub-flavoured Markdown table npx crawlerpeek robots --disallow /admin/,/cart/ --sitemap https://example.com/sitemap.xml

Exit codes: 0 ok, 1 the --fail-on condition was met, 2 usage error (including an unknown option) or request error. see exits 0 when the page was fetched, whatever its HTTP status, and 2 when the request failed or was refused.

verify [--bot GPTBot] [--json] checks whether an address from your server logs really belongs to a crawler. It uses only what the operator documents: the published IP-range JSON (Google, OpenAI, Anthropic, Perplexity, Bing, Apple, Common Crawl, DuckDuckGo, Ahrefs) or reverse DNS with forward confirmation (Google, Bing, Apple, Common Crawl, Ahrefs). Without --bot every bot with such a method is checked. Each result has method (ip-list, reverse-dns or none), verified (true, false, or null when it cannot be decided, for example the list is unreachable or the operator documents no method) and a detail. Lists are cached for one hour, and nothing is ever sent to the IP. Exit codes: 0 verified for at least one bot, 1 not verified or undecidable, 2 usage error.

check --markdown prints the result as a GitHub-flavoured Markdown table (a heading with the URL, a ✅/❌ summary line and one row per bot) instead of the text table; it cannot be combined with --json. --summary-file appends the same Markdown to a file in addition to the normal output, which is how the GitHub Action fills the job summary (--summary-file "$GITHUB_STEP_SUMMARY").

lint [--fail-on error|warning] [--json] checks a robots.txt: the /robots.txt of a URL, a local file, or - for stdin. It prints one line per finding (L12 warning unknown-field ...) and a summary. Each finding has a stable code, a severity (error, warning, info) and the line number, and is based on RFC 9309 or Google's robots.txt documentation:

CodeSeverityFinding
html-instead-of-robotserrorthe server answered /robots.txt with a web page
not-texterrorthe file is binary or compressed data, not text
rule-before-user-agentwarningAllow or Disallow before any User-agent line (ignored)
unknown-field, missing-colonwarninga misspelled field such as Dissallow (with a "did you mean" hint), or a line without :
path-not-absolutewarningan Allow or Disallow path that does not start with / or *
sitemap-not-absolutewarninga Sitemap value that is not an absolute http(s) URL
all-ai-blockedwarningevery AI training, search and user crawler in the default list is blocked from /
too-largewarningmore than 500 KiB; Google reads only the first 500 KiB
unsupported-directiveinfoCrawl-delay (Google ignores it), Noindex, Host, Clean-param (not part of RFC 9309)
extension-directiveinfoContent-Signal (Cloudflare's Content Signals Policy) or License (RSL): extensions that crawlers without support skip
unknown-agentinfoa misspelled bot token (for example GPTBott or PerplexityUser), or the legacy anthropic-ai / claude-web tokens, which are not among Anthropic's currently documented ones
empty-group, duplicate-agentinfoa User-agent group without rules, or the same token in more than one group
too-many-lines, findings-truncatedinfothe file has more than 20 000 lines, or more than 200 findings

Exit codes: 0 nothing at or above the --fail-on threshold (default warning), 1 findings, 2 usage error or a robots.txt that could not be fetched. A missing robots.txt (404) has no findings.

scan [--limit 25] [--bots a,b|all] [--fail-on none|blocked] [--json] evaluates robots.txt for the URLs in the site's sitemap: the Sitemap: lines of its robots.txt, else /sitemap.xml; a sitemap index is followed one level (at most 5 child sitemaps). Only http(s) URLs on the same host are kept (www. and the bare domain count as different hosts, unless robots.txt redirects from one to the other), without duplicates, and --limit (1 to 200) takes the first ones. .gz sitemaps are reported as skipped. No page is fetched: the only requests are robots.txt and the sitemap files. The output has a table of how many URLs each bot is blocked from, then the blocked URLs per bot (the first 10, then "... and N more"; --json has all). Exit codes: 0 ok, 1 with --fail-on blocked when any checked bot is blocked from any URL, 2 usage or request error, or when no URL could be read from the sitemap.

--fail-onFails when
blockedrobots.txt closes the path for a bot, or the page answers that bot with 401/403/406/451 or a challenge page
any-non-200as above, or any other status (404, 5xx, redirects that end elsewhere) or a failed request

Without --fail-on the exit code is 0 whatever the result. --bots takes tokens or all; the default is 15 bots: the main AI crawlers plus Googlebot and Bingbot. A robots.txt that cannot be fetched (timeout, 5xx, a redirect that is refused or has no target) is reported as unknown, with the reason in robotsTxt.error, and never counts as blocked. Note: this deliberately differs from RFC 9309 §2.3.1.4, where crawlers treat an unreachable robots.txt (5xx) as "disallow everything" (Google does too), so a site whose robots.txt returns 5xx is effectively closed to many bots even though --fail-on blocked passes. Treat unknown as a problem to fix.

Library

import { checkAiAccess, seeAsBot, verifyBotIp, lintRobotsTxt, lintRobotsUrl, scanSite, formatMarkdown, generateRobotsTxt, failingBots } from "crawlerpeek";

const report = await checkAiAccess("https://example.com/pricing", { bots: ["GPTBot", "ClaudeBot"] }); report.bots[0].robots; // { access: "allowed", pathAllowed: true, matchedGroup: "*" } report.bots[0].http; // { status: 200, finalUrl, redirects, contentType, bytes, title, looksBlocked, outcome: "ok", ... } failingBots(report, "blocked"); // ["ClaudeBot"] when it is closed or challenged

await seeAsBot("https://example.com", "PerplexityBot");

await verifyBotIp("66.249.66.1", { bot: "Googlebot" }); // [{ bot: "Googlebot", method: "ip-list", verified: true, detail, source }]

lintRobotsTxt("User-agent: *\nDissallow: /a\n"); // [{ line: 1, severity: "info", code: "empty-group", ... }, { line: 2, severity: "warning", code: "unknown-field", message: '... Did you mean Disallow?' }] await lintRobotsUrl("https://example.com"); // { url, status, state, findings, ... }

const scan = await scanSite("https://example.com", { limit: 50, bots: ["GPTBot"] }); scan.summary.perBot; // [{ bot: "GPTBot", blocked: 3 }] scan.urls[0]; // { url: "https://example.com/private/a", blockedFor: ["GPTBot"] }

formatMarkdown(report, failingBots(report, "blocked")); // GitHub-flavoured Markdown

generateRobotsTxt({ disallow: ["/admin/"], blockBots: ["CCBot"], sitemap: "https://example.com/sitemap.xml" });

generateRobotsTxt names each AI bot explicitly with Allow: /. Disallowed paths are repeated in that group on purpose: a bot with its own group ignores the * group.

MCP server

crawlerpeek mcp speaks the Model Context Protocol over stdio and exposes six read-only tools: check_ai_access, see_as_bot, verify_bot_ip, generate_robots_txt, lint_robots_txt (give a url or the file text) and scan_site (url, limit, bots). Results are cached for 10 minutes per call. No LLM is called; the tools only fetch the URL you give them.

ClientInstall
Claude Codeclaude mcp add --transport stdio crawlerpeek -- npx -y crawlerpeek mcp
Claude Code (plugin: MCP server and skill)/plugin marketplace add crawlerpeek/crawlerpeek, then /plugin install crawlerpeek@crawlerpeek
Claude DesktopDownload crawlerpeek- .mcpb from Releases and open it, or add the JSON below
Codexcodex mcp add crawlerpeek -- npx -y crawlerpeek mcp
VS Codecode --add-mcp '{"name":"crawlerpeek","type":"stdio","command":"npx","args":["-y","crawlerpeek","mcp"]}'
Any other clientthe JSON below

Generic configuration (Claude Desktop, Cursor, Windsurf, Cline and others use this mcpServers shape):

{ "mcpServers": { "crawlerpeek": { "command": "npx", "args": ["-y", "crawlerpeek", "mcp"] } } }

ตัดมาแค่ช่วงต้น อ่านต่อใน repo