Skip to main content
Glama

check_syntax

Validate Ansible playbook syntax without execution to detect errors and ensure correct structure before deployment.

Instructions

Check syntax of an Ansible playbook without executing it

Input Schema

NameRequiredDescriptionDefault
playbookYes

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "playbook": { "minLength": 1, "type": "string" } }, "required": [ "playbook" ], "type": "object" }

Implementation Reference

  • The handler function for the check_syntax tool that runs 'ansible-playbook --syntax-check' on the specified playbook path.
    export async function checkSyntax(options: CheckSyntaxOptions): Promise<string> { const playbookPath = validatePlaybookPath(options.playbook); // Build command with syntax-check option const command = `ansible-playbook ${playbookPath} --syntax-check`; try { // Execute command const { stdout, stderr } = await execAsync(command); return stdout || 'Syntax check passed (no issues found)'; } catch (error) { // Handle exec error - in this case, a syntax error const execError = error as { stderr?: string; message: string }; throw new AnsibleExecutionError( `Syntax error: ${execError.message}`, execError.stderr ); } }
  • Zod schema for check_syntax tool input, requiring a 'playbook' path string.
    export const CheckSyntaxSchema = z.object({ playbook: z.string().min(1, 'Playbook path is required'), }); export type CheckSyntaxOptions = z.infer<typeof CheckSyntaxSchema>;
  • Registers the check_syntax tool in the toolDefinitions object, specifying its description, schema, and handler.
    check_syntax: { description: 'Check syntax of an Ansible playbook without executing it', schema: CheckSyntaxSchema, handler: playbooks.checkSyntax, },

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tarnover/mcp-ansible'

If you have feedback or need assistance with the MCP directory API, please join our Discord server