{"name":"lazaretto","description":"Deterministic pre-install verification for npm packages, AI agent skills and MCP tools. The free lockfile check matches every exactly pinned dependency against OSV and OpenSSF malicious-package advisories with no account. A paid scan adds behavioral analysis with file-and-line evidence.","version":"1.0.0-base","provider":{"organization":"Meridian Bridge Advisory LLC d/b/a Lazaretto","url":"https://lazaretto.dev"},"supportedInterfaces":[{"url":"https://lazaretto.dev/mcp?ref=cards","protocolBinding":"https://modelcontextprotocol.io/specification/2025-06-18/basic/transports","protocolVersion":"2025-06-18"}],"capabilities":{"streaming":false,"pushNotifications":false,"extendedAgentCard":false},"defaultInputModes":["application/json"],"defaultOutputModes":["application/json"],"documentationUrl":"https://lazaretto.dev/add","iconUrl":"https://lazaretto.dev/icon.svg","securitySchemes":{"apiKey":{"apiKeySecurityScheme":{"location":"header","name":"X-API-Key","description":"Only the metered tools use it. The free tools need no key."}}},"skills":[{"id":"known_bad_lookup","name":"Known-bad hash lookup (free)","description":"Check a SHA-256 against Lazaretto's known-bad indicator set (refreshed daily from abuse.ch).","tags":["security","supply-chain","mcp","free"]},{"id":"check_lockfile","name":"Lockfile malware check (free, whole tree)","description":"Check EXACTLY-PINNED npm dependencies against published malicious-package advisories (OSV/OpenSSF).","tags":["security","supply-chain","mcp","free"],"examples":["Is chalk@5.6.1 malware?","Any bad dependencies in this package-lock.json?"]},{"id":"scan_artifact","name":"Full behavioral scan (metered)","description":"Deterministically analyze a package, repo, AI model, skill, or file for malicious behavior (credential theft, data exfiltration, obfuscation, prompt injection aimed at the agent, install scripts, model files that run code on load) and return a verdict (malicious, flagged, clear, error) with the exact evidence and a hash of what was scanned.","tags":["security","supply-chain","mcp","metered"],"examples":["What does this package do when installed?"]},{"id":"scan_lockfile_deep","name":"Deep scan a whole lockfile (metered, one credit per package)","description":"Behaviorally scan the exactly-pinned dependencies in a lockfile, not just their identities: reads the code of each package and screens for credential theft, exfiltration, obfuscation, prompt injection and install-time droppers.","tags":["security","supply-chain","mcp","metered"]},{"id":"scan_mcp_server","name":"Scan an MCP server before connecting (metered)","description":"Check an MCP server BEFORE you connect to it.","tags":["security","supply-chain","mcp","metered"],"examples":["Should I connect to this MCP server?"]},{"id":"check_mcp_tools","name":"Check tool definitions you already have (metered, no network)","description":"Check tool definitions you ALREADY HOLD, with no network call to anyone.","tags":["security","supply-chain","mcp","metered"]},{"id":"find_mcp_servers","name":"Find an MCP server for a job (free)","description":"Find an MCP server for a job, free and with no key: describe what you need (\"postgres\", \"send slack messages\", \"browser automation\") and get matching servers from the official MCP registry, each with its endpoint, the command to add it to Claude Code, its tools, and what Lazaretto's latest read found.","tags":["security","supply-chain","mcp","free"],"examples":["Find me an MCP server for postgres."]},{"id":"find_attestation","name":"Find an existing attestation (free)","description":"Ask whether anyone has already attested an artifact, BEFORE you install it or pay to scan it.","tags":["security","supply-chain","mcp","free"],"examples":["Is left-pad listed as malware?","Has anyone already scanned lodash@4.17.21?"]},{"id":"verify_attestation","name":"Verify a scan attestation (free)","description":"Verify a Lazaretto scan attestation that another agent (or a README, or a lockfile) handed you, WITHOUT re-scanning or paying.","tags":["security","supply-chain","mcp","free"],"examples":["Another agent gave me this token. Is it real?"]},{"id":"get_free_key","name":"Get a free developer key (free)","description":"Get a free developer key for the metered tools on this server, without leaving this session.","tags":["security","supply-chain","mcp","free"]}],"homepage":"https://lazaretto.dev","endpoints":{"scan":"POST /v1/scan","scan_batch":"POST /v1/scan/batch","lockfile":"POST /v1/lockfile","check":"POST /check","known_bad":"GET /v1/known-bad/{sha256}","trial":"POST /v1/trial","rules":"GET /v1/rules","health":"GET /v1/health","mcp":"POST /mcp"},"mcp":{"transport":"streamable-http","url":"https://lazaretto.dev/mcp?ref=cards","tools":["known_bad_lookup","check_lockfile","scan_artifact","scan_lockfile_deep","scan_mcp_server","check_mcp_tools","find_mcp_servers","find_attestation","verify_attestation","get_free_key"],"install":{"url":"https://lazaretto.dev/mcp?ref=cards","transport":"streamable-http","needs_key":false,"add_commands":{"claude_code":"claude mcp add --transport http --scope user lazaretto \"https://lazaretto.dev/mcp?ref=cards\"","vscode":"code --add-mcp '{\"name\":\"lazaretto\",\"type\":\"http\",\"url\":\"https://lazaretto.dev/mcp?ref=cards\"}'","codex":"codex mcp add lazaretto --url \"https://lazaretto.dev/mcp?ref=cards\"","gemini_cli":"gemini mcp add --transport http --scope user lazaretto \"https://lazaretto.dev/mcp?ref=cards\""},"json_config":{"mcpServers":{"lazaretto":{"url":"https://lazaretto.dev/mcp?ref=cards"}}},"first_tool_call":{"name":"check_lockfile","arguments":{"packages":["chalk@5.6.1"]}},"every_client":"https://lazaretto.dev/add"}},"free":{"lockfile_check":"POST https://lazaretto.dev/v1/lockfile","detail":"Check every pinned dependency in a lockfile against known-malicious package advisories. No key, no payment.","one_liner":"curl -s https://lazaretto.dev/check --data-binary @package-lock.json","trial":"POST https://lazaretto.dev/v1/trial for a free key with a daily allowance."},"paid":{"per_artifact":{"endpoint":"POST https://lazaretto.dev/v1/scan","price_usdc":"0.03","detail":"Behavioral scan of one artifact with file-and-line evidence."},"whole_tree":{"endpoint":"POST https://lazaretto.dev/v1/scan/batch","mcp_tool":"scan_lockfile_deep","pricing":"one credit per package that returns a verdict, nothing for one that errors","max_packages_per_call":25,"detail":"Behavioral scan of every pinned dependency in a lockfile, worst verdict first."},"credits":{"endpoint":"POST https://lazaretto.dev/v1/credits/topup","bundles":{"starter":"$3 = 150 scans ($0.020/scan)","pro":"$12 = 700 scans ($0.017/scan)","scale":"$25 = 1600 scans ($0.016/scan)"}},"x402":{"detail":"Pay per call with a wallet, no account: the 402 carries the challenge.","network":"base"}},"auth":["X-API-Key","x402"],"documentation":{"terms":"https://lazaretto.dev/terms","privacy":"https://lazaretto.dev/privacy","disclaimer":"https://lazaretto.dev/disclaimer","api":"https://lazaretto.dev/docs/api","llms_txt":"https://lazaretto.dev/llms.txt","llms_full_txt":"https://lazaretto.dev/llms-full.txt","add":"https://lazaretto.dev/add","agents":"https://lazaretto.dev/agents","developers":"https://lazaretto.dev/developers","evidence":"https://lazaretto.dev/caught","rules":"https://lazaretto.dev/v1/rules","security_txt":"https://lazaretto.dev/.well-known/security.txt"},"payments":{"protocol":"x402","network":"base","caip2":"eip155:8453","x402Versions":[2,1],"discovery":"/.well-known/x402"},"openapi":"https://lazaretto.dev/openapi.json"}