aap-mcp
Ansible Automation Platform 2.4 management mcp
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.
Quick Start
Prerequisites
- Node.js ≥ 18.0.0
- npm or yarn
- Access to an AAP instance
Installation
git clone <repo-url>
cd aap-mcp
npm install
Configuration
Option 1: Interactive Setup
npm run setup-keychain
This interactive setup guides you through:
- Choosing authentication method (API token or username/password)
- Entering credentials (with hidden password input)
- Selecting storage method (macOS Keychain, .env file, or environment variables)
Note: Interactive should be all you need to get started unless you care to follow one of the other paths
Option 2: Environment Variables (Recommended for CI/CD)
export AAP_BASE_URL="https://aap.example.com"
export AAP_TOKEN="your-api-token"
Option 3: .env File (For Development Only)
Create ~/.config/aap-mcp/.env.aap:
AAP_BASE_URL=https://aap.example.com
AAP_TOKEN=your-api-token
AAP_USERNAME=admin
Then:
npm start
Configuration
Required Environment Variables
AAP_BASE_URL- AAP instance URL (e.g.,https://aap.example.com)- One of the following:
AAP_TOKEN- API authentication token, ORAAP_USERNAMEandAAP_PASSWORD- Username and password authentication
Optional Environment Variables
AAP_CONFIG_DIR- Configuration directory (default:~/.config/aap-mcp)AAP_DATA_DIR- Data directory (default:~/.data/aap-mcp)
Keychain Customization (macOS)
AAP_KEYCHAIN_SERVICE- Service name (default:aap-mcp)AAP_KEYCHAIN_TOKEN_ACCOUNT- Token account name (default:token)AAP_KEYCHAIN_BASE_URL_ACCOUNT- URL account name (default:base_url)AAP_KEYCHAIN_USERNAME_ACCOUNT- Username account name (default:username)AAP_KEYCHAIN_PASSWORD_ACCOUNT- Password account name (default:password)
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 domainsystem.ts- System health and metricsjobs.ts- Job execution and monitoringtemplates.ts- Job and workflow templatesworkflows.ts- Workflow managementinventory.ts- Inventory and host managementprojects.ts- Project managementinfra.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
- Environment variables (highest priority)
- macOS Keychain (if available)
.envfile- 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
Troubleshooting
"AAP_BASE_URL is required"
Credentials not found. Run:
npm run setup-keychain
Or set environment variables:
export AAP_BASE_URL="https://aap.example.com"
export AAP_TOKEN="your-token"
"Failed to initialize config directory"
Ensure the config directory path is writable, or specify a custom path:
export AAP_CONFIG_DIR="/path/to/config"
npm start
"Connection check failed"
Verify AAP instance is accessible:
curl https://aap.example.com/api/v2/ping/
License
See LICENSE file.
Documentation
- Credentials Setup - Detailed credential management guide
- Implementation Summary - Architecture and design decisions
- Structure Assessment - Project structure analysis and recommendations
Support
For issues and feature requests, please open a GitHub issue.
Servidores relacionados
Kone.vc
patrocinadorMonetize your AI agent with contextual product recommendations
beans-mcp
MCP server for Beans issue tracker
Cua
MCP server for the Computer-Use Agent (CUA), allowing you to run CUA through Claude Desktop or other MCP clients.
MCP Google Workspace
A comprehensive MCP server for managing Google Workspace services like Calendar, Contacts, and Gmail using OAuth2 authentication.
Basecamp
Interact with Basecamp 3 to manage projects, to-dos, and messages.
ClickUp MCP Server
Apify-hosted MCP server for ClickUp with 20 tools. Tasks, spaces, folders, lists, views, docs, and custom fields. No local setup needed.
Counsel
Multi LLM Council for deep counsel on your topic or idea
Kingdee K3Cloud ERP
MCP Server for Kingdee K3Cloud (金蝶云星空) — one of the most widely used ERP systems in China. Connects AI assistants (Claude Desktop, Cursor, Cline, Cherry Studio, etc.) to Kingdee ERP via natural language.
Brandomica
Check brand name availability across domains, social handles, trademarks, app stores, and SaaS channels
Clanki - Claude's Anki Integration
Enables AI assistants to interact with Anki flashcard decks via the AnkiConnect plugin.
Google Workspace MCP Server
An MCP server for interacting with Google Workspace services like Gmail and Calendar.