CertIndex MCP

ทางการ

MCP เซิร์ฟเวอร์ certificate-transparency เพียงหนึ่งเดียว ค้นหาใบรับรอง TLS กว่า 2.15B+ ตรวจสอบโดเมนเพื่อการออกใหม่ สตรีม CT firehose ระดับโลกไปยังเอเจนต์ของคุณ

GitHubลองใช้ MCP นี้ผู้สนับสนุน

คุณทำอะไรได้บ้างด้วย CertIndex MCP?

  • ค้นหาใบรับรองตามโดเมนหรือผู้ออกใบรับรอง — ค้นหาใบรับรอง TLS ที่ตรงกับโดเมน CN ผู้ออกใบรับรอง หรือรูปแบบ SAN โดยใช้ search_certificates
  • ดึงข้อมูลใบรับรองตามลายนิ้วมือ — ดึงข้อมูล PEM แบบเต็มและบันทึก CT log สำหรับลายนิ้วมือ SHA-256 ที่ระบุด้วย get_certificate
  • แสดงรายการใบรับรองทั้งหมดสำหรับโดเมน — รับใบรับรองทั้งหมดที่เคยออกให้สำหรับโดเมนที่แน่นอนผ่าน get_domain_certificates โดยสามารถกรองเฉพาะใบรับรองที่ยังมีผลบังคับใช้ในปัจจุบัน
  • แจกแจงโดเมนย่อยที่พบใน CT logs — ค้นหาโดเมนย่อยที่ไม่ซ้ำกันที่พบสำหรับโดเมนหนึ่ง โดยใช้การแบ่งหน้าตามเคอร์เซอร์ใน get_subdomains
  • ค้นหาใบรับรองที่กำลังจะหมดอายุ — ระบุใบรับรองสำหรับโดเมนที่หมดอายุภายในจำนวนวันที่กำหนด โดยใช้ get_expiring_certs
  • เรียกใช้การสแกนดัชนีทั่วโลก — ส่งการค้นหาสตริงย่อยแบบอะซิงโครนัสทั่วทั้งคลัง CT โดยใช้ CN หรือ SAN ด้วย submit_global_sweep จากนั้นตรวจสอบผลลัพธ์ด้วย get_sweep_results

เอกสาร

certindex-mcp

CI PyPI License: MIT

เซิร์ฟเวอร์ MCP (Model Context Protocol) ที่เปิดเผยเครื่องมือค้นหา Certificate Transparency ของ CertIndex ให้กับไคลเอนต์ที่เข้ากันได้กับ MCP ทุกตัว (Claude Desktop, MCP Inspector, Continue ฯลฯ)

CertIndex จัดทำดัชนีคลังข้อมูล CT สาธารณะทั้งหมด (ใบรับรองประมาณ 5 ล้านใบ เพิ่มขึ้น ประมาณ 100,000 ใบต่อวัน) เซิร์ฟเวอร์นี้ครอบคลุม REST API สาธารณะของ CertIndex เพื่อให้ LLM สามารถถามคำถามเช่น:

  • "แสดงรายการใบรับรอง TLS ทั้งหมดที่เคยออกให้สำหรับ example.com"
  • "Let's Encrypt เห็นซับโดเมนอะไรบ้างสำหรับ mycompany.io"
  • "แสดงใบรับรองที่จะหมดอายุใน 30 วันข้างหน้าสำหรับ api.mycompany.io"
  • "ดึง PEM แบบเต็มและข้อมูลเมตาของ CT log สำหรับ SHA-256 <fingerprint>"

เหตุผลที่ repo นี้มีอยู่

CertIndex monorepo รวมเซิร์ฟเวอร์ MCP (ติดตั้งที่ https://api.ctindex.io/mcp) ที่พูดคุยโดยตรงกับดัชนี Postgres สำหรับใช้งานจริง แพ็คเกจแบบสแตนด์อโลนนี้เป็นชิมฝั่งไคลเอนต์แบบบาง: มันพูด MCP กับเอดิเตอร์/เอเจนต์ของคุณ และส่งต่อการเรียกใช้เครื่องมือทุกครั้งไปยัง CertIndex REST API ที่โฮสต์ผ่าน HTTPS ผลลัพธ์สองประการ:

  1. คุณไม่จำเป็นต้องมีสำเนาดัชนี — สมัครขอ API key ฟรีที่ https://ctindex.io ก็เสร็จแล้ว
  2. แพ็คเกจมีการพึ่งพาแพ็คเกจน้อยมาก (mcp, httpx, pydantic) — ตรวจสอบง่าย, รวมเข้ากับโปรเจกต์ง่าย, ไม่มีไดรเวอร์ฐานข้อมูล

การติดตั้ง

pip install certindex-mcp

หรือใช้กับ uvx สำหรับการใช้งานครั้งเดียว:

uvx certindex-mcp

หากต้องการติดตั้งเวอร์ชันพัฒนาล่าสุดจากซอร์สแทน:

pip install git+https://github.com/certindex/certindex-mcp

เริ่มต้นใช้งานอย่างรวดเร็ว — Claude Desktop

เพิ่มลงใน ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) หรือ %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "certindex": {
      "command": "uvx",
      "args": ["certindex-mcp"],
      "env": {
        "CERTINDEX_API_KEY": "ctx_live_..."
      }
    }
  }
}

