Labsco
jd1306 logo

aap-mcp

from jd1306

Ansible Automation Platform 2.4 management mcp

πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedAccount requiredNeeds API keys

AAP MCP Server

A Model Context Protocol (MCP) server for Ansible Automation Platform (AAP) 2.4. Provides tools for managing jobs, templates, workflows, inventory, and infrastructure through Claude or other MCP clients.

Development

Build

npm run build

Development Server

npm run dev

Testing

npm test
npm run test:ui

Linting

npm run lint

Architecture

Core Components

  • Client (src/client/): HTTP client for AAP API communication
  • Tools (src/tools/): MCP tool implementations organized by domain
    • system.ts - System health and metrics
    • jobs.ts - Job execution and monitoring
    • templates.ts - Job and workflow templates
    • workflows.ts - Workflow management
    • inventory.ts - Inventory and host management
    • projects.ts - Project management
    • infra.ts - Infrastructure tools
  • Credentials (src/credentials.ts): Secure credential management with priority-based loading
  • Paths (src/paths.ts): Configuration and data directory management

Credential Loading Priority

  1. Environment variables (highest priority)
  2. macOS Keychain (if available)
  3. .env file
  4. Default or error (lowest priority)

Tools Reference

System Tools

  • get_system_info - Retrieve AAP system information
  • get_platform_metrics - Get platform capacity and job statistics

Job Tools

  • list_jobs - List automation jobs with filtering
  • get_job - Get job details
  • run_job - Launch a job template
  • get_job_output - Retrieve job execution logs

Template Tools

  • list_job_templates - List available job templates
  • list_workflow_templates - List workflow job templates

Workflow Tools

  • list_workflow_jobs - List workflow executions
  • get_workflow_job - Get workflow execution details

Inventory Tools

  • list_hosts - List inventory hosts
  • list_groups - List inventory groups

Project Tools

  • list_projects - List projects
  • get_project - Get project details

Infrastructure Tools

  • list_nodes - List control and execution nodes
  • get_node_details - Get node information

Documentation

Support

For issues and feature requests, please open a GitHub issue.