Skip to main content
Glama

bouncer_review_install_scripts

Read-only

Check which npm dependencies run code at install time before approving them. Returns each package's scripts, why, and an APPROVE, REVIEW, or DENY verdict.

Instructions

npm 12 skips dependency install scripts until they are approved (npm approve-scripts), but only shows the command. Pass the packages it lists; for each one this returns the scripts, why, and APPROVE / REVIEW / DENY. Also useful on npm 11 to see which dependencies run code at install time.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
packagesYesPackages whose install scripts need a decision (max 15)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description usefully adds that the tool returns the actual scripts, the reasoning behind each verdict, and a tri-state decision value — meaningful behavioral context given there is no output schema.

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?

Two sentences, front-loaded with the npm 12 rationale before the action and the npm 11 fallback use. The npm context sentence is justified because it explains why the tool exists, and nothing is wasted.

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 single-parameter, read-only tool with no output schema, the description covers the workflow trigger, what it returns, and an alternate use case. It leaves minor gaps around output shape and limits (max 15), but those are handled by the schema.

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 description coverage is 100%, so the schema already documents the `packages` array with name/version fields. The description only echoes this ('pass the packages it lists') without adding format or selection guidance, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: it reviews dependency install scripts and returns scripts, rationale, and APPROVE/REVIEW/DENY verdicts. It differentiates from siblings by narrowly scoping to install-script approval rather than general package checks, though it never names those siblings explicitly.

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 triggering context — use it on the packages npm 12's `approve-scripts` lists, and note it works on npm 11 to reveal which deps run install-time code. It does not name alternative sibling tools or state exclusions, so it stops short of a full when/when-not guide.

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