vyos-mcp
Manage and monitor VyOS routers via the HTTPS REST API, plus search live VyOS documentation.
Read, retrieve, and check VyOS configuration paths and multi-valued nodes.
Inspect config revision history and show diffs for committed revisions.
Run operational
showcommands and diagnostics: ping, traceroute, interface stats, system resources, route table, firewall/NAT counters, and BGP summary.Validate, apply, confirm, save, load, merge, generate, and reset configuration changes.
Reboot, power off, add system images, and delete system images.
Search and read VyOS documentation pages with caching.
Use optional read-only mode to register only non-mutating tools.
Fetches and searches live VyOS documentation from the vyos-documentation repository on GitHub to provide documentation lookup tools.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@vyos-mcpshow me the current interfaces and the active routing table"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-server-vyos
MCP server for VyOS router management via the HTTPS REST API. Provides both router management tools and live VyOS documentation lookup.
Installation
Install with uv:
uv tool install mcp-server-vyosUpgrade to the latest release:
uv tool upgrade mcp-server-vyosAlternatively, skip the install and let uvx fetch the server on demand -- see
Claude Code below.
Related MCP server: OPNsense MCP Server
Configuration
Set environment variables:
VYOS_URL— Router API endpoint (e.g.,https://vyos.example.com)VYOS_API_KEY— API key for authenticationVYOS_READ_ONLY— Set totrueto disable all mutating tools (config changes, reboot, poweroff, etc.)
VyOS Router Setup
Enable the HTTPS API on your VyOS router:
configure
set service https api keys id my-mcp-key key <your-api-key>
set service https api rest
commit
saveClaude Code
Add to your MCP client configuration:
{
"mcpServers": {
"vyos": {
"command": "mcp-server-vyos",
"env": {
"VYOS_URL": "https://vyos.example.com",
"VYOS_API_KEY": "your-api-key"
}
}
}
}Without installing first, run it through uvx instead -- replace the command
line above with:
"command": "uvx",
"args": ["mcp-server-vyos"],Read-Only Mode
For safe, query-only access (monitoring, investigation, documentation lookup), enable read-only mode:
{
"mcpServers": {
"vyos": {
"command": "mcp-server-vyos",
"env": {
"VYOS_URL": "https://vyos.example.com",
"VYOS_API_KEY": "your-api-key",
"VYOS_READ_ONLY": "true"
}
}
}
}This registers only non-mutating tools: vyos_info, vyos_retrieve, vyos_return_values, vyos_exists, vyos_config_diff, vyos_config_history, vyos_show, vyos_traceroute, vyos_ping, vyos_interface_stats, vyos_system_resources, vyos_route_table, vyos_firewall_stats, vyos_bgp_summary, vyos_docs_search, and vyos_docs_read.
Tools
Router Management
Tool | Description |
| System info (no auth required) |
| Read configuration at a path |
| Get multi-valued config node values |
| Check if a config path exists |
| Show what a commit revision changed (default: most recent) |
| List config revision history (number, timestamp, user, method) |
| Run operational show commands |
| Validate config syntax (temporary apply with auto-rollback) |
| Apply config with commit-confirm (safe default) |
| Confirm a pending commit-confirm |
| Save running config to disk |
| Load a configuration file |
| Merge config file or string into running config |
| Generate keys, certificates, etc. |
| Reset operations |
| Reboot the router |
| Power off the router |
| Add a system image from URL |
| Delete a system image |
Diagnostics
Tool | Description |
| Traceroute to a host (structured mtr report), optionally from a VRF |
| Ping a host, optionally from a VRF (count 1-10; needs VyOS rolling 2026.08.18+) |
| Interface RX/TX counters, errors, and link state |
| CPU, memory, storage, and uptime snapshot |
| Routing table (RIB) by family/protocol ( |
| Firewall and NAT rule hit counters |
| BGP neighbor summary (state, prefixes received) |
Documentation
Tool | Description |
| Search VyOS docs by topic and page content (returns snippets) |
| Read a specific documentation page |
Documentation is fetched live from the vyos-documentation repository, so it stays in sync with the latest VyOS releases. Results are cached for 1 hour.
Safety
Configuration changes use
commit-confirmby default -- changes auto-revert after 5 minutes unless confirmed withvyos_confirmvyos_configureaccepts a list of operations applied atomically in one commit-confirm -- batch related changes into a single call so they commit or roll back togetherIf the router commits without arming a rollback (a VyOS version without API commit-confirm, or another commit-confirm still pending), the tool raises an error saying the changes were committed -- confirm or let a pending window expire before the next change
Destructive operations (
vyos_reboot,vyos_poweroff,vyos_image_delete) include warning descriptionsAPI keys are never logged or included in tool outputs
Self-signed TLS certificates are accepted by default (common on VyOS)
Development
uv sync --extra dev
uv run pytest
uv run ruff check .Dependencies are pinned in the committed uv.lock. Add --locked to uv sync to
fail rather than re-resolve when the lock is out of date with pyproject.toml, which
is how CI installs.
License
MIT
Available Tools
28 toolsvyos_bgp_summaryA
Show the BGP neighbor summary (show bgp summary).
Neighbor state, uptime, and prefixes received per peer across all
address families. Most useful on routers running BGP; if BGP is not
running, the router returns an error response ("success": false).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool is read-only (command 'show bgp summary'), specifies the output contents, and explicitly describes the error response when BGP is not running. This provides good behavioral transparency beyond a simple command name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences that front-load the command and purpose, followed by output details and error behavior. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there are no parameters, no output schema, and no annotations, the description covers the essential aspects: purpose, output content, and error condition. It is fairly complete, though it could briefly mention that it shows all BGP peers, but 'per peer' already implies that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, and the schema coverage is 100% trivially. The description does not need to add parameter information, but it adds value by explaining the tool's purpose and output. Baseline 3 is elevated to 4 because the description effectively compensates for the absence of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it shows BGP neighbor summary with the explicit command equivalent, specifies the output fields (neighbor state, uptime, prefixes received), and distinguishes by noting it covers all address families. It is distinct from sibling tools due to the BGP-specific focus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context that it is most useful on routers running BGP and warns that if BGP is not running, an error is returned. However, it does not explicitly state when not to use this tool or compare it to sibling tools like vyos_show or vyos_interface_stats, nor does it offer alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vyos_config_diffA
Show what a commit revision changed (not a running-config comparison).
Returns a unified diff of revision rev+1 -> rev, i.e. what that
commit changed. Defaults to the most recent commit (rev 0). Revision
numbers are the `revision` values listed by vyos_config_history.
Note: the VyOS HTTP API cannot compare the running config against
the saved config, so this tool only diffs committed revisions.
Args:
rev: Commit revision number (omit or 0 = most recent)
| Name | Required | Description | Default |
|---|---|---|---|
| rev | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the return type (unified diff), the exact direction (rev+1 -> rev), the default target, and an important API limitation. It omits permission/auth/rate-limit context, but the core behavior is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the one-line purpose before the detail, and the note about API limitations earns its place. The Args restatement is slightly redundant but brief and useful given the empty schema description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, but the description explains the return format (unified diff of consecutive revisions), so an agent knows what to expect. Combined with the default behavior and the source of revision numbers, it is sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description fully compensates: it defines rev as a commit revision number, states that omitting it or passing 0 yields the most recent commit, and points to vyos_config_history for obtaining valid values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (diff/show changes) and resource (commit revision) and explicitly distinguishes itself from a running-config comparison. It also names the sibling vyos_config_history as the source of revision numbers, letting an agent place it precisely among the many vyos_* config tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the default (most recent commit, rev 0) and the key when-not constraint ('cannot compare the running config against the saved config'), which steers agents away from a misuse. It does not explicitly route to an alternative tool, but the scope and default are clear enough to invoke correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vyos_config_historyA
List configuration revision history.
Returns the numbered config revisions VyOS retains, newest first,
each with its timestamp, the user who committed it, the method
(e.g. cli, vyos-http-api), and an optional comment. Pair with
vyos_config_diff(rev) to inspect what changed in a given revision.
Note: VyOS exposes no rollback endpoint over the HTTP API, so this
server can report revision history but cannot revert to a revision.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description fully discloses behavior: returns newest-first, lists fields, and importantly states no rollback capability via HTTP API, a critical behavioral trait beyond the basic list operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four concise sentences, front-loaded with purpose, no redundancy, every sentence adds value (intent, return details, companion tool, limitation).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with output schema, description fully covers what the tool does and returns, including the critical limitation about rollback, making it complete for an agent to use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters, so baseline of 4 applies. Description adds no param info as none needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it lists configuration revision history, specifies returned fields (number, timestamp, user, method, comment), and distinguishes from sibling vyos_config_diff by mentioning pairing for inspecting changes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear usage context for listing history and suggests pairing with vyos_config_diff. Explicitly notes the inability to roll back due to API limitation. Lacks explicit when-not-to-use scenarios but still effective.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vyos_configureA
Apply a list of VyOS config changes atomically with commit-confirm.
Every operation in `commands` is applied in a single commit-confirm
window — the whole batch commits or rolls back together, never
partially. Prefer batching all related set/delete changes into one
call rather than making several sequential calls; this is faster and
keeps related changes atomic.
This is the safe default — changes auto-revert after 5 minutes unless
confirmed with vyos_confirm. Confirm or let a pending window expire
before calling again: a call while one is pending commits WITHOUT its
own rollback and raises. An error saying changes were COMMITTED means
they are live; do not retry blindly. A `warning` key in the result
means auto-rollback could not be verified (`service https` changes).
Args:
commands: List of config operations, each with 'op'
('set'/'delete') and 'path' (list of strings). Pass as many
as belong together. Example:
[{"op": "set", "path": ["firewall", "group",
"network-group", "MY_GROUP", "network", "10.0.0.0/8"]},
{"op": "set", "path": ["firewall", "group",
"network-group", "MY_GROUP", "network", "192.168.0.0/16"]}]
| Name | Required | Description | Default |
|---|---|---|---|
| commands | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: atomic commit-or-rollback, auto-revert after 5 minutes, behavior when a window is already pending (commits without rollback and raises), the meaning of a COMMITTED error, and the `warning` key for unverified rollback. These are exactly the operational traits an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core semantics, then batching advice, then safety/caveats; every paragraph carries actionable content. It is somewhat long and the inline example is verbose, but nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description covers prerequisites, rollback timing, failure semantics, and result keys (warning/COMMITTED). Nothing an agent needs to invoke it safely is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: it defines each command as an object with 'op' ('set'/'delete') and 'path' (list of strings), and provides a concrete worked example. This fully documents the otherwise opaque array-of-objects parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (apply) and resource (VyOS config changes), and the atomic commit-confirm scope distinguishes it from plain mutation siblings. The agent can tell it applies a batch atomically rather than incrementally.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear batching guidance ('prefer batching... into one call') and names vyos_confirm as the follow-up, plus a prerequisite about pending windows. It does not, however, distinguish when to use this over the closely related vyos_merge/vyos_load siblings, leaving that inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vyos_confirmA
Confirm a pending commit-confirm, making changes permanent.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full burden. It states 'making changes permanent' but does not explain what happens if there is no pending commit-confirm or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that is front-loaded and efficient, containing no superfluous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description provides adequate functional context, but lacks information about prerequisites or return behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, and the input schema already reflects that. The description adds no parameter info, but none is needed. Baseline is 4 for zero parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'confirm' and the resource 'pending commit-confirm', distinguishing it from other sys admin tools like vyos_configure or vyos_load.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like vyos_configure or vyos_save. The implied use after a commit-confirm is not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vyos_docs_readA
Read a VyOS documentation page.
Fetches the raw RST content from the VyOS docs repository.
Use vyos_docs_search to find the path for a topic.
Args:
path: Doc path, e.g. "docs/configuration/firewall/groups.rst"
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool fetches raw RST content and is a read-only operation. However, it lacks details on error handling (e.g., if path is invalid), network dependencies, or any potential side effects. The description is adequate but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of three short sentences plus an 'Args:' line. Every sentence adds value: purpose, action, usage recommendation, and parameter clarification. There is no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one required parameter, output schema exists), the description covers the essential aspects. It mentions the sibling search tool and the expected path format. It does not describe the output format, but since an output schema exists, that is not a critical omission. A note on error scenarios would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides no description for the 'path' parameter (0% coverage). The description adds meaning by stating it is a 'Doc path' and provides an example ('docs/configuration/firewall/groups.rst'). This compensates for the schema gap, but more clarity on allowed path formats or constraints would be beneficial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads a VyOS documentation page by fetching raw RST content. It explicitly distinguishes from the sibling vyos_docs_search by directing users to use that tool for path discovery. The verb 'Read' and resource 'VyOS documentation page' are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance to use vyos_docs_search to find the path first, establishing a clear workflow. It does not explicitly list when not to use this tool, but the context of sibling tools makes the usage scenario clear. A slight improvement would be to mention scenarios where reading is not appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vyos_docs_searchA
Search VyOS documentation by topic (path and page content).
Ranks matching doc pages by how many query terms appear in the path
and body. Each result is a dict with 'path', 'title', and 'snippet'
(a context excerpt when the query matches the page body, else None).
Use vyos_docs_read to fetch the full content of a result.
Args:
query: Search terms, e.g. "firewall group" or "nat hairpin"
max_results: Maximum number of results to return (default 10).
Capped internally at ~30 (only fetched pages can rank).
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description discloses ranking method, result structure, snippet behavior, and internal cap on max_results. Adds sufficient behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise and well-structured: purpose first, then details, then arguments. No wasted words, though slightly verbose in listing args.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, and description explains return values. Provides enough context for agent to use tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but description explains query with examples and max_results with default and cap, adding meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it searches VyOS documentation by topic and distinguishes from sibling vyos_docs_read. Specifies ranking by query terms in path and body.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Indicates when to use (search docs) and suggests vyos_docs_read for full content, but does not explicitly state when to avoid this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vyos_existsA
Check if a VyOS configuration path exists.
Returns true/false in the data field.
Args:
path: Configuration path to check,
e.g. ["service", "https", "api"]
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Returns true/false in data field, but no details on error handling, permission requirements, or side effects. With no annotations, description should provide more behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise: one line for purpose, one line for return value, one line with args format and example. No extraneous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, return value is explained. However, missing details on what happens for malformed paths or non-existent paths (e.g., returns false). Adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description adds crucial meaning: explains path is a configuration path as an array of string segments, with example. Clear enough for agent to provide valid input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb 'Check', resource 'VyOS configuration path', and action 'exists'. Example provided. Distinguishes from siblings like vyos_show which likely returns actual config values.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explanation of when to use this tool versus alternatives such as vyos_show or vyos_validate. No context on prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vyos_firewall_statsA
Show firewall and NAT rule hit counters.
Returns a dict keyed by 'firewall', 'nat_source', and
'nat_destination', each holding the corresponding `show` output. On
partial failure the affected key holds an error dict with
"success": false and "error" set — check "success" before using
"data"; the commands that succeeded are still returned. Most useful
on routers with complex rulesets.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavior: return dict structure, partial failure handling with error dict and 'success' field, and advice to check 'success' before using 'data'. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the core purpose, followed by necessary detail on return structure and error handling. No superfluous sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description is fairly complete. It explains return format and error handling adequately. Could add an example but is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so schema coverage is 100%. The description does not need to add parameter semantics; baseline 4 is appropriate for zero parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool shows firewall and NAT rule hit counters, specifying the verb 'Show' and the resource. It differentiates from the generic vyos_show sibling by being specific to firewall stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions it is most useful on routers with complex rulesets, implying context, but does not explicitly state when not to use or compare with alternatives like vyos_show or other stats tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vyos_generateC
Run a VyOS generate command (keys, certificates, etc.).
Args:
path: Command path, e.g. ["pki", "wireguard", "key-pair"]
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description only says 'run a generate command'. It does not disclose whether it modifies state, what side effects occur, or required permissions. For a generation tool, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two clear sentences with an example. No wasted words, but could be more structured (e.g., explicit parameter list).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and minimal annotations, the description is insufficient. It does not explain return values, error handling, or the effect of running a generate command. A more complete description would cover these aspects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has no descriptions (0% coverage), but the description provides an example path (e.g., ['pki', 'wireguard', 'key-pair']), adding meaning beyond the schema. However, it does not explain the expected format or constraints of the path array.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it runs generate commands for keys, certificates, etc., with an example path. It distinguishes from other VyOS tools like show or configure, but does not explicitly differentiate from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Does not specify prerequisites, typical use cases, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vyos_image_addA
Add a VyOS system image from a URL.
Downloads and installs a new system image. This does not
reboot — the new image will be used on next boot.
The call blocks until the router finishes downloading and installing,
which can take several minutes for a full ISO (it waits up to 30
minutes). On a timeout error the install may still be running: check
vyos_show(["system", "image"]) before retrying.
Args:
url: URL to the VyOS ISO image
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses that the call blocks for up to 30 minutes, that it does not reboot, and that a timeout does not mean the install stopped. It omits permission/auth requirements and what happens to any existing default image, but the side-effect and latency profile is unusually well covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the action, then the non-reboot caveat, then the blocking/timeout behavior — a logical order with no filler. The trailing 'Args: url: ...' line slightly repeats the opening sentence, keeping it just short of maximally tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter mutation with no output schema and no annotations, everything an agent needs to invoke it safely is present: purpose, blocking behavior, timeout semantics, and a recovery instruction. Nothing material is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: the lone parameter is clarified as the URL to the VyOS ISO image, adding format intent beyond the bare 'Url' title. It does not specify URL scheme constraints or whether the URL is fetched from the router's perspective, so it is not fully complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Add a VyOS system image from a URL') and immediately differentiates from the sibling vyos_image_delete by making clear this is an additive install operation. An agent can identify the tool without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the operational context (downloads and installs a new image, used on next boot) and gives explicit recovery guidance on timeout: check vyos_show(["system", "image"]) before retrying. It stops short of naming alternatives or prerequisites (e.g. disk space, config mode), but the when-to-use and error-path guidance is concrete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vyos_image_deleteA
Delete a VyOS system image.
WARNING: Cannot delete the currently running image.
Args:
name: Image name, e.g. "1.4-rolling-202102280559"
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It discloses that deletion of the currently running image is prevented, which is a key behavioral constraint. However, it does not elaborate on other aspects such as whether deletion requires confirmation or is irreversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, consisting of a main statement, a warning, and an Args section. It front-loads the purpose and is free of unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple deletion tool with one parameter and no output schema, the description covers the essential aspects: the action, a critical constraint, and parameter details. It could be more complete by mentioning the irreversible nature of deletion.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description adds an 'Args' section with an example ('1.4-rolling-202102280559') that clarifies the expected format of the 'name' parameter, adding value beyond the schema's minimal type information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Delete' and the resource 'VyOS system image'. It distinguishes from the sibling 'vyos_image_add' and includes a warning about the currently running image, which adds specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives like vyos_image_add or other operations. However, the warning 'Cannot delete the currently running image' provides implicit guidance on when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vyos_infoA
Get VyOS system info (no authentication required).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the key behavioral trait of authentication transparency, but does not detail other aspects like read-only nature or exact output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words, perfectly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, no output schema, and simple purpose, the description is complete and sufficient for the agent to understand and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so baseline 4 per instructions. No additional semantics needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'Get' and resource 'VyOS system info', with a notable behavioral note 'no authentication required', distinguishing it from siblings that likely require auth or perform other actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies safe, quick usage due to 'no authentication required', but does not explicitly state when to use vs. alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vyos_interface_statsA
Show interface statistics: RX/TX counters, errors, link state.
With no argument, returns the summary table for all interfaces.
Pass an interface spec as path elements (e.g. ["ethernet", "eth0"])
to get detailed byte/packet/error counters for a single interface.
Args:
interface: Optional interface path elements, e.g. ["ethernet", "eth0"]
| Name | Required | Description | Default |
|---|---|---|---|
| interface | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It implies a read-only operation by saying 'Show', but does not explicitly state it is non-destructive or describe any other behavioral traits like rate limits or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the core purpose, and uses minimal words. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter and no output schema, the description sufficiently explains input expectations and output behavior (summary table vs. detailed counters). It is complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema coverage is 0%, but the description clearly explains the single parameter 'interface', including its format (array of strings) and the effect of providing it vs. default null. This adds meaningful context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool shows interface statistics including RX/TX counters, errors, and link state. It distinguishes itself from sibling tools like vyos_show and vyos_firewall_stats by being specific to interface statistics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool without arguments (summary for all interfaces) and with arguments (detailed for a single interface). However, it does not explicitly mention when not to use this tool or suggest alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vyos_loadC
Load a VyOS configuration file.
Args:
file: Path to config file on the router,
e.g. "/config/test.config"
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description lacks information on side effects (e.g., whether loading replaces or merges config), required permissions, or error behavior. The verb 'load' is vague without further context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded with the core purpose. The parameter explanation is separated clearly. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema and no annotations, the description provides minimal but sufficient context. However, it lacks completeness about the loading process and expected outcomes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds a description and example for the only parameter 'file', which is not present in the input schema. However, with 0% schema coverage, more detail (e.g., file format, specific paths) would improve clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'load' and the resource 'VyOS configuration file', providing a clear purpose. However, it does not differentiate from similar sibling tools like vyos_configure or vyos_merge, which could be ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The example file path is helpful but does not indicate prerequisites or context for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vyos_mergeA
Merge a configuration into the running config.
Provide either a file path on the router or an inline
config string (VyOS curly-brace format).
Args:
file: Path to config file on the router
string: Inline config in VyOS format, e.g.
'interfaces { ethernet eth1 { description "test" } }'
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | ||
| string | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only says 'merge into running config' without clarifying if it replaces, appends, or requires privileges, or what happens on failure. This lacks sufficient behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the purpose, then explains parameters. It avoids redundancy but could be slightly more structured. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations, no output schema, and only 2 parameters with low schema coverage, the description covers basic usage but omits return values, error handling, and behavioral nuances. It is minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description adds significant value by explaining that 'file' is a path on the router and 'string' is inline config in VyOS format, including an example format. This compensates for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Merge a configuration into the running config') and distinguishes from sibling tools like vyos_configure or vyos_load by specifying 'merge' and providing input methods (file path or inline string).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions providing either a file path or inline string, implying when to use the tool, but it does not explicitly state when not to use it or compare it to alternatives like vyos_configure or vyos_load.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vyos_pingA
Ping a host from the router.
Returns the API response with the ping output (per-reply RTTs and a
loss/latency summary) in its data field. If no reply arrives the
router reports failure, so the tool errors with the ping output.
Requires VyOS rolling 2026.08.18 or later; older routers lack the
/ping endpoint and this tool reports so.
Args:
host: Destination hostname or IP, e.g. "8.8.8.8"
count: Number of echo requests, 1-10 (default 5)
vrf: Optional VRF to ping from
| Name | Required | Description | Default |
|---|---|---|---|
| vrf | No | ||
| host | Yes | ||
| count | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral burden, and it does substantial work: it discloses the return shape (ping output in the data field), the error semantics (router reports failure and the tool errors with the ping output), and a hard version dependency with a graceful degradation message. It does not cover timeout/packet-size behavior or any permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the one-line purpose, then return/failure/version details, then an Args block that maps cleanly to the schema. Every sentence is load-bearing, though the return-behavior paragraph is slightly dense for what it conveys.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description covers everything an agent needs: what it does, what it returns, how failure manifests, the required router version, and the meaning of each argument. Nothing material is left for the agent to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it largely does: it documents all three parameters, adds a valid range (count 1-10) and default (5) not present in the schema, and gives a concrete host example. The vrf entry is thin ("Optional VRF to ping from") and leaves the accepted VRF naming format unspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Ping a host from the router" names a specific verb and resource and clarifies the vantage point (executed on the router, not the caller). It is clearly separable from the closest sibling, vyos_traceroute, but the description never names that alternative or states the distinction explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than guided: the version gate (VyOS rolling 2026.08.18+) and the failure-on-no-reply behavior imply when the tool is applicable. There is no explicit statement of when to prefer this over vyos_traceroute or other reachability tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vyos_poweroffA
Power off the VyOS router immediately.
WARNING: This will shut down the router. The router will
need physical or out-of-band access to power back on.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Clearly states 'shut down the router' and the irreversible nature of the action (needs physical access to restart). No annotations provided, but description fully discloses the destructive behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states the action, second provides critical warning. No unnecessary words, front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with zero parameters and no output schema, the description covers what the tool does and the essential safety warning. Complete and sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so baseline 4 applies. Description does not need to add parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Explicitly states 'Power off the VyOS router immediately' with a clear verb and resource. Distinguishes from related tools like vyos_reboot (restart) and vyos_reset (reset).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Includes a warning that physical or out-of-band access is needed to power back on, implicitly guiding when to use (only with such access). Could explicitly mention not to use if remote recovery is required, but the warning effectively sets usage boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vyos_rebootA
Reboot the VyOS router immediately.
WARNING: This will reboot the router. All active sessions
and traffic will be interrupted.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description warns that the reboot is immediate and will interrupt all active sessions and traffic, which is critical behavioral information. With no annotations, this warning provides adequate transparency about the destructive nature, though it does not discuss return behavior or confirmation requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise--two sentences plus a warning--with no unnecessary words. Every part earns its place, and the warning is properly emphasized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers the action and key warning, it lacks information about what the tool returns (e.g., success message, status code) and whether it blocks until reboot completes. Given no output schema, this is a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the description does not need to add parameter meaning. Per guidelines, baseline is 4. The description does not introduce confusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it reboots the VyOS router, using a specific verb and resource. However, it does not differentiate from the sibling tool vyos_poweroff, which might perform a similar action but potentially with different semantics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool vs. alternatives like vyos_poweroff or vyos_reset. There is no context about prerequisites or situations where reboot is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vyos_resetC
Run a VyOS reset command.
Args:
path: Command path, e.g. ["ip", "bgp", "192.0.2.11"]
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior, but it only says 'reset command' without explaining potential destructiveness, side effects, or required permissions. This is insufficient for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the action, containing no fluff. It could be slightly more structured, but it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a command with potential destructive impact and no output schema, the description is too sparse. It lacks information about return values, confirmation steps, or effects on the system, making it incomplete for safe usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds an example path (['ip', 'bgp', '192.0.2.11']), providing meaning beyond the schema's array type. However, it does not explain the structure or valid values for the path, so the added value is moderate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it runs a VyOS reset command and provides an example. However, it does not distinguish this from sibling tools like vyos_reboot or vyos_configure, which reduces clarity for selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. The description lacks context about which scenarios are appropriate for a reset command, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vyos_retrieveB
Read VyOS configuration at a given path.
Args:
path: Configuration path as list of strings, e.g. ["firewall", "group"]
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the full burden. It implies a read-only operation but does not disclose error behavior (e.g., missing path) or any side effects. Minimal additional context beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the purpose. It uses a docstring format. However, it is slightly too brief, missing return value or error mention, but no extraneous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description should cover what the tool returns and error cases. It only explains the input parameter, leaving return format and behavior unspecified, which is inadequate for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description compensates well. It explains the 'path' parameter as a list of strings with a clear example, adding meaning beyond the schema's type definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Read' and resource 'VyOS configuration' with scope 'at a given path'. It distinguishes from sibling tools like vyos_show and vyos_config_diff, but lacks explicit differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. The description only states what the tool does, not when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vyos_return_valuesA
Get values of a multi-valued VyOS config node as a list.
Use this instead of vyos_retrieve when a node has multiple
values (e.g. addresses on an interface).
Args:
path: Configuration path, e.g.
["interfaces", "dummy", "dum0", "address"]
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, description only notes it returns a list. Does not disclose read-only nature, error conditions, or permission requirements. Insufficient transparency for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus an args section, no wasted words. Front-loaded with main purpose and usage context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, usage, and parameter meaning. Lacks output format details beyond 'as a list', but sufficient for a simple getter with one parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Path parameter is explained with an example, adding meaning beyond schema's type-only definition. Compensates for 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states verb 'Get' and resource 'values of a multi-valued VyOS config node as a list', clearly distinguishing from sibling vyos_retrieve by specifying when to use each.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use this instead of vyos_retrieve when a node has multiple values', providing clear usage context. Lacks mention of when not to use other siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vyos_route_tableA
Show the routing table / RIB (show ip route / show ipv6 route).
Raises ValueError (propagated to the caller) if family or protocol is
not one of the documented values.
Args:
family: Address family — "ip" (IPv4, default) or "ipv6".
protocol: Optional source filter — one of bgp, ospf, ospfv3,
static, connected, kernel, rip, isis. Omit for all routes.
| Name | Required | Description | Default |
|---|---|---|---|
| family | No | ip | |
| protocol | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that ValueError is raised for invalid family or protocol, and notes default values. This goes beyond the bare input schema, especially given no annotations. Minor omission of return format or pagination prevents a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (5 lines), front-loaded with the purpose, and every sentence adds value without redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema or annotations, the description covers input parameters, error behavior, and defaults adequately. The only omission is a description of the output format, which for a show command is somewhat expected but not specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully explains both parameters: family (with defaults and options) and protocol (optional filter with explicit list including the ability to omit). This provides critical context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Show the routing table / RIB' with specific CLI commands, clearly differentiating from sibling tools like vyos_bgp_summary or vyos_traceroute.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide guidance on when to use this tool versus alternatives like vyos_show or vyos_bgp_summary, nor does it mention when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vyos_saveA
Save running VyOS configuration to disk.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description implies a non-destructive save operation but does not detail side effects (e.g., overwriting disk config) or required permissions. Adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words. Perfectly concise for a simple operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete enough for a parameterless tool with no output schema. It could mention saving to startup-config or immediate impact, but the core functionality is clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist in the schema, so the description adds no parameter-specific meaning. Baseline for 0 parameters is 4, and the description is sufficient given the tool's simplicity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Save') and the resource ('running VyOS configuration to disk'), establishing a distinct purpose from sibling tools like vyos_configure or vyos_load.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives (e.g., vyos_configure, vyos_load). No context on prerequisites or situations where saving is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vyos_showB
Run a VyOS operational show command.
Args:
path: Command path as list of strings, e.g. ["interfaces", "ethernet"]
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only states it runs a show command (implying read-only) but does not disclose side effects, auth needs, or output behavior. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. Purpose stated first, then argument explanation. Excellent front-loading and efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one parameter and no output schema, the description explains input sufficiently but omits any information about return values or output format. An agent may need to infer the result structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% coverage for the 'path' parameter description. The tool's description adds value by explaining it as a command path list and providing an example, compensating for the schema deficiency.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it runs a VyOS operational show command, specifying the verb and resource. It distinguishes from siblings like vyos_configure (configuration) and vyos_exists (checking), but does not emphasize differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for show commands ('operational show command') but provides no explicit guidance on when not to use or alternatives. The agent must infer context from the sibling tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vyos_system_resourcesA
Get router system resources: CPU, memory, storage, and uptime.
Returns a dict keyed by resource (cpu, memory, storage, uptime),
each holding the corresponding `show system ...` output. Handy for
a quick health snapshot of the router.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool returns a dict with output from 'show system' commands, implying it is a read-only operation. However, it does not mention any safety or authorization requirements, rate limits, or potential performance impacts. While the description is honest, it lacks some transparency typical for a well-documented tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: two sentences, each earning its place. It is front-loaded with the purpose and immediately provides detail about return structure. No redundant or unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters, no annotations, and no output schema, the description is remarkably complete. It conveys what the tool does, what it returns (a dict with keys cpu, memory, storage, uptime), and its typical use case (quick health snapshot). No significant gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the input schema is trivial. According to the guidelines, 0 parameters earns a baseline of 4. The description does not need to add parameter meaning because there are none, and the description's purpose is already covered by the overall tool description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get router system resources: CPU, memory, storage, and uptime.' It uses a specific verb ('Get') and resource ('system resources'), and the context of sibling tools shows this is distinct from other VyOS tools like vyos_bgp_summary or vyos_show.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for a 'quick health snapshot of the router,' which provides clear context. However, it does not explicitly state when not to use this tool or mention alternatives, though the purpose is sufficiently clear for an agent to understand its context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vyos_tracerouteA
Traceroute to a host from the router.
Returns the API response with an mtr report (per-hop loss and
latency) in its data field. Useful for diagnosing reachability and
path issues from the router's perspective. The host must be a valid
hostname or IP address.
Args:
host: Destination hostname or IP, e.g. "8.8.8.8"
vrf: Optional VRF to trace from. Needs VyOS rolling 2026-08-24 or
later; older routers silently ignore it and use the default VRF.
| Name | Required | Description | Default |
|---|---|---|---|
| vrf | No | ||
| host | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the return shape (mtr report with per-hop loss and latency in the data field) and a genuine failure mode — the vrf argument is silently ignored on routers older than VyOS rolling 2026-08-24. Missing are execution characteristics such as timeout/duration or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The behavior, purpose, and return format are front-loaded before the Args block, and every sentence carries information. The Args section is somewhat verbose but each entry earns its place; nothing is repetitive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations exist, so the description is the sole source of contract information, and it covers return format, parameter meaning, and the version caveat. It is nearly complete for a read-only diagnostic tool, lacking only execution-time and permission details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: host is defined as a hostname or IP with an example, and vrf is documented as optional with a version prerequisite and its silent-fallback behavior. Both parameters gain meaning the schema alone does not provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Traceroute to a host from the router') and clarifies the perspective ('from the router's perspective'), which separates it from client-side tracing. It does not explicitly name the obvious sibling vyos_ping or contrast with it, so sibling differentiation is only implied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Useful for diagnosing reachability and path issues' gives a use case, but there is no when-not guidance and no named alternative (e.g. use vyos_ping when you only need round-trip reachability). Usage is implied rather than prescribed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vyos_validateA
Validate VyOS configuration syntax without persisting changes.
Applies commands with a 1-minute commit-confirm window and does NOT
confirm, so the router automatically rolls back. This is not a true
dry-run — the configuration is temporarily applied for up to 1 minute.
A successful response means the syntax is valid. An HTTP error means the
commands contain invalid syntax or paths — unless it says the changes were
COMMITTED, in which case they persist and must be reviewed.
Args:
commands: List of config operations, each with 'op'
('set'/'delete') and 'path' (list of strings).
Example: [{"op": "set", "path": ["firewall",
"group", "network-group", "MY_GROUP"]}]
| Name | Required | Description | Default |
|---|---|---|---|
| commands | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so: it discloses the 1-minute commit-confirm window, automatic rollback, the fact that config is temporarily applied, and the success/error/COMMITTED response semantics including the dangerous case where changes persist. This is unusually thorough for a mutation-adjacent tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose and the non-dry-run caveat, then response semantics, then the Args block. Every sentence is load-bearing, though the docstring-style Args section is slightly more verbose than needed given the example alone would suffice.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations exist, so the description must explain both behavior and return interpretation — it does both, covering rollback timing, success meaning, error meaning, and the COMMITTED exception. Nothing an agent needs to call this safely is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the item object is opaque (additionalProperties: true), so the description must compensate — and it does, naming the 'op' ('set'/'delete') and 'path' (list of strings) keys and giving a concrete example payload. No ambiguity remains about how to build the commands list.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Validate VyOS configuration syntax') and immediately scopes it with 'without persisting changes,' which is exactly what distinguishes it from vyos_configure. An agent can tell what this does and roughly where it sits relative to siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the usage context clear (validate before committing, with auto-rollback) and warns it is 'not a true dry-run,' which is decision-relevant. It never explicitly says 'use this instead of vyos_configure' or names a sibling, so it stops short of full alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v0.6.0- Added
vyos_ping - Changed
vyos_traceroute1 field changed- added
Input schema / properties / vrfAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Vrf" +}
7 tool updates
v0.3.0- Added
vyos_bgp_summary - Added
vyos_config_history - Added
vyos_firewall_stats - Added
vyos_interface_stats - Added
vyos_route_table - Added
vyos_system_resources - Added
vyos_traceroute
20 tool updates
v0.2.0- First observed
vyos_config_diff - First observed
vyos_configure - First observed
vyos_confirm - First observed
vyos_docs_read - First observed
vyos_docs_search - First observed
vyos_exists - First observed
vyos_generate - First observed
vyos_image_add - First observed
vyos_image_delete - First observed
vyos_info - First observed
vyos_load - First observed
vyos_merge - First observed
vyos_poweroff - First observed
vyos_reboot - First observed
vyos_reset - First observed
vyos_retrieve - First observed
vyos_return_values - First observed
vyos_save - First observed
vyos_show - First observed
vyos_validate
TDQS
Scored across 28 tools
Most tools have clearly distinct purposes (e.g., vyos_ping vs vyos_traceroute, vyos_retrieve vs vyos_return_values). A few pairs could be confused, such as vyos_show vs vyos_retrieve, but descriptions clarify the distinction. vyos_config_diff is clearly differentiated from a running-config comparison.
Almost all tools use a consistent vyos_ prefix with a verb or noun pattern. Minor deviations like vyos_info, vyos_return_values, and vyos_config_history break the strict verb_noun pattern but remain readable and predictable.
With 28 tools, the set is heavy for a router management server. While each tool covers a distinct operation, the volume increases cognitive load and the risk of misselection.
The surface covers essential config lifecycle (retrieve, validate, configure, confirm, save) and many operational commands. Minor gaps exist: no direct rollback tool (though noted as unavailable) and no explicit interface configuration tool, but agents can work around these.
Maintenance
Related MCP Connectors
MCP server for network documentation, generated by doc2mcp.
Your agents' cloud. MCP server with search, execute, packages, jobs, secrets, and integrations.
MCP server for Vonage API documentation, code snippets, tutorials, and troubleshooting.
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server for managing VyOS routers via the VyOS HTTP API, allowing AI assistants to read config, set interfaces, firewall rules, VPNs, and more.172MIT
- AlicenseAqualityCmaintenanceA secure MCP server for managing OPNsense firewalls through AI assistants. Provides 81 tools across system, firewall, network, DNS, DHCP, VPN, HAProxy, services, diagnostics, and security domains.8111,779 PyPI21MIT
- AlicenseAqualityDmaintenanceA comprehensive MCP server for network device management via SSH/Telnet. Supports multiple vendors such as Cisco IOS and BDCOM, enabling AI assistants to execute commands and manage routers, switches, and firewalls.4MIT
- AlicenseNot gradedqualityDmaintenanceEnables managing VyOS appliances through their HTTP API, providing tools for configuration, operational commands, and interactive troubleshooting.MIT