Skip to main content
Glama

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.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsA

Average 4.5/5 across 3 of 3 tools scored.

Server CoherenceA
Disambiguation5/5

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.

Naming Consistency4/5

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.

Tool Count4/5

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.

Completeness4/5

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 tools
check_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
lockfileYesThe full text contents of a package-lock.json, yarn.lock, or pnpm-lock.yaml.
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
sha256Yes64 hex chars, optionally sha256: prefixed
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
refNoThe locator: an npm spec (name@version), a GitHub repo URL, a ClawHub skill id, or a raw file URL. Omit for type=inline.
typeYesWhat kind of artifact ref points at.
depthNolookup = known-bad match only; full = full behavioral analysis.full
contentNoRaw file content, required when type=inline.
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
attestationYesThe compact-JWS attestation string from a scan report.
Behavior5/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    -
    quality
    B
    maintenance
    Security scanning for AI agent skills, MCP servers, and agent prompts, returning signed trust scores and detailed findings.
    Last updated
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    Scans 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 updated
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.