Atlas / MCP servers / sibilleb / AAP Enterprise

AAP EnterpriseBLOCK

mcp/sibilleb/aap-enterprise

MCP Server for Ansible Automation Platform (AAP) and Event-Driven Ansible (EDA)

Verdict
BLOCK
Grade
D
Trust score
69 /100
Exposed tools
69 43r · 21w · 5d
Transport
stdio
License
MIT
Stars
33
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

A comprehensive Model Context Protocol (MCP) server suite for Red Hat's automation and infrastructure ecosystem, enabling AI assistants to interact with Ansible Automation Platform (AAP), Event-Driven Ansible (EDA), ansible-lint code quality tools, and Red Hat's official documentation with secure domain validation.

Features

Ansible Automation Platform (AAP) Integration

  • Inventory Management: List, create, update inventories and manage hosts/groups
  • Job Management: Run job templates, monitor job status, and retrieve logs
  • Project Management: Create and manage SCM-based projects
  • Template Management: Create and manage job templates
  • Host Operations: Add/remove hosts, manage host variables and facts
  • Ad-hoc Commands: Execute ansible commands directly on inventory hosts

Event-Driven Ansible (EDA) Integration

  • Activation Management: List, create, enable/disable EDA activations
  • Rulebook Management: Manage and query rulebooks
  • Decision Environment Management: Manage decision environments
  • Event Stream Monitoring: Monitor event streams

Ansible Galaxy Integration

  • Collection Search: Search and discover Ansible collections by name, namespace, or keywords
  • Role Search: Find community roles by keyword, author, or specific criteria
  • Content Details: Get comprehensive information about collections and roles including versions, dependencies, and installation instructions
  • Smart Suggestions: AI-powered content recommendations based on use case descriptions
  • AAP Integration: Intelligent suggestions that consider existing AAP infrastructure and inventories

Ansible Lint Integration

  • Playbook Validation: Real-time linting of Ansible playbook content with configurable quality profiles
  • File Analysis: Comprehensive analysis of Ansible files, roles, and entire project structures
  • Best Practice Enforcement: Automated checking against Ansible commun
Read from source at commit 7882657b46c0OBSERVED · 2026-10-08
Advertisement
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code
claude mcp add aap-enterprise-mcp-server --env AAP_TOKEN=${AAP_TOKEN} --env EDA_TOKEN=${EDA_TOKEN} -- uvx aap-enterprise-mcp-server
claude-desktop
{
  "mcpServers": {
    "aap-enterprise-mcp-server": {
      "command": "uvx",
      "args": [
        "aap-enterprise-mcp-server"
      ],
      "env": {
        "AAP_TOKEN": "${AAP_TOKEN}",
        "EDA_TOKEN": "${EDA_TOKEN}"
      }
    }
  }
}
03

Exposed tools (69)

43 read · 21 write · 5 destructive. Blast radius: 5 tools can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.

