Skip to main content

MCP server exposing CertIndex's Certificate Transparency search tools to any MCP-compatible client.

Project description

certindex-mcp

CI PyPI License: MIT

An MCP (Model Context Protocol) server that exposes CertIndex's Certificate Transparency search tools to any MCP-compatible client (Claude Desktop, the MCP Inspector, Continue, etc.).

CertIndex indexes the full public CT corpus (~5 M certificates, growing ~100 k/day). This server wraps the public CertIndex REST API so an LLM can ask questions like:

  • "List every TLS certificate ever issued for example.com."
  • "What subdomains has Let's Encrypt seen for mycompany.io?"
  • "Show me certs expiring in the next 30 days for api.mycompany.io."
  • "Pull the full PEM and CT log metadata for SHA-256 <fingerprint>."

Why this repo exists

The CertIndex monorepo bundles an MCP server (mounted at https://api.ctindex.io/mcp) that talks directly to the production Postgres index. This standalone package is a thin client-side shim: it speaks MCP to your editor / agent and forwards every tool call to the hosted CertIndex REST API over HTTPS. Two consequences:

  1. You don't need a copy of the index — sign up for a free API key at https://ctindex.io and you're done.
  2. The package has a tiny dependency footprint (mcp, httpx, pydantic) — easy to audit, easy to vendor, no DB drivers.

Install

pip install certindex-mcp

Or with uvx for one-shot use:

uvx certindex-mcp

To install the latest development version from source instead:

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

Quickstart — Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

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

Restart Claude Desktop. The six CertIndex tools (search_certificates, get_certificate, get_domain_certificates, get_subdomains, get_latest_cert, get_expiring_certs) appear in the tool tray.

Quickstart — MCP Inspector

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

Configuration

Env var Default Description
CERTINDEX_API_KEY (required) Your CertIndex API key. Mint one at https://ctindex.io/app/keys
CERTINDEX_BASE_URL https://api.ctindex.io Override for self-hosted deployments / staging
CERTINDEX_TIMEOUT 30 Per-request HTTP timeout (seconds)

Security

Input validation, rate-limit handling, and our supply-chain posture are documented in SECURITY.md. Please report vulnerabilities to security@ctindex.io rather than filing public issues.

Development

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

CI runs on Python 3.11 / 3.12 / 3.13.

License

MIT © CertIndex contributors.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

certindex_mcp-0.1.1.tar.gz (12.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

certindex_mcp-0.1.1-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file certindex_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: certindex_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 12.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for certindex_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 8609741fd5fb59ab760d85ff044e7ecb3e53311916932a711bb8dd7db8a5cba6
MD5 2c738a7911a64e8431a23538ecc6c2fe
BLAKE2b-256 548a30e051754e9584f0578634b281a7acbfc9ee384fd2c328d945f841c82c5b

See more details on using hashes here.

File details

Details for the file certindex_mcp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: certindex_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for certindex_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c3f5526c97b353ab473bfb801d8c98c908ccd3677a453a29f7d564d0eb690903
MD5 73c1c05aca834676f33c60a7e30ca6ff
BLAKE2b-256 81f4548135ed7d72e4a61658407da5aab1966fd2ab1d480af40c55b7d3852d15

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page