Skip to content

Every capability, from the command line.

The threat graph, IOCs, dark web feeds, ransomware tracking and CVE enrichment, reachable as a REST API, a tc command, or a tool an AI agent can call. Everything the UI does, scriptable.

macOS, Linux and Windows · Python 3.10+ · CLI and API keys included on every plan, Free included (read-only scopes).

Three ways to reach the same platform.

The threat graph, the entity engine, the scoring and the dark-web feeds, wherever your team builds.

REST API

Build whatever you need.

70+ endpoints under /api/public/v1/*: search, cluster detail, IOC export, entity graph, ransomware victims, CVE enrichment.

REST API reference →

CLI · tc

Script and compose.

The full read surface as commands. Clean JSON to stdout, NDJSON via --watch, stdin chaining with -. Drop-in for cron, CI, and shell pipelines. pipx install threatcluster-cli.

CLI reference →

AGENT TOOL

Inside the conversation.

Claude Code, Cursor, Aider, and any agent that runs a shell can call tc directly. For typed tool calls (Claude API, OpenAI function calls, LangChain), wrap a command in a Python adapter. Scoped credentials, request budgets, 15-min bearer TTL.

Or skip the shell: the MCP server gives Claude Desktop, Claude Code, Cursor and VS Code the same ten tools, with the credit cost of every call reported back to the model.

Agent keys & scopes →

All three surfaces share the same authentication, scopes, and audit trail.

A credential model built for when a model holds the key.

Designed for the case where an LLM holds the key.

Short-lived bearer tokens

Agents never hold a long-lived secret. A 15-minute bearer JWT is minted from your API key at /api/auth/agent/token and expires on its own.

Scoped, and downgraded further

A key carries only the scopes its tier allows, and a sub-process gets a strictly narrower scope than its parent. A spawned tool can never widen its own access.

Per-session request budgets

TC_MAX_REQUESTS caps how much a single session can read, so a runaway loop hits a ceiling instead of your rate limit or your bill.

Keyring storage, no plaintext HTTP

Credentials live in the OS keyring, not a dotfile. The client refuses to send them over plaintext HTTP, so a misconfigured endpoint fails closed.

The command set.

The command groups mirror the platform's read surface end-to-end, same shape as the underlying REST API.

READ · CORE
tc search tc threats list tc threats get tc threats iocs tc threats stix tc entities search tc entities trending tc vulns list tc vulns get
FEEDS · DARK WEB · IOC
tc iocs feed tc iocs export tc darkweb ransomware tc darkweb keyword-hits tc darkweb trends tc feeds list tc feeds get tc cluster open

Full reference at /docs/cli. Every command takes --help.

Build with the platform.

A free key covers all three surfaces.