Skip to main content
Glama

manage_provision

Destructive

Create, update, or delete GenieACS provision scripts that run JavaScript functions on the ACS to dynamically configure CPEs during device inform sessions.

Instructions

Create, update, or delete a GenieACS provision script. Provision scripts are JavaScript functions that run on the ACS during a device's inform session to dynamically configure CPEs. Use action="put" to upload a new provision script or overwrite an existing one. The script argument must be raw JavaScript source code (not JSON). Use action="delete" to remove a provision script by name. GenieACS validates the script syntax on upload — a 400 error means the JavaScript has a syntax error. Provision scripts are referenced by name in presets (via configurations of type "provision"). Use genieacs://provisions/list to view existing scripts before making changes. Example script: log("Device " + args[0] + " informed"); Limitations: provision scripts execute server-side in the GenieACS sandbox with a limited API (declare, commit, ext, log). They cannot make arbitrary HTTP calls or access the filesystem.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionYesThe operation to perform: "put" to create or update a provision, "delete" to remove it.
nameYesThe provision script name (used as the identifier in the URL).
scriptNoThe raw JavaScript source code of the provision script (required for action="put", ignored for "delete"). GenieACS validates syntax before saving.
Behavior5/5

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

Adds significant behavioral context beyond annotations: mentions syntax validation (400 error on syntax error), server-side execution sandbox with limited API, and limitations (no HTTP calls or filesystem access). This fully complements the destructiveHint annotation.

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?

Well-structured with clear sections and an example, but slightly verbose. Every sentence is informative, but could be tightened without loss of meaning.

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 lacking an output schema, the description sufficiently covers return behavior (400 error for syntax issues), side effects (storing script), and prerequisites. Provides limitations and an example, making it complete for a destructive tool.

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%, and the description adds value by clarifying that script must be raw JavaScript (not JSON) and that validation occurs on upload. Action parameter meanings are also elaborated beyond the schema.

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?

Clearly states the tool creates, updates, or deletes a GenieACS provision script. The verb 'manage' is generic, but the description specifies the exact operations and resource, differentiating it from sibling tools like manage_preset which targets presets.

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?

Explicitly describes when to use action='put' vs action='delete', and suggests viewing existing scripts via genieacs://provisions/list before changes. However, it does not explicitly state when not to use the tool or mention alternative tools for similar tasks.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/GeiserX/genieacs-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server