mcpbeat Sign in

Lazaretto MCP Server

by jamesdfinance-dev Your server? Claim it
answering

Lazaretto is answering right now. Last checked 13 min ago. 90 installs a week from npm. It exposes 10 tools. Last commit 2 Nov 2026.

Free lockfile malware check plus paid behavioral scan of packages, agent skills and MCP tools.

Installs per day peak 268 · avg 25 · +0% w/w
a month agotoday
Uptime history 91 days of history · worst day 97%
91 days agonow
100.0%
Uptime 24h
91 of 91 checks
10
Tools
read from the server
535 ms
Response time
average over 24h
90
Installs / week
npm and PyPI

What changed 23

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 27 August 2026. No other catalogue keeps this.

2 Nov 2 tool descriptions were rewritten find_mcp_servers, verify_attestation
1 Nov a tool description was rewritten find_attestation
30 Oct a tool appeared find_mcp_servers
27 Oct a tool description was rewritten scan_artifact
27 Oct a tool changed the parameters it asks for scan_artifact
23 Sep 2 tools changed the parameters they ask for check_lockfile, scan_artifact
23 Sep 2 tool descriptions were rewritten check_lockfile, find_attestation
23 Sep a tool appeared get_free_key
22 Sep a tool description was rewritten scan_lockfile_deep
22 Sep a tool changed the parameters it asks for scan_lockfile_deep
and 10 more, back to 27 August 2026

What the code does

We read the source, 1 h ago · tools taken from the live server · rules 995398eba69f

Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

Package points at a different repository jamesdfinance-dev/lazaretto-mcp
пакет lazaretto-mcp ссылается на jamesdfinance-dev/lazaretto

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

This code can reach further than it looks

We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 13 min ago.

run in your terminal
claude mcp add lazaretto --transport http https://lazaretto.dev/mcp
Settings → Connectors → Add custom connector, then paste this address
https://lazaretto.dev/mcp
~/.codex/config.toml
[mcp_servers.lazaretto]
url = "https://lazaretto.dev/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "lazaretto": {
      "url": "https://lazaretto.dev/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "lazaretto": {
      "type": "http",
      "url": "https://lazaretto.dev/mcp"
    }
  }
}

Available tools 10

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

scan
scan_artifact
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. Metered: present an X-API-Key holding credits. If you hold a wallet instead of an account, pay per call over x402 at POST https://lazaretto.dev/v1/scan ($0.03 USDC on Base, no signup). A free key with a daily allowance is available at POST https://lazaretto.dev/v1/trial. For checks that are always free, use check_lockfile or known_bad_lookup.
scan_lockfile_deep
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. Each result carries a verdict, a risk level, the ids of the rules that fired and a risk summary. It does not carry file-and-line evidence: for that, run scan_artifact on the package you want to look at. This is the paid counterpart to check_lockfile, which only matches names and versions against advisories. Metered: one credit per package that returns a verdict, nothing for one that errors. Capped at 25 packages per call, in lockfile order, so calling it again with the same lockfile rescans the same first 25. To continue, pass the not_scanned.packages list from the result (name@version strings) as `packages` instead of `lockfile`. Use it before installing a tree you have not vetted.
scan_mcp_server
Check an MCP server BEFORE you connect to it. Asks the server to introduce itself and list its tools, then analyzes the text it hands an agent: tool names, descriptions, parameter schemas and server instructions. Catches tool poisoning (hidden directives that point the agent at private keys or at an agent config file), parameters whose real purpose is to carry secrets or your conversation out, standing orders about ANOTHER server's tools (cross-server shadowing), and invisible-unicode payloads. Returns a verdict with the exact tool and line as evidence, plus a hash of what was advertised, so a server that changes its tools later does not inherit the old verdict. Metered like scan_artifact: an X-API-Key with credits, or pay per call over x402 at POST https://lazaretto.dev/v1/scan with target type mcp_server ($0.03 USDC on Base, no signup).
mcp
check_mcp_tools
Check tool definitions you ALREADY HOLD, with no network call to anyone. Most MCP servers run locally over stdio and have no endpoint that can be reached, so this is the only way to check them, and your client already read their tool list at startup. Paste that JSON: a whole tools/list response, a {"tools":[...]} object, or a bare array. Analyzes the same text as scan_mcp_server and applies the same rules, so a payload cannot be caught over the wire and missed here. Detects tool poisoning (hidden directive blocks, orders pointing the agent at private keys or an agent config file), parameters whose real purpose is to carry secrets or your conversation out, standing orders about ANOTHER server's tools, and invisible-unicode payloads. Metered like scan_artifact.
find_mcp_servers
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. Only servers whose tools we read with nothing matching our tool-poisoning rules, or live servers that ask you to sign in before listing tools (said plainly), are returned; servers we flagged or could not reach are left out. Remote servers only: for a local stdio server, check its tool list with check_mcp_tools. Use it whenever you need a capability you do not have yet.
attestation
find_attestation
Ask whether anyone has already attested an artifact, BEFORE you install it or pay to scan it. Free and anonymous. Give a package identity like "[email protected]", an MCP server endpoint URL, or a sha256 content hash. Returns the signed verdict if one exists, which you can verify offline against https://lazaretto.dev/.well-known/jwks.json, plus freshness: whether the corpus has since contradicted it and whether it was attested under an older rules version. A miss is not a verdict, it only means nobody has scanned this yet. When nobody has attested an npm package identity, the answer falls back to an identity check against published advisories: `answer: "identity_check"` with an `identity_check` object, and `found` still false, because an identity check is unsigned, looks at the identity rather than the code, and absence from the corpus is not a verdict. `identity_check.listed_as_malware: true` comes back as an error result, so a published malware version cannot be read as "nothing found"; `null` there means the corpus could not be consulted, which is unchecked and never clear.
free
get_free_key
Get a free developer key for the metered tools on this server, without leaving this session. No payment, no account, no card. The key holds a small daily allowance that refills every day, and one credit is consumed per verdict, nothing on an error. Present it as the X-API-Key header on this MCP connection, or hand it to whoever configures your client. Throttled exactly as the equivalent HTTP endpoint is: one key per source per window, so calling this again shortly after will be refused rather than minting a second key. Store the key when you get it: it is shown once and cannot be recovered.
known
known_bad_lookup
Check a SHA-256 against Lazaretto's known-bad indicator set (refreshed daily from abuse.ch). Free and anonymous. A miss only means this exact hash is not in the indicator set; it is not a clean verdict on the artifact.
lockfile
check_lockfile
Check EXACTLY-PINNED npm dependencies against published malicious-package advisories (OSV/OpenSSF). Free, anonymous, one call for the whole set. Give EITHER `lockfile`, the full text of a package-lock.json, yarn.lock or pnpm-lock.yaml, OR `packages`, a list of "name@version" strings, which is the one to reach for when you only care about a few dependencies or when an 800-package tree would not fit in your context. Give one or the other, never both. Only exact versions can be answered: a range like ^5.0.0 has no definitive answer because a compromised release usually sits between clean ones. Fail-closed: anything that could not be checked is returned in `unverified`, so an empty `malicious` list is an all-clear only when `unverified` is empty too AND `truncated` is false. `truncated: true` means the lockfile ran past the per-request package limit and the packages past it went into NEITHER list: they were never looked at, `checked` counts only the ones that were, and the rest are unchecked rather than clean. When that happens, send the remainder as `packages` (name@version strings) in a second call, or split the lockfile by workspace, before telling anyone the tree is clean.
verify
verify_attestation
Verify a Lazaretto scan attestation that another agent (or a README, or a lockfile) handed you, WITHOUT re-scanning or paying. Free and anonymous. Returns signature validity and the signed claims, including verdict, risk and subject. For a clear or flagged SHA-256 subject only, checks the current known-bad indicator set and includes `contradicted` when it matches. That field is otherwise omitted; its absence is not a freshness or safety verdict. Package identities are not rechecked here. A valid signature authenticates an earlier claim, not current safety. The artifact's hash or package identity must match `claims.sub` for the claim to apply.

