CertIndex MCP
ทางการMCP เซิร์ฟเวอร์ certificate-transparency เพียงหนึ่งเดียว ค้นหาใบรับรอง TLS กว่า 2.15B+ ตรวจสอบโดเมนเพื่อการออกใหม่ สตรีม CT firehose ระดับโลกไปยังเอเจนต์ของคุณ
คุณทำอะไรได้บ้างด้วย 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
เซิร์ฟเวอร์ 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 ผลลัพธ์สองประการ:
- คุณไม่จำเป็นต้องมีสำเนาดัชนี — สมัครขอ API key ฟรีที่ https://ctindex.io ก็เสร็จแล้ว
- แพ็คเกจมีการพึ่งพาแพ็คเกจน้อยมาก (
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-256 | sha256, 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_URL | https://api.ctindex.io | การแทนที่สำหรับการปรับใช้ด้วยตนเอง / staging |
CERTINDEX_TIMEOUT | 30 | หมดเวลาคำขอ 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