Skip to main content
Glama

Bill Create Or Update

bill_create_or_update
Destructive

Create new bandwidth bills or update existing ones in LibreNMS by specifying bill type (quota or CDR), associated ports, and billing details.

Instructions

Create or update a bill in LibreNMS.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
payloadYesBill payload fields: - bill_id (for updates only): Existing bill ID - bill_name (required for create): Bill name - ports (required for create): Array of port IDs to include - bill_type (required): "quota" or "cdr" (95th percentile) - bill_quota (required if quota type): Quota in bytes - bill_cdr (required if cdr type): Committed data rate - bill_day (optional): Billing day of month (1-31) - bill_custid (optional): Customer ID reference - bill_ref (optional): Billing reference - bill_notes (optional): Notes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.9.0

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already indicate readOnlyHint=false and destructiveHint=true. The description adds the 'create or update' upsert behavior, but this is already evident from the tool name. It does not disclose side effects, which fields are overwritten, permission requirements, or consequences of providing/omitting bill_id. The description provides no meaningful behavioral insight beyond the annotations and name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single eight-word sentence with no filler, making it concise and front-loaded. However, given the nested payload schema and the number of sibling tools, this is arguably too terse to be appropriately sized. It communicates the basic operation but misses the opportunity to add scoping or usage context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite a rich input schema and the presence of an output schema, the description alone is incomplete for a tool with dual create/update modes and conditional fields. It fails to explain when each mode applies, how bill_id routes to update, or how this tool fits among the bill-related siblings. The schema compensates for parameter details, but usage context remains unresolved.

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%, with the payload field description detailing bill_id, bill_name, ports, bill_type, and conditional quota/cdr fields. The tool description itself contains zero parameter information, so it neither enhances nor harms what the schema already provides. This fits the baseline 3 for full schema coverage.

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?

The description states a specific operation, 'Create or update', and a specific resource, 'a bill in LibreNMS'. This clearly identifies the tool's purpose and separates it from sibling read/delete tools like bill_get and bill_delete. However, it adds minimal detail beyond the title and doesn't list any bill fields, so it is clear but not highly informative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives, no exclusions, and no mention of prerequisites. The description does not explain that bill_id is required for updates or that bill_name/ports are required for creation. The agent must infer usage entirely from the input schema and sibling names.

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

Deploy Server

Other Tools