Endpoints

URLTransportStateLatencyChecked
https://lazaretto.dev/mcp streamable-http answering 277 ms 13 min ago

Alternatives to Lazaretto

same job, measured the same way
SaveSaveSaveSave
by stefantsezarov

Check messages, npm packages and crypto addresses before acting. Read-only scanner tools.

70 installs/wk local only
I
IGNOREO
by ignoreo

Paid tools for AI agents over x402: privacy scan, payment-address check, locks, seller marketplace

26 tools answering
H/M Agent Surface - Free MCP Tools
by hogarmas

Five free MCP tools, including proof-before-payment preview, plus one authorized x402 pack.

7 tools answering
FHI MCP Server Security Audit
by workers-fhi-llc-1118-polished-truth-c514

Free payment guide and Base-USDC x402 MCP security, package, domain, and SEC tools.

7 tools answering
ServerScan
by serverscan

PCI ASV scan prices, SAQ check, free payment page check, PCI guides and scan-failure fixes.

6 tools answering
AgentBadge
by spreadzp

AgentBadge MCP — agent-readiness scan, passport, discovery, marketplace and circle-payments tools

158 installs/wk local only
Mpp32 MCP Server
by mpp32

Payment layer for AI agents. One MCP, five protocols, thousands of paid APIs your agent can call.

169 installs/wk local only
P
PickleCheck
by picklecheck

Scam, x402 endpoint and payment checks for AI trading agents on Base. Free calls daily, then x402.

3 tools answering

Lazaretto — questions

Answers built from our own checks of this server.

What can Lazaretto do?
It exposes 10 tools, read directly from the server on our last check. Among them: check_lockfile, check_mcp_tools, find_attestation, find_mcp_servers, get_free_key, known_bad_lookup and 4 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is Lazaretto mostly used for?
Its tools cluster around scan and mcp. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is Lazaretto working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 535 ms. The bar chart above shows every period we have measured.
How do I connect Lazaretto?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Lazaretto need an API key?
No. Lazaretto completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 10 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Lazaretto?
It answers our handshake in 535 ms on average, which is faster than 22% of all working MCP servers we measure. That is on the slow side — worth knowing if the tool sits inside an interactive loop. The comparison comes from our own checks across the whole registry, every 15 minutes.
How many people use Lazaretto?
The npm package lazaretto-mcp was installed 90 times in the last week. Week over week that is +0%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Lazaretto open source?
The code is open source: it is published under the MIT licence, written in JavaScript, 1 stars on GitHub and 1 open issue. The licence covers the code in the repository, not the hosted service at lazaretto.dev, which runs on its operator's own terms.