Skip to main content
Glama

Call the router API directly

rci_call
Destructive

Send raw GET or POST calls to a Keenetic router's RCI interface for reading paths or executing commands not covered by other tools. Keep paths narrow; responses are capped.

Instructions

Sends a raw request to the router RCI interface, for anything the other tools do not cover. GET reads a path such as "show/version" or "interface/Bridge0"; POST sends a command object mirroring the CLI tree. The response is capped, so ask for a narrow path rather than a broad one: show/ip/nat alone is over 100 KB.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyNoCommand object for POST, mirroring the CLI tree, or an array of them for a batch. Send JSON, not a stringified object.
pathNoPath after /rci/, for GET. Example: show/interface/Bridge0
methodYesGET reads, POST executes a command.
max_bytesNoLower the response ceiling for this call. It can never raise it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.0.0-dev

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, so the safety profile is known; the description adds real behavioral context the annotations do not carry, namely that responses are size-capped, that the cap can only be lowered and never raised, and that broad paths blow the budget. It stops short of warning about what POST actually mutates or whether commands are reversible.

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

Conciseness5/5

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

Three tight sentences with zero filler: purpose and fallback scope first, then method semantics, then the practical size constraint. Every sentence carries actionable information and the most decision-relevant content is front-loaded.

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 raw pass-through tool with no output schema, the description covers invocation well and explains the one surprising return characteristic (a truncated/capped response). It could say more about error behavior or what a batch POST returns, but nothing an agent needs to make the call is missing.

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%, so the baseline is 3, but the description goes further by supplying concrete path examples ("show/version", "interface/Bridge0") and clarifying that body mirrors the CLI tree and must be JSON rather than a stringified object. That is meaning beyond the schema's own wording.

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?

States a specific verb and resource ("Sends a raw request to the router RCI interface") and immediately positions itself as the escape hatch relative to the other tools. An agent can distinguish it from get_interface or set_interface_state without opening any schema.

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

Usage Guidelines5/5

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

Explicitly scopes use to "anything the other tools do not cover," which is a when-not rule routing the agent to the 17 typed siblings first. It also disambiguates the two methods (GET reads a path, POST executes a command) so method selection is not left to inference.

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