Skip to main content
Glama
WLAN-Pi
by WLAN-Pi

create_vlan

Assign a VLAN to an Ethernet interface with a VLAN ID and optional IP addresses, replacing any existing configuration.

Instructions

Create (or replace) a VLAN on an ethernet interface.

Args: interface: Ethernet interface (e.g. 'eth0'). Cannot be 'all'. vlan_id: VLAN ID (1-4094) addresses: Optional list of IP addresses to assign, each a dict with 'family' (4 or 6), 'local' (IP string), and 'prefixlen' (int). Example: [{"family": 4, "local": "192.168.10.1", "prefixlen": 24}]

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
vlan_idYes
addressesNo
interfaceYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It explicitly states the tool can replace an existing VLAN, and it discloses the constraint that interface cannot be 'all'. It does not mention side effects on existing addresses or permission requirements, but the replacement behavior is a key trait that is disclosed. This is a strong disclosure for a mutation tool.

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

Conciseness4/5

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

The description is well-organized: a one-sentence purpose, followed by a clearly labeled Args section. It is concise and front-loaded. The Args section is necessary given zero schema coverage, so the length is justified. No filler.

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

Completeness4/5

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

The description covers the essential parameters and the replacement behavior. It does not explain the return value, but an output schema exists, so that is not required. It also doesn't specify error handling or whether addresses are fully replaced or merged, which could matter, but overall it is complete enough for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must fully document parameters. It does: interface with an example and the 'all' constraint, vlan_id with range (1-4094), and addresses with a complete structure including family, local, prefixlen, and an example dict. This goes well beyond the schema's bare type definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear verb–resource pair: 'Create (or replace) a VLAN on an ethernet interface.' It also specifies the replacement behavior, distinguishing it from sibling tools like get_vlans and delete_vlan. This is 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.

Usage Guidelines3/5

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

The description implies usage—creating or replacing a VLAN—but does not explicitly state when to prefer this tool over alternatives, nor does it mention exclusions or preconditions. The constraint 'Cannot be all' is given, but there is no guidance on when to use get_vlans or delete_vlan instead. This is adequate but leaves the agent to infer usage context.

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