รีสตาร์ท Claude Desktop เครื่องมือทั้งสิบของ CertIndex จะปรากฏในถาดเครื่องมือ

เครื่องมือ

เครื่องมือสิบรายการ ตรงกับเซิร์ฟเวอร์ CertIndex MCP ที่โฮสต์แบบ 1:1:

เครื่องมือสิ่งที่ทำพารามิเตอร์ที่สำคัญ
search_certificatesค้นหาดัชนี CT ตามโดเมน, CN, ผู้ออกใบรับรอง, SAN, ความถูกต้อง หรือสถานะไวลด์การ์ดdomain, cn, issuer, san, expired, is_wildcard, page/limit
get_certificateดึงข้อมูลใบรับรองเดี่ยวด้วยลายนิ้วมือ SHA-256sha256, include_enrichment
get_domain_certificatesใบรับรองทุกใบที่เคยออกให้สำหรับโดเมนที่ตรงกันทุกประการvalid_only, include_enrichment, include_signals (แผนแบบชำระเงิน), page/limit
get_subdomainsแจกแจงซับโดเมนที่ไม่ซ้ำกันที่เห็นใน CTออฟเซ็ต (page/limit) หรือ โหมดเคอร์เซอร์ keyset — ส่ง cursor="" เพื่อเริ่มต้น จากนั้นป้อนกลับ next_cursor ของแต่ละการตอบสนอง
get_latest_certใบรับรองที่ถูกต้องล่าสุดสำหรับโดเมนinclude_enrichment, include_signals, include_precerts (ให้ใบรับรองล่วงหน้าแข่งขันเพื่อเป็น "ล่าสุด")
get_expiring_certsใบรับรองสำหรับโดเมนที่จะหมดอายุภายใน days วันdays
submit_global_sweepส่งการกวาด CN/SAN แบบไม่มีโดเมนแบบอะซิงโครนัสของดัชนีทั้งหมด (POST /v1/sweeps)cn/san_contains (3 ตัวอักษรขึ้นไป ต้องมีอย่างน้อยหนึ่งตัว), issuer, is_wildcard, is_precert, expired, first_seen_*/not_after_* ขอบเขตวันที่, strict_attribution, resume_token (การดำเนินการต่อหลังจากถึงขีดจำกัดผลลัพธ์)
get_sweep_resultsโพลงานกวาดและแบ่งหน้าผลลัพธ์เมื่อเสร็จสิ้น (GET /v1/sweeps/{id})sweep_id, page/limit (สูงสุด 1,000)
get_usageระดับของผู้เรียก, การใช้งานปัจจุบัน, โควต้าที่เหลือ และสิทธิ์
get_historical_backfill_statusตรวจสอบ / เริ่มการเติมข้อมูลประวัติเชิงลึกแบบชำระเงินสำหรับโดเมนdomain

เริ่มต้นใช้งานอย่างรวดเร็ว — MCP Inspector

export CERTINDEX_API_KEY=ctx_live_...
npx @modelcontextprotocol/inspector uvx certindex-mcp

การกำหนดค่า

ตัวแปรสภาพแวดล้อมค่าเริ่มต้นคำอธิบาย
CERTINDEX_API_KEY(จำเป็น)API key CertIndex ของคุณ สร้างได้ที่ https://ctindex.io/app/keys
CERTINDEX_BASE_URLhttps://api.ctindex.ioการแทนที่สำหรับการปรับใช้ด้วยตนเอง / staging
CERTINDEX_TIMEOUT30หมดเวลาคำขอ HTTP ต่อคำขอ (วินาที)

ความปลอดภัย

การตรวจสอบอินพุต, การจัดการขีดจำกัดอัตรา และแนวทางห่วงโซ่อุปทานของเรา มีเอกสารใน SECURITY.md โปรดรายงานช่องโหว่ ไปที่ security@ctindex.io แทนที่จะยื่นปัญหาแบบสาธารณะ

การพัฒนา

git clone https://github.com/certindex/certindex-mcp
cd certindex-mcp
pip install -e ".[dev]"
pytest

CI ทำงานบน Python 3.11 / 3.12 / 3.13

ใบอนุญาต

MIT © ผู้มีส่วนร่วม CertIndex