ToolRiskDescription
add_host_to_groupwriteAdd a host to a group.
add_host_to_inventorywriteAdd a new host to an inventory with optional variables.
analyze_projectread
check_best_practicesread
create_activationwriteCreate a new activation.
create_decision_environmentwriteCreate a new decision environment.
create_groupwriteCreate a new group in an inventory.
create_inventorywriteCreate an inventory in Ansible Automation Platform.
create_inventory_sourcewriteCreate a dynamic inventory source. Claude will ask for the source type and credential before proceeding.
create_job_templatewriteCreate a new job template in Ansible Automation Platform.
create_projectwriteCreate a new project in Ansible Automation Platform.
delete_activationdestructiveDelete an activation.
delete_hostdestructiveDelete a host from inventory.
delete_inventorydestructiveDelete an inventory from Ansible Automation Platform.
delete_inventory_sourcedestructiveDelete an inventory source.
disable_activationwriteDisable an activation.
enable_activationwriteEnable an activation.
fetch_redhat_contentread
get_activationreadGet details of a specific activation.
get_adhoc_command_outputreadGet output/logs from an ad-hoc command.
get_adhoc_command_statusreadGet status of an ad-hoc command.
get_ansible_lint_versionreadGet the version of ansible-lint installed.
get_collection_detailsreadGet detailed information about a specific Ansible Galaxy collection.
get_failed_hostsreadGet list of hosts with active failures in an inventory.
get_group_detailsreadGet detailed information about a specific group.
get_host_detailsreadGet detailed information about a specific host including facts and variables.
get_host_factsreadGet gathered facts for a specific host.
get_host_groupsreadGet all groups that a host belongs to.
get_inventoryreadGet details of a specific inventory by ID.
get_inventory_sourcereadGet details of a specific inventory source.
get_job_templatereadRetrieve details of a specific job template.
get_projectreadGet details of a specific project by ID.
get_project_updatewriteGet status and details of a specific project update job.
get_project_update_logswriteGet logs from a project update job (SCM sync operation).
get_role_detailsreadGet detailed information about a specific Ansible Galaxy role.
get_rulebookreadRetrieve details of a specific rulebook.
job_logsreadRetrieve logs for a job.
job_statusreadCheck the status of a job by ID.
lint_fileread
lint_playbookread
lint_roleread
list_activationsreadList all activations in Event-Driven Ansible.
list_decision_environmentsreadList all decision environments.
list_event_streamsreadList all event streams.
list_groupsreadList all groups in a specific inventory.
list_hostsreadList all hosts in a specific inventory.
list_inventoriesreadList all inventories in Ansible Automation Platform.
list_inventory_sourcesreadList all inventory sources in Ansible Automation Platform.
list_job_templatesreadList all job templates available in Ansible Automation Platform.
list_jobsreadList all jobs available in Ansible Automation Platform.
list_project_updateswriteList all project update jobs (SCM sync operations).
list_projectsreadList all projects in Ansible Automation Platform.
list_recent_jobsreadList all jobs executed in the last specified hours (default 24 hours).
list_rulebooksreadList all rulebooks in EDA.
list_rulesread
list_tagsreadList all available tags for ansible-lint rules.
remove_host_from_groupdestructiveRemove a host from a group.
restart_activationwriteRestart an activation.
run_adhoc_commandwriteRun an ad-hoc Ansible command against inventory hosts.
run_jobwriteRun a job template by ID, optionally with extra_vars.
search_galaxy_collectionsreadSearch Ansible Galaxy collections by query terms, tags, or namespace.
search_galaxy_rolesreadSearch Ansible Galaxy roles by keyword, name, or author.
search_redhat_contentread
suggest_ansible_contentreadIntelligently suggest Ansible collections and roles based on use case description.
sync_inventory_sourcewriteManually trigger a sync for an inventory source.
update_hostwriteUpdate host settings including variables, description, or enabled status.
update_inventory_sourcewriteUpdate an existing inventory source.
update_projectwriteTrigger a project update (SCM sync) for a specific project.
validate_syntaxread
04

Trust audit

BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfaceWARN
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (1 observation(s))
Network
declared (8 observation(s))
Shell
none-observed
Dependencies
pinned
Secrets in source
none-found

Findings (4)

HIGHNetwork egress · net.tls_off · CWE-200, CWE-319
ansible.py:27
async with httpx.AsyncClient(verify=False) as client:
Why it matters. certificate verification is disabled
Fix. leave verification on
HIGHNetwork egress · net.tls_off · CWE-200, CWE-319
eda.py:27
async with httpx.AsyncClient(verify=False) as client:
Why it matters. certificate verification is disabled
Fix. leave verification on
HIGHNetwork egress · net.tls_off · CWE-200, CWE-319
redhat_docs.py:119
async with httpx.AsyncClient(timeout=timeout, verify=False) as client:
Why it matters. certificate verification is disabled
Fix. leave verification on
MEDIUMFilesystem / path · mcp.destructive_tools · CWE-22, CWE-59
delete_activation, delete_host, delete_inventory, delete_inventory_source, remove_host_from_group
Why it matters. 5 tool(s) can delete or overwrite
Fix. prefer a read-only mode or scoped tokens; the page states the blast radius

Gates applied: no_behavioural_pass.

Audited 2026-10-08 · audit v0.4.1 · source sha 7882657b46c0full audit observations/trust-audit/mcp-server/sibilleb__aap-enterprise.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-087882657b46c0BLOCKD69first audit
06

Questions

What is the AAP Enterprise MCP server?

MCP Server for Ansible Automation Platform (AAP) and Event-Driven Ansible (EDA)

What tools does AAP Enterprise expose?

69 in total: 43 read-only, 21 that write, and 5 that can delete or overwrite (delete_activation, delete_host, delete_inventory, delete_inventory_source, remove_host_from_group). Every one is listed on this page with its risk.

Is AAP Enterprise safe to connect to an agent?

No — not without reading the findings first. The audit graded it D (69/100) and found 3 critical or high issues in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 5 of its tools can destroy data, so scope the token you give it to what you actually need.

What credentials does AAP Enterprise need?

It reads AAP_TOKEN and EDA_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does AAP Enterprise run?

It speaks stdio, so it runs as a local process your client starts. It is published on PyPI as aap-enterprise-mcp-server.

How current is this page?

The grade is for one exact copy of the source (7882657b46c0), read on 2026-10-08. The repository is watched and re-audited when it changes.

Advertisement