Skip to main content
Glama

Server Quality Checklist

83%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.3

  • Disambiguation5/5

    Each tool targets a distinct operation: dependency analysis, batch witnessing, repo readiness check, ledger queries, fleet search, health dashboard, attestation verification, and full single-repo witnessing. No two tools have overlapping purposes.

    Naming Consistency4/5

    All tools share the 'sswp_' prefix. Most follow a verb_noun pattern (e.g., sswp_analyze_deps, sswp_bulk_witness, sswp_check_repo). Minor exceptions: sswp_ledger (noun-only) and sswp_verify (verb-only) break the pattern slightly, but the overall naming is predictable and clear.

    Tool Count5/5

    With 8 tools covering pre-checks, dependency analysis, single/batch witnessing, verification, registry queries, and audit trail, the count is well-scoped for a supply-chain security server. Each tool earns its place without redundancy.

    Completeness5/5

    The tool set covers the full attestation lifecycle: pre-check (sswp_check_repo), analysis (sswp_analyze_deps), single and batch witnessing (sswp_witness, sswp_bulk_witness), verification (sswp_verify), and registry/ledger queries (sswp_node_search, sswp_registry_health, sswp_ledger). No obvious gaps for the intended domain.

  • Average 4.6/5 across 8 of 8 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is failing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • This repository includes a glama.json configuration file.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Beyond annotations (readOnlyHint=true, destructiveHint=false), the description adds critical behavioral context: the ledger is 'append-only SHA-256 hash chain', 'cryptographically verifiable', and 'any altered or removed entry breaks the chain'. This informs the agent of immutable and security properties.

    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 four sentences, front-loaded with the main action, and each sentence adds value. It is well-structured but could be slightly more concise.

    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 only two optional parameters, no output schema, and rich annotations, the description covers purpose, usage, behavioral traits, and parameter details. It mentions the return format (formatted table with fields). Minor gap: no mention of response structure or error handling, but acceptable.

    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?

    Schema coverage is 100% with descriptions for both parameters. The description restates that eventType is optional and explains event types (WITNESS, BULK_WITNESS) which are already in schema. No additional semantics added 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?

    The description clearly states it queries the SSWP audit ledger, specifying verb 'Query' and resource 'tamper-proof SSWP audit ledger'. It distinguishes from sibling tool sswp_registry_health by noting an alternative use case for fleet overview.

    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 provides explicit use cases: 'audit trail review, compliance reporting, or incident investigation'. It also suggests an alternative tool for a different purpose (fleet overview). While it does not explicitly state when not to use, the guidance is clear and sufficient.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already indicate idempotency and non-destructiveness. The description adds valuable context about the optional Kimi K2 deep reasoning pass requiring OLLAMA_CLOUD_API_KEY, and that it returns INCONCLUSIVE without it. 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.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is moderately long but each sentence is informative. It is well-structured: purpose, usage, analysis passes, API key note, return format, and sibling guidance. Could be slightly more front-loaded with the API key dependency, but overall effective.

    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?

    For a tool with no output schema, the description adequately describes the return (JSON with per-probe results, risk score, counts) and input requirements. It covers the API key dependency and the four analysis passes, making it sufficiently complete for an analysis 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 coverage is 100%, so baseline is 3. The description adds guidance that version strings should be as they appear in package-lock.json and clarifies the object structure, providing additional context beyond the 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?

    The description clearly states the tool analyzes dependencies for supply-chain risk, lists four specific analysis passes, and explicitly distinguishes it from sswp_witness for attestations. It uses a specific verb ('analyze') and resource ('list of dependencies'), meeting the highest standard.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides explicit guidance: 'Use this for targeted supply-chain analysis on critical dependency trees' and contrasts with sswp_witness. It also specifies that the tool works for npm packages and requires an API key for deep reasoning.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Discloses sequential processing, auto-saving to fleet registry, per-repo status reporting, and default skip of missing repos. Annotations already provide idempotentHint, but description adds valuable behavioral context.

    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, well-structured, and front-loaded with the primary purpose. Every sentence adds value without redundancy.

    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 tool's complexity, the description covers purpose, usage, behavior, and expected output (per-repo status, summary) adequately. No output schema exists, but the description sufficiently informs the agent.

    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?

    Parameters are fully described in the schema (100% coverage). The description reiterates the skipMissing default but adds no new semantic details beyond the 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?

    The description clearly states the tool performs deterministic attestation on multiple repositories sequentially, outlines the pipeline steps, and explicitly differentiates from the sibling 'sswp_witness' for single-repo use.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly states when to use this tool (nightly fleet audits, pre-release sweeps) and provides an alternative for single repos, plus describes behavior for missing repos.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. Description adds that it returns a formatted table ordered by risk descending, which is beyond annotations. No behavioral traits are hidden; it accurately reflects a read-only, idempotent operation.

    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?

    Description is four sentences, with the main purpose in the first sentence, return format and ordering in the second, and usage guidelines in the final two. No redundant words; every sentence adds value.

    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 tool's simplicity (one optional parameter, no output schema, clear annotations), the description is fully complete: it explains what it does, what it returns, ordering, and when to use it versus siblings. No gaps.

    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?

    Schema covers the single parameter 'limit' fully with description and default. Description does not add any additional meaning or usage notes about the limit parameter beyond what schema provides, so 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?

    Description clearly states it displays the fleet health board with specific fields (name, status, timestamps, risk scores) and ordering. It also names alternative tools for specific searches (node_search) and ledger queries (sswp_ledger), distinguishing itself as the ecosystem-wide dashboard.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicit usage guidance: 'Use this for an ecosystem-wide dashboard view of attestation status.' Then explicitly points to sswp_node_search for searching specific nodes and sswp_ledger for ledger queries, providing clear when-to-use and alternatives.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    The description adds significant behavioral context beyond annotations: it lists the four conditions checked, explicitly states it does not seal an attestation or modify the registry, and confirms idempotency without side effects. No contradiction with annotations (readOnlyHint true, destructiveHint false, idempotentHint true).

    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 four sentences, front-loaded with the main purpose, and every sentence adds value. No unnecessary words or repetition.

    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?

    For a simple tool with one parameter and no output schema, the description fully covers what the tool does, what it checks, what it returns (status lines and verdict), and when to use it. No gaps.

    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 description coverage is 100% with a clear description for repoPath. The tool description reinforces that it must be an absolute path to the project root, adding minimal but helpful context beyond the 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?

    The description clearly states it performs a lightweight repo health check by verifying four specific conditions (directory exists, .git directory, package-lock.json, package.json) and provides a READY/NOT READY verdict. This distinguishes it from siblings like sswp_witness, which runs the full pipeline.

    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 explicitly recommends use as a fast pre-check in CI pipelines or before calling sswp_witness. It does not explicitly state when not to use, but the context and sibling names imply alternatives for full attestation or other checks.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds context about full-text search behavior (partial keyword matching, FTS5 relevance ranking) and output format, which exceeds annotation coverage without contradiction.

    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 two sentences long, front-loaded with the core purpose, and every sentence adds necessary information without redundancy.

    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 annotations and schema, the description covers search behavior, output format, usage context, and alternative tool. No output schema exists, but the description adequately describes what is returned (formatted table with name, node type, status, repo path).

    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 description coverage is 100%, but the description adds value by explaining the query parameter supports partial keyword matching across multiple fields and provides examples. It also clarifies that limit defaults to 10, which is already in schema but reinforced.

    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 searches the SSWP fleet registry using FTS5 across node names, tags, and descriptions, and distinguishes it from the sibling tool 'sswp_registry_health' by specifying the output as a formatted table of matching nodes.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description explicitly states when to use this tool ('to find specific projects... by name fragment, technology tag, or description keyword') and when to use an alternative ('for a full sorted health board of all nodes, use sswp_registry_health instead').

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    The description details the tool's actions: scanning, running a pipeline, adversarial probing, producing an attestation, and auto-saving to a registry and audit ledger. This adds substantial context beyond the annotations (idempotent, not read-only, not destructive) and does not contradict them.

    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 three sentences, front-loaded with the main action, and conveys all necessary details without excessive verbosity. It could be slightly more concise by breaking into bullet points, but overall it's efficient.

    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 complexity (single parameter, no output schema), the description covers the input, process, and output well. However, it does not specify what the tool returns to the agent (e.g., success message or attestation path), leaving a minor gap for an agent evaluating the output.

    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 already describes the repoPath parameter well (100% coverage). The description adds context that the tool expects a directory with node_modules, which is useful but not critical. This slightly elevates the score above the baseline of 3.

    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 identifies the tool as the primary attestation tool for single repos, specifying that it produces a self-verifying .sswp.json attestation after scanning the full dependency graph and running a 5-gate pipeline. It distinguishes itself from the sibling sswp_bulk_witness by stating the single-repo scope.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description explicitly says 'use it when you need a full cryptographic witness of a single repo's state' and 'For multiple repos, use sswp_bulk_witness instead,' providing clear when-to-use and when-not-to-use guidance with a specific alternative.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Explains that it recomputes hash over sorted keys excluding signature field and compares against stored signature. Annotations already indicate read-only and idempotent; description adds algorithmic detail and return values.

    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?

    Concise yet comprehensive. Each sentence adds value: purpose, mechanism, outputs, usage guidance, alternatives. Front-loaded with core action.

    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?

    Covers all needed context: single parameter, return values (two outcomes), algorithm, usage scenarios, differentiation from siblings. No missing information for agent to invoke correctly.

    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 description covers filePath with clear details (absolute path, valid attestation requirement). Tool description reinforces this. Despite 100% schema coverage, description adds minor context about the signature field.

    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 it verifies SHA-256 cryptographic signature of .sswp.json attestation file, specifying verb and resource. Distinguishes from siblings by naming alternatives (sswp_witness for generating, sswp_check_repo for repo checks).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly says when to use: 'audit an attestation you received' or 'confirm a repo's attestation'. Provides clear alternatives for different tasks.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

sswp-mcp MCP server

Copy to your README.md:

Score Badge

sswp-mcp MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/VrtxOmega/sswp-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server