Skip to main content
Glama

Commit — Supply Chain Risk Scoring

audit_github_repo

Audit the supply chain risk of a GitHub repository's dependencies. Fetches the repo's package.json and/or requirements.txt from GitHub and runs behavioral commitment scoring on every dependency.

This is the fastest way to audit a project — just provide the GitHub URL or owner/repo slug, and get a full risk table in seconds.

Risk flags:

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

  • HIGH: sole publisher/maintainer + >1M/wk downloads, OR new package (<1yr) with high adoption

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

Examples:

  • "vercel/next.js" — audit Next.js dependencies

  • "https://github.com/langchain-ai/langchainjs" — audit LangChain JS

  • "facebook/react" — audit React's dependency tree

  • "anthropics/anthropic-sdk-python" — audit Anthropic Python SDK

Use this when someone asks "is my project at risk?" or "audit this repo's dependencies".

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
repoYesGitHub repository to audit. Accepts: "owner/repo", "https://github.com/owner/repo", or any GitHub URL. Examples: "vercel/next.js", "https://github.com/langchain-ai/langchainjs"

TDQS

A4.2/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 that it fetches package.json/requirements.txt, runs behavior commitment scoring, and returns a risk table with specific flag criteria (CRITICAL, HIGH, WARN). It does not mention network/rate limits or authentication, but given it's a read-only audit, the disclosure is solid and adds context beyond the name.

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 front-loaded with the core purpose and uses well-separated sections (risk flags, examples, usage trigger). Every sentence adds value; the length is justified by the lack of annotations and output schema. No filler or 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?

Despite having no output schema and no annotations, the description covers the process, inputs, and the meaning of risk levels, giving a comprehensive picture. It stops short of describing the exact response structure (e.g., JSON shape) but provides enough for an agent to know what to expect. A perfect score would require more detail on output format or edge cases.

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's description for 'repo' already covers accepted formats ('owner/repo', GitHub URL) and provides examples. The tool description repeats some examples but adds no new parameter-level meaning. Since schema coverage is 100%, the baseline of 3 is appropriate—the description does not need to compensate.

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 function: 'Audit the supply chain risk of a GitHub repository's dependencies.' It specifies the verb (audit), resource (GitHub repository's dependencies), and method (fetches package.json/requirements.txt, runs behavioral commitment scoring). It also provides examples and distinguishes from siblings by being GitHub-specific.

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 says 'Use this when someone asks "is my project at risk?" or "audit this repo's dependencies"' and highlights it as 'the fastest way to audit a project.' It does not explicitly name alternatives or when not to use it, but the GitHub-specific focus and examples provide clear context. Since it lacks explicit exclusions or alternative references, it slightly misses a 5.

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.