Skip to main content
Glama

ansible-lint summary

ansible_lint_summary
Read-onlyIdempotent

Summarize ansible-lint results by rule with counts, severities, and file:line locations, helping you triage lint findings without applying fixes.

Instructions

ansible-lint (offline) grouped by rule with counts, severities and file:line locations; never fixes anything (ADT MCP's ansible_lint fixes). Parses playbooks with Ansible: treat dir as code you would run --syntax-check on (play-level Jinja and playbook-adjacent vars plugins are evaluated); lookups in play-level fields are refused unless ANSIBLE_MCP_ALLOW_PLAY_LOOKUPS=1.

Input Schema

NameRequiredDescriptionDefault
dirNoAnsible project directory. Default: ANSIBLE_MCP_DIR, else the server's working directory.
pathsNoPaths relative to dir (default: lint's own discovery)
profileNomin | basic | moderate | safety | shared | production
max_locationsNoLocations listed per rule (default 5)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.2

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds real behavioral detail on top: it never mutates files, play-level Jinja and adjacent vars plugins are evaluated during parsing, and lookups in play-level fields are refused unless ANSIBLE_MCP_ALLOW_PLAY_LOOKUPS=1. This is exactly the kind of evaluation/gating nuance an agent cannot get from structured fields, though cost, runtime, or failure modes are unmentioned.

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?

Compact and front-loaded: the output shape and the non-fixing guarantee come first, execution semantics and the env-var guard second. Parenthetical asides carry real information rather than filler, though the second sentence is dense enough to require rereading.

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?

With no output schema, the description carries the return shape ('grouped by rule with counts, severities and file:line locations') plus the max_locations tie-in, which is sufficient for an agent to plan around the result. The main missing piece is when to select this tool over the other Ansible analysis siblings.

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

Parameters3/5

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

Schema description coverage is 100%, so dir, paths, profile, and max_locations are all documented in the schema itself; baseline is 3. The description adds only a semantic framing for dir ('treat dir as code you would run --syntax-check on') and no syntax or format detail for the other three parameters. Fair but not enriching.

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

Purpose4/5

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

States a specific verb+resource ('ansible-lint (offline) grouped by rule with counts, severities and file:line locations') and explicitly contrasts itself with the fixing variant ('never fixes anything (ADT MCP's ansible_lint fixes)'). An agent can tell it produces a report rather than edits. It does not distinguish itself from the listed siblings like ansible_check_task_args or ansible_playbook_structure, so it stops short of a 5.

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?

Implies when the tool is appropriate by describing the execution model ('treat dir as code you would run --syntax-check on'), which tells the agent what class of project to point it at. However, it never states when to prefer this over sibling lint/analysis tools, nor does it give preconditions such as needing a valid project directory. Usage is inferable but not explicit.

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