Run ZFS Scrub
zfs_run_scrubStart a ZFS scrub to verify data integrity on a pool.
Instructions
Start a scrub on a ZFS pool to verify data integrity (sudo).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pool | Yes | Pool name to scrub |
zfs_run_scrubStart a ZFS scrub to verify data integrity on a pool.
Start a scrub on a ZFS pool to verify data integrity (sudo).
| Name | Required | Description | Default |
|---|---|---|---|
| pool | Yes | Pool name to scrub |
Changes observed during successful MCP inspections.
v0.1.0Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The '(sudo)' note usefully signals elevated privileges are required, adding context the annotations don't carry. However, annotations already flag this as a non-read-only, non-idempotent, non-destructive operation, and the description omits key behavior: a scrub is long-running and asynchronous (typically returns immediately), may impact I/O performance, and can be cancelled via zfs_stop_scrub.
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?
A single tight sentence with the action front-loaded and zero filler; every clause (verb, resource, purpose, privilege) earns its place.
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 one-parameter tool with full schema coverage, no output schema, and annotations covering the safety profile, the description is nearly complete. The remaining gap is the async/long-running nature of a scrub, which an agent would benefit from knowing before calling.
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 100% for the single 'pool' parameter, so the schema already documents it fully. The description adds no format or naming detail beyond what the schema provides, making the baseline 3 appropriate.
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 ('Start a scrub on a ZFS pool') plus the rationale ('verify data integrity'). The contrast with the sibling zfs_stop_scrub is implied by 'Start' but never made explicit, so sibling differentiation is left to inference.
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 purpose ('verify data integrity') implies when the tool is useful, but there is no explicit when-to-use, no prerequisites, and no mention of the zfs_stop_scrub alternative or the cases where a scrub is unnecessary/harmful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.