This record as markdown: /tools/io-github-kivanccakmak-yaver/npm-run-script.md
What npm_run_script does on Yaver
AI agents invoke npm_run_script to trigger actions in Yaver. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call: builds kicked off, notifications sent, workflows started.
| Parameter | Type | Required | Description |
|---|---|---|---|
script | string | — | Script name (empty = list all) |
directory | string | — |
Parameters from the server's own tool schema.
Why npm_run_script is rated High
npm scripts are arbitrary code execution vectors that can invoke shell commands, install packages, modify files, or trigger external operations. The effects depend entirely on what scripts are defined in package.json, making this an Execute-class tool.
From the tool's definition Tool name 'npm_run_script' and description 'Run an npm script' directly indicates execution of arbitrary npm scripts, which can execute shell commands and code.
Risk signalsAccepts freeform code/query input (script) · Accepts file system path (directory)
Attacks that exploit this kind of access
The rule that runs npm_run_script safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Yaver, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For npm_run_script, this is the rule to start with:
npm_run_script stays usable, but rate-capped: a runaway agent can't fire it dozens of times a minute. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Yaver, apply this rule, and every npm_run_script call is checked against it from then on.
Questions about npm_run_script
Run an npm script (or list all scripts). It is categorised as a Execute tool in the Yaver MCP Server, which means it can trigger actions or run processes. Use rate limits and argument validation.
npm_run_script accepts 2 parameters: script, directory. The full parameter table on this page comes from the server's own tool schema.
Register the Yaver MCP server in PolicyLayer and add a rule for npm_run_script: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Yaver. Nothing to install.
npm_run_script is a Execute tool with high risk. Execute tools should be rate-limited and have argument validation enabled.
Yes. Add a rate_limit block to the npm_run_script rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for npm_run_script. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
npm_run_script is provided by the Yaver MCP server (yaver-cli). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Yaver, and thousands of servers like it.
Across the catalogue