# ToolArgument

- **Package:** LibTmuxMCP
- **Language:** Swift
- **Kind:** struct
- **Source:** https://github.com/libtmux/libtmux-swift/blob/254f8b2be7eb60cacc3ffcb3ea8e456784f582df/Sources/LibTmuxMCP/ToolCatalog.swift#L74
- **Page:** https://libtmux.org/en/swift/latest/mcp/reference/toolargument/

One argument of a tool, in enough detail to generate its schema.

The schema and the reader are generated from the same declaration, which is
what keeps a documented argument from being one the tool cannot actually
receive.

## Members

- `!=(_:_:)` (function): Returns a Boolean value indicating whether two values are not equal.
- `Kind` (enum)
- `name` (property)
- `summary` (property)
- `kind` (property)
- `isRequired` (property)
- `allowed` (property): The only values accepted, when there is a fixed set. Reaches the schema as `enum`, so a client can offer them rather than guess.
- `defaultValue` (property): What the tool does when the argument is omitted, stated in the schema so a caller need not send it to find out.
- `minimum` (property): Inclusive numeric bounds, enforced by the reader and published in the schema.
- `maximum` (property)
- `maximumItems` (property): The most entries accepted in an array argument.
- `minimumItems` (property): The fewest entries accepted in an array argument.
- `maximumLength` (property): The most characters accepted in a string argument.
- `maximumUTF8Bytes` (property): A byte ceiling disclosed explicitly because JSON Schema maxLength counts characters.
- `pattern` (property): A JSON Schema pattern applied before the value reaches tmux.
- `itemSchema` (property): The schema for each entry when an array contains structured values.
- `tmuxFormatControl` (property): The exact control applied before this value reaches tmux format expansion.
