CertIndex MCP
ทางการMCP เซิร์ฟเวอร์ certificate-transparency เพียงหนึ่งเดียว ค้นหาใบรับรอง TLS กว่า 2.15B+ ตรวจสอบโดเมนเพื่อการออกใหม่ สตรีม CT firehose ระดับโลกไปยังเอเจนต์ของคุณ
คุณทำอะไรได้บ้างด้วย CertIndex MCP?
- ค้นหาข้อมูลใบรับรองความโปร่งใส — ขอใบรับรอง TLS ที่ถูกจัดทำดัชนีสำหรับโดเมน, CN, ผู้ออกใบรับรอง, SAN หรือสถานะ wildcard ผ่านทาง
search_certificates - ดึงรายละเอียดใบรับรอง — ดึงข้อมูล PEM เต็มรูปแบบและเมตาดาต้าของ CT log สำหรับใบรับรองเดียวโดยใช้ลายนิ้วมือ SHA-256 ผ่านทาง
get_certificate - แจกแจงซับโดเมน — แสดงรายการซับโดเมนที่ไม่ซ้ำกันที่พบใน CT สำหรับโดเมน พร้อมการแบ่งหน้าแบบ cursor ผ่านทาง
get_subdomains - ติดตามการหมดอายุของใบรับรอง — ค้นหาใบรับรองที่กำลังจะหมดอายุภายในจำนวนวันที่ระบุสำหรับโดเมนโดยใช้
get_expiring_certs - รันการสแกนทั่วโลก — ส่งการสแกน substring แบบ async ทั่วทั้งดัชนีสำหรับรูปแบบ CN/SAN ผ่านทาง
submit_global_sweepจากนั้นตรวจสอบผลลัพธ์ด้วยget_sweep_results - ตรวจสอบการใช้งาน API — ตรวจสอบระดับของคุณ การใช้งานปัจจุบัน โควตาที่เหลือ และสิทธิ์ที่ได้รับด้วย
get_usage
เอกสาร
certindex-mcp
เซิร์ฟเวอร์ MCP (Model Context Protocol) ที่เปิดเผยเครื่องมือค้นหา Certificate Transparency ของ CertIndex ให้กับไคลเอนต์ที่รองรับ MCP ทุกประเภท (Claude Desktop, MCP Inspector, Continue และอื่นๆ)
CertIndex รับใบรับรองโดยตรงจากล็อก Certificate Transparency สาธารณะ และให้บริการจากดัชนีของตัวเอง การเติมข้อมูลย้อนหลังทางประวัติศาสตร์ยังอยู่ระหว่างดำเนินการ ดังนั้นผลลัพธ์ โดยเฉพาะใบรับรองที่เก่ากว่า อาจไม่สมบูรณ์ เซิร์ฟเวอร์นี้ ครอบคลุม REST API สาธารณะของ CertIndex เพื่อให้ LLM สามารถถามคำถาม เช่น:
- "แสดงรายการใบรับรอง TLS ที่ CertIndex จัดทำดัชนีสำหรับ
example.com" - "Let's Encrypt เห็นซับโดเมนใดบ้างสำหรับ
mycompany.io" - "แสดงใบรับรองที่หมดอายุภายใน 30 วันข้างหน้าสำหรับ
api.mycompany.io" - "ดึงข้อมูล PEM เต็มรูปแบบและเมตาดาต้าล็อก CT สำหรับ SHA-256
<fingerprint>"
เหตุผลที่เรโพนี้มีอยู่
โมโนเรโพ CertIndex รวมเซิร์ฟเวอร์ MCP (ติดตั้งที่
https://api.ctindex.io/mcp) ที่สื่อสารโดยตรงกับดัชนี Postgres
สำหรับการผลิต แพ็กเกจแบบสแตนด์อโลนนี้เป็น ชิมฝั่งไคลเอนต์ แบบบาง:
มันพูด MCP กับเอดิเตอร์/เอเจนต์ของคุณ และส่งต่อการเรียกเครื่องมือทุกครั้ง
ไปยัง REST API ของ CertIndex ที่โฮสต์ผ่าน HTTPS ผลที่ตามมาสองประการ:
- คุณไม่จำเป็นต้องมีสำเนาของดัชนี — สมัครรับคีย์ API ฟรี ที่ https://ctindex.io แล้วเสร็จสิ้น
- แพ็กเกจมีการพึ่งพาขนาดเล็กมาก (
mcp,httpx,pydantic) — ตรวจสอบง่าย จัดการง่าย ไม่ต้องใช้ไดรเวอร์ฐานข้อมูล
การติดตั้ง
เวอร์ชัน 0.3.0 ใช้ MCP Python SDK 2.x (mcp>=2,<3) และ Python 3.11+
คำสั่งคอนโซล ตัวแปรสภาพแวดล้อม และชื่อเครื่องมือสิบรายการไม่มีการเปลี่ยนแปลง
สำหรับแอปพลิเคชันที่ต้องคง SDK 1.x ไว้ ให้ใช้ certindex-mcp==0.2.1
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 สิบรายการจะปรากฏในถาดเครื่องมือ
เครื่องมือ
เครื่องมือสิบรายการ ตรงกับเซิร์ฟเวอร์ MCP ของ CertIndex ที่โฮสต์แบบ 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) หรือ โหมดเคอร์เซอร์แบบคีย์เซ็ต — ส่ง 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 CertIndex ของคุณ สร้างได้ที่ https://ctindex.io/app/keys |
CERTINDEX_BASE_URL | https://api.ctindex.io | การแทนที่สำหรับการติดตั้งแบบโฮสต์เอง / สเตจกิ้ง |
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 ด้วยทั้ง SDK 2.0.0 และ เวอร์ชัน 2.x ล่าสุดที่อนุญาต นอกจากนี้ยังติดตั้ง wheel ที่สร้างแล้วในสภาพแวดล้อมใหม่ และทดสอบการเริ่มต้น การแจงนับเครื่องมือ และการเรียกผ่าน stdio จริง ฟิกซ์เจอร์ HTTP ทำงานบน loopback; การทดสอบไม่ต้องใช้ข้อมูลประจำตัวสำหรับการผลิต
สัญญาอนุญาต
MIT © ผู้มีส่วนร่วมของ CertIndex