lazaretto
Server Details
Verify a skill, tool, or package before an agent installs it, or verify a scan attestation.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- jamesdfinance-dev/lazaretto-mcp
- GitHub Stars
- 0
- Server Listing
- lazaretto-mcp
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.5/5 across 3 of 3 tools scored.
Each tool targets a distinct security function: lockfile dependency checking, hash-based known-bad lookup, and deep artifact analysis. The descriptions clearly differentiate their use cases and limitations, leaving no ambiguity.
Two tools follow a clear verb_noun pattern (check_lockfile, scan_artifact), but known_bad_lookup deviates by using an adjective phrase. All use snake_case, maintaining a mostly consistent style.
With three tools, the server is focused and each tool serves a clear purpose. While more tools could exist for credit management or result retrieval, the count is reasonable for a specialized security scanning server.
The tool set covers the core workflows: lockfile integrity, hash-based threat intelligence, and deep artifact scanning. Minor gaps exist, such as no credit balance check or batch operations, but the essential functions are present.
Available Tools
4 toolscheck_lockfileAInspect
Check every EXACTLY-PINNED dependency in a lockfile against published malicious-package advisories (OSV/OpenSSF). Free, anonymous, one call for the whole tree. Accepts the contents of a package-lock.json, yarn.lock, or pnpm-lock.yaml. 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.
| Name | Required | Description | Default |
|---|---|---|---|
| lockfile | Yes | The full text contents of a package-lock.json, yarn.lock, or pnpm-lock.yaml. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool is free and anonymous, and explains fail-closed behavior: '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.' This provides key behavioral context beyond a simple mutation warning. It does not contradict any annotations, as none exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each purposeful and informative. The first sentence fronts the core purpose. No redundant or vague language exists. Every sentence earns its place, making it highly efficient for an AI agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one required parameter, no output schema), the description adequately covers usage context and output semantics. It explains fail-closed behavior and the meaning of the 'unverified' list, giving agents enough information to interpret results. However, without an output schema, a more explicit listing of return fields (e.g., 'malicious', 'unverified') would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters (only 'lockfile') with a clear description. The description adds value by specifying the accepted formats: 'Accepts the contents of a package-lock.json, yarn.lock, or pnpm-lock.yaml.' This clarifies that the input must be the full text, not a path or URL, which is not explicit in the schema. Since schema coverage is high, baseline is 3, and the description provides meaningful extra detail, earning a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Check every EXACTLY-PINNED dependency in a lockfile against published malicious-package advisories (OSV/OpenSSF).' It specifies the verb 'check', the resource 'dependencies in a lockfile', and the scope 'malicious-package advisories'. This distinguishes it from siblings like 'known_bad_lookup' and 'scan_artifact', which target individual packages or artifacts rather than lockfile trees.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool: 'Free, anonymous, one call for the whole tree.' It also clarifies a limitation: 'Only exact versions can be answered: a range like ^5.0.0 has no definitive answer.' This implies that users should only use this tool for lockfiles with pinned versions. However, it does not explicitly contrast with sibling tools, missing a direct 'when not to use' statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
known_bad_lookupAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sha256 | Yes | 64 hex chars, optionally sha256: prefixed |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and excellently discloses behavior: the set is refreshed daily, the lookup is free and anonymous, and a miss does not imply a clean verdict. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two sentences that front-load the essential action and limitation. Every sentence adds value, and there is no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single parameter, no output schema, and clear explanation of behavior and limitations, the description is fully complete for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully describes the sha256 parameter (64 hex chars, optional prefix). The description does not add additional parameter semantics beyond what the schema provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Check a SHA-256 against Lazaretto's known-bad indicator set') and distinguishes itself from sibling tools like check_lockfile and scan_artifact by focusing specifically on hash lookups against a curated indicator set.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions that the tool is free and anonymous and clarifies the meaning of a miss ('not a clean verdict'). However, it does not explicitly specify when to use this tool versus alternatives like scan_artifact, which might provide broader analysis.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_artifactAInspect
Deterministically analyze a package, repo, skill, or file for malicious behavior (credential theft, data exfiltration, obfuscation, prompt injection aimed at the agent, install scripts) and return a verdict (malicious, flagged, clear, error) with the exact evidence and a hash of what was scanned. Requires prepaid credits presented as an X-API-Key request header; consumes one credit per successful scan. Buy credits at POST https://lazaretto.dev/v1/credits/topup. For a free check, use known_bad_lookup.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | The locator: an npm spec (name@version), a GitHub repo URL, a ClawHub skill id, or a raw file URL. Omit for type=inline. | |
| type | Yes | What kind of artifact ref points at. | |
| depth | No | lookup = known-bad match only; full = full behavioral analysis. | full |
| content | No | Raw file content, required when type=inline. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description fully covers behavioral aspects: deterministic analysis, credit consumption, required header, and output format (verdict, evidence, hash). No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two focused sentences plus credit purchase info. Front-loaded with main purpose. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, description adequately describes return values. Covers all parameters, required header, and credit system. Complete for a scanning tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions. Description adds value by clarifying ref omission for inline type and content requirement. Explains depth enum values beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool analyzes artifacts for malicious behavior and returns a verdict. Distinguishes from sibling 'known_bad_lookup' by noting it as a free alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit context on prepaid credits and suggests known_bad_lookup for free checks. Lacks explicit 'when not to use' but alternative is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_attestationAInspect
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 whether the signature is valid and Lazaretto's, the attested claims (verdict, risk, and the subject the verdict is about), and a contradicted flag if a previously-clear subject is now known-bad. You MUST still confirm the artifact you are about to run matches claims.sub (its sha256, or its package identity).
| Name | Required | Description | Default |
|---|---|---|---|
| attestation | Yes | The compact-JWS attestation string from a scan report. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the burden of behavioral disclosure. It clearly states the tool is free and anonymous, does not rescan, returns specific outputs (signature validity, claims, contradicted flag), and explains the meaning of 'contradicted'. This is rich behavioral context that goes beyond what one would expect, covering side effects, return values, and logical behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core action and then expands with essential context. It is slightly longer than the minimum but every sentence earns its place: the 'free and anonymous' note, return-value summary, and security caveat all add value. Structure is logical and easy to parse. A 5 would require even tighter phrasing with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only one parameter, no annotations, and no output schema, the description does a solid job of explaining return values and prerequisites. It clearly states what the function returns and even explains the 'contradicted' flag. However, it leaves some ambiguity about the exact shape of the return (e.g., is 'valid' a boolean? how are claims nested?). A tiny bit more detail on return structure would make it complete, but as-is it is quite comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage for the single parameter 'attestation', so the description does not need to add much for the parameter itself. The description adds context about where attestations come from (another agent, README, lockfile) and underscores the need to cross-check claims.sub, but it does not elaborate on the compact-JWS format beyond the schema. This is adequate but not exceptional, so a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Verify') and a specific resource ('Lazaretto scan attestation'), immediately clarifying the action. It also distinguishes itself from sibling tools by explicitly stating 'WITHOUT re-scanning or paying', which differentiates it from scan_artifact. This makes the tool's purpose unmistakable and well-scoped.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use this tool: when handed an attestation by another agent, README, or lockfile. It also provides an important caution ('You MUST still confirm the artifact... matches claims.sub'), which is a usage guideline. However, it does not explicitly name alternative tools (e.g., scan_artifact) or state when to avoid this tool, so it misses the 'when-not' dimension that would earn a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityBmaintenanceEnables verification of AI agent identity, authority, and integrity at transaction time, returning signed verdicts for allow, step-up, review, or block.Last updatedMIT
- Alicense-qualityBmaintenanceSecurity scanning for AI agent skills, MCP servers, and agent prompts, returning signed trust scores and detailed findings.Last updatedMIT
- Flicense-qualityBmaintenanceEnables AI agents to validate deliverables (JSON, ZIP, PDF, DOCX) against signed contracts, generating verifiable receipts with Ed25519 signatures.Last updated

EVIDIQ Sentinel MCPofficial
Alicense-qualityBmaintenanceScans remote MCP endpoints, manifests, and agent skills for security threats, providing deterministic scores, verdicts, and signed reports to verify agent infrastructure before trust or payments.Last updatedMIT
Your Connectors
Sign in to create a connector for this server.