AI agents & MCP
@blursec/mcp turns the SDK into a Model Context Protocol
server, so AI agents — Claude, GitHub Copilot, Cursor, your own agent loop —
can query the stealer-log database and triage sessions as tools.
It follows the same non-negotiables as the SDK: zero runtime dependencies,
k-anonymity (only a 10-hex-char SHA-256 prefix leaves the machine), and
explicit fail-open signaling.
When to reach for it
- Security copilots / SOC chatbots — “is
[email protected]’s password in any stealer log?” becomes a tool call instead of a dashboard hunt. - Incident-response agents — paste a suspect session token, get
tokenType,compromised, severity, and a recommended action back. - CI / staging audits — let an agent sweep seeded test accounts via
blursec_check_hashwithout any plaintext secret entering the model context.
/login hot path. Agents add seconds of latency;
the SDK’s 1500 ms credential check belongs in your server code, not behind an
LLM.
Setup
Install once (or rely onnpx):
Claude Desktop / Claude Code
VS Code (GitHub Copilot agent mode)
.vscode/mcp.json:
Any other MCP host
The binary isblursec-mcp; it speaks MCP over stdio (newline-delimited
JSON-RPC). Point your host at the command and supply the env vars.
The tools
Every check returns the same structured result the SDK gives application
code:
leaked, severity, recommendedAction, firstSeen, sources,
failedOpen. Tool descriptions instruct the model to treat
failedOpen: true as unknown, never as safe.
What’s intentionally missing
auth.rotate is not exposed. It revokes the live API key instantly — an
autonomous agent calling it by mistake would disable leak protection for the
whole integration. Rotate keys from your own tooling, with a human in the
loop.
Example agent session
User: We got a phishing report for [email protected]. Can you check if her current session is compromised? Token:eyJhbGciOi...Agent: (callsblursec_verify_session) The session token matches a stealer-log entry first seen 2026-06-08 across 3 sources, severity high, recommended action force_reset. You should revoke her sessions and force a password reset.
Embedding without stdio
BlursecMcpServer is exported for in-process hosting (custom transports,
tests, serverless wrappers):
Where AI does not belong
Two of the SDK’s invariants double as AI-integration rules:- Never put an LLM on the credential-check hot path. The 1500 ms
timeout and fail-open behavior exist because this runs in front of
/login. AI belongs before (risk-model-drivenseverityActions) or after (triage, remediation, reporting) the check. - Never let raw credentials reach a model. Hash first
(
hashCredential, thenblursec_check_hash) or scrub (scrubPII) — prompts and traces count as “leaving the process”.

