Lint Command
lint_commandStatically inspect a shell command for unsupported flags and portability issues. The command is never executed.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| distro | No | ||
| command | Yes |
lint_commandStatically inspect a shell command for unsupported flags and portability issues. The command is never executed.
| Name | Required | Description | Default |
|---|---|---|---|
| distro | No | ||
| command | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds 'The command is never executed,' reinforcing the read-only nature, but provides no other behavioral details such as output format or error handling. This offers minimal additional transparency beyond the 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?
The description is two sentences, front-loaded with the core action, and contains no redundant or extraneous information. Every word 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?
The description states the tool's purpose and the safety guarantee of non-execution, which are essential. However, it omits details about the output format (no output schema) and the role of the optional 'distro' parameter, leaving some gaps for correct 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 schema has 0% description coverage, and the description does not explain the 'distro' parameter at all. It only implicitly refers to 'command' via 'shell command', leaving the agent without guidance on how 'distro' influences the linting process.
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 ('statically inspect'), the target ('shell command'), and the specific scope ('unsupported flags and portability issues'). It distinguishes itself from sibling tools like explain_command by emphasizing static analysis and non-execution.
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 when checking a command for portability issues, but it does not explicitly state when to prefer this tool over alternatives or provide exclusions. No alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.