# ToolDefinition

- **Package:** libtmux-swift
- **Language:** Swift
- **Kind:** struct
- **Source:** https://github.com/libtmux/libtmux-swift/blob/f02a4668570e1cc5198c941413750e021f42c214/Sources/LibTmuxMCP/ToolCatalog.swift#L132
- **Page:** https://libtmux.org/reference/swift/tooldefinition/

## Members

- `!=(_:_:)` (function) — Returns a Boolean value indicating whether two values are not equal.
- `name` (property) — What the client names in a ``ToolCall``.
- `title` (property) — A short human label, shown by clients that render one.
- `summary` (property) — What the tool answers, for a model choosing between them. First line of the description, and the only part some clients show.
- `detail` (property) — When to reach for this one rather than a neighbour, and what the result means. Empty for tools whose summary says everything.
- `tier` (property)
- `isDestructive` (property) — Whether the tool may replace, remove, or otherwise destroy state.
- `isIdempotent` (property) — Whether calling twice with the same arguments leaves the same state as calling once. Reaches clients as `idempotentHint`.
- `arguments` (property)
- `outputSchema` (property) — What the tool answers with, when that shape is guaranteed. Declared only where it is: MCP requires `structuredContent` to conform to this, so a schema the server may break is worse than none at all.
