Skip to main content
Glama

Security Intel MCP

Audit Dependencies

audit_dependencies
Read-onlyIdempotent

Audit a whole dependency manifest for known vulnerabilities in one call. Paste a package.json (as 'manifest'), or pass a 'dependencies' array of {name, version} objects. Returns per-package findings and a summary. Ecosystem defaults to npm.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
manifestNoRaw package.json contents
ecosystemNoPackage registry for the dependencies: npm (default), pypi, cargo, go, maven, rubygems, nuget, composer, pub, or hex.
dependenciesNo[{name, version}] entries

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
sourceNo
verdictNo
findingsNo
ecosystemNo
provenanceNoWhere this answer came from. served_at is when Datakoot answered (UTC); upstream lists the official sources consulted. Datakoot may serve a briefly cached copy, so the source's own observation can be older than served_at.
packages_auditedNo
packages_not_foundNo
packages_unverifiedNo
total_vulnerabilitiesNo
packages_with_vulnerabilitiesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / properties / provenance
      Added value: +{
      +  "description": "Where this answer came from. served_at is when Datakoot answered (UTC); upstream lists the official sources consulted. Datakoot may serve a briefly cached copy, so the source's own observation can be older than served_at.",
      +  "properties": {
      +    "may_be_cached": {
      +      "type": "boolean"
      +    },
      +    "publisher": {
      +      "type": "string"
      +    },
      +    "served_at": {
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "upstream": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Changed2 schema fields changed
    • changedInput schema / properties / ecosystem / description
      Previous value: -"Default npm"New value: +"Package registry for the dependencies: npm (default), pypi, cargo, go, maven, rubygems, nuget, composer, pub, or hex."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "ecosystem": {},
      +    "findings": {},
      +    "packages_audited": {},
      +    "packages_not_found": {},
      +    "packages_unverified": {},
      +    "packages_with_vulnerabilities": {},
      +    "source": {},
      +    "total_vulnerabilities": {},
      +    "verdict": {}
      +  },
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is fully covered. The description adds the return shape ('per-package findings and a summary') and the npm default, but says nothing about what happens if neither manifest nor dependencies is supplied (required is empty) or whether both may be passed together.

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?

Three short sentences, front-loaded with purpose, then inputs, then return shape. No filler and nothing redundant to the point of waste.

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?

Covers purpose, both input modes, ecosystem default, and return shape, and an output schema exists so response details need not be spelled out. The one notable hole is the zero-required-parameter case: an agent cannot tell from the description whether omitting both inputs is valid or an error.

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, but the description adds genuine semantics the schema does not: manifest and dependencies are alternative input modes expressed as an either/or, and the ecosystems list mirrors the schema's enum-less string. The mutual-exclusivity hint is real added value beyond the property descriptions.

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?

States a specific verb (audit) and resource (whole dependency manifest) plus a differentiating scope: bulk audit of an entire manifest in one call, versus the per-package siblings like package_vulnerabilities and cve_lookup. An agent can tell this apart from single-package lookups without opening any schema.

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?

Gives clear input-selection context ('paste a manifest, or pass a dependencies array') and names the default ecosystem. It does not explicitly state when to prefer this over package_vulnerabilities, but the 'whole manifest in one call' framing strongly implies the bulk-vs-single 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.