AI agents invoke recover_from_state to trigger actions in Npm Dev. 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.
Recovery from saved state implies restarting or re-launching dev server processes based on persisted state, which constitutes triggering external operations (process execution). It doesn't merely read data nor does it irreversibly destroy anything, placing it in Execute. Severity is medium because it can spin up background processes and affect running services, but blast radius is limited to local dev servers.
From the tool's definition recover_from_state — '保存された状態から復旧を試行' (attempt recovery from saved state); sibling tool 'auto_recover' confirms automated recovery/restart operations are performed
Attacks that exploit this kind of access
保存された状態から復旧を試行. It is categorised as a Execute tool in the Npm Dev MCP Server, which means it can trigger actions or run processes. Use rate limits and argument validation.
Register the Npm Dev MCP server in PolicyLayer and add a rule for recover_from_state: 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 Npm Dev. Nothing to install.
recover_from_state 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 recover_from_state 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 recover_from_state. 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.
recover_from_state is provided by the Npm Dev MCP server (masamunet/npm-dev-mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Every MCP server has a record like this.
Type a name, get the same breakdown: verified identity, auth posture, risk grade, capabilities, recommended policy.
Teams ship this data inside their own products. See what a licence covers →