Skip to main content
Glama

Commit — Supply Chain Risk Scoring

audit_dependencies

Batch-score multiple npm, PyPI, Cargo, or Go packages for supply chain risk. Takes a list of package names and returns a risk table sorted by commitment score (lowest = highest risk first).

Risk flags:

  • CRITICAL: single publisher + >10M weekly downloads (publish-access concentration risk)

  • HIGH: new package (<1yr) + high downloads (unproven, rapid adoption = supply chain risk)

  • WARN: no release in 12+ months (potential abandonware)

  • WARN: dormant publishers with current scope access — contributors who stopped publishing but retain npm tokens (Mastra-incident vector, June 2026)

Perfect for auditing a full package.json, requirements.txt, Cargo.toml, or go.mod — paste your dependency list and get a prioritized risk report.

For Go: pass full module paths (e.g., "github.com/gin-gonic/gin", "golang.org/x/net") and set ecosystem="golang". The "maintainers" column shows GitHub contributor count since Go has no centralized publisher concept.

Examples: score all deps in a project, compare two similar packages, identify abandonware before it becomes a CVE.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
packagesYesList of package names to score. Up to 20 at once. Examples: ["langchain", "litellm", "openai", "axios"] or ["@anthropic-ai/sdk", "zod", "express"] or ["github.com/gin-gonic/gin", "golang.org/x/net"] for Go modules.
ecosystemNoPackage ecosystem. "auto" detects by naming convention (Python-style = pypi, otherwise npm). Force "npm", "pypi", "cargo", or "golang" to override. Go modules require full path (host/owner/repo) — use "golang".auto

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It explains the risk flag logic (CRITICAL, HIGH, WARN), the output sorting by commitment score, and the Go-specific maintainers-column nuance. This adds substantial context beyond the schema, although it does not cover aspects like rate limits or error 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 well-structured with a clear lead sentence, a bulleted list of risk flags, and a use-case paragraph. It is somewhat long, but every section is informative and necessary for a tool covering four ecosystems with subtle behavioral rules.

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 two-parameter tool with no output schema, the description is remarkably complete. It covers the output format, risk scoring criteria, ecosystem-specific behavior, and actionable examples, leaving users with enough understanding to invoke the tool correctly for their dependency file.

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%, so the baseline is 3, but the description adds meaningful elaboration. It reiterates the Go full-module-path requirement, clarifies the auto-detection behavior, and provides concrete examples for all ecosystems. This goes beyond the schema by tying parameters to real-world usage patterns.

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 the specific verb phrase 'Batch-score multiple npm, PyPI, Cargo, or Go packages for supply chain risk,' immediately stating the tool's function and scope. This clearly distinguishes it from sibling single-package lookup tools and audit_github_repo, which focus on a single package or repository.

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 clear context for when to use the tool: 'Perfect for auditing a full package.json, requirements.txt, Cargo.toml, or go.mod' and includes example use cases (score all deps, compare packages, identify abandonware). It does not explicitly state when not to use it or name alternative tools, but the batch-oriented framing implies the distinction.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.1/5.0
Disambiguation4/5

Most tools are clearly distinct by ecosystem and action, but the pair audit_github_repo and lookup_github_repo could be confused since both operate on GitHub repos (one audits dependencies, the other profiles the repo itself). The descriptions help, but the naming is similar enough to cause occasional misselection.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern: 'audit_' for dependency auditing, 'lookup_' for single-entity profiles, plus 'get_api_key' and 'query_commitment'. The 'lookup_business_by_org' variant is a clear sub-pattern, not a deviation.

Tool Count5/5

12 tools is well-scoped for a multi-ecosystem supply chain risk scoring server. Each tool covers a distinct ecosystem or operational function (auditing, lookup, API key management, domain commitment), and none feel redundant.

Completeness4/5

Coverage is strong: flat audits for npm/PyPI/Cargo/Go, npm dependency tree traversal, GitHub repo audits, and single-package lookups across all major ecosystems. Minor gaps include no explicit tool for managing the monitoring/alerts feature mentioned in get_api_key, and no dependency tree traversal for non-npm ecosystems, but these are acceptable workarounds.