← Back to directory
A

Ansible Automation Platform MCP Server

Official
An MCP service exposing Ansible Automation Platform APIs through OpenAPI specifications
Category
Dev Tools #227 of 438
Stars
★ 34 Popular
Transport
Streamable HTTP
Runtime
Node.js 22+
Credentials
API key / credential required
License
Apache-2.0
Last commit
52FMRS · D

This is an upstream-maintained MCP service that exposes Ansible Automation Platform capabilities (controller, galaxy, gateway, eda) as MCP tools via OpenAPI specifications, with role-based toolset filtering, YAML configuration, session token authentication, and optional Prometheus metrics. It is useful for automation teams that already have an AAP instance and token, but token permissions and the write-operations switch need careful management, and security-relevant defaults such as certificate validation should be reviewed.

Strongest · Documentation 13/20 Weakest · Security and permissions 8/20

Reliability
9/20
Security and permissions
8/20
Maintenance
10/20
Documentation
13/20
Setup experience
12/20
Why each score
Reliability 9/20
The README sketches a plausible happy path (npm install/build/start), a health endpoint /api/v1/health, config precedence rules, and env-var overrides, indicating a workable main flow by design. However, this static review was given no source files, no package.json, no CI workflows, and no committed tests, so the MCP init + tool-list handshake, and whether the dynamically generated tools match real behavior, cannot be verified. Generating tools from live OpenAPI specs is inherently brittle on spec drift or thin permissions, and the docs only offer generic troubleshooting. Under the static calibration cap of 12 absent verifiable execution evidence, and with dependencies (Node 22, reachable AAP instance, valid token) and error-handling detail unshown, the score is reduced to 9.
Security and permissions 8/20
No red line is triggered: no real credentials appear in the README, there is no sign of malware or covert exfiltration, all sample tokens are placeholders, auth uses Authorization: Bearer with env-var injection, and write operations are disabled by default behind ALLOW_WRITE_OPERATIONS=true, showing basic least-privilege intent. Deductions: the README explicitly supports ignore-certificate-errors: true with a development rationale and no production warning; the service carries the user token to external AAP endpoints and can load remote OpenAPI specs, yet the data flow and egress boundary are undisclosed; destructive/side-effecting operations (launching jobs and workflows) are gated only by a single env flag with no per-call confirmation or audit mention; and role permissions are inferred server-side from the token with no visible client-side enforcement. Score 8.
Maintenance 10/20
The repo is not archived, carries an explicit Apache-2.0 license, has 32 stars and 5 open issues, and is tagged ansible-lightspeed, indicating an active project under the Ansible organization with clear ownership and licensing, so it sits above the zero baseline. But the static material contains no commit history, no releases or versioning (no version number or CHANGELOG), no dependency-update policy, no branch protection, no SECURITY.md or security-response channel, and issue responsiveness is not observable. These governance and versioning gaps keep it mid-range at 10.
Documentation 13/20
The documentation is layered: prerequisites (Node 22), installation, YAML config structure (services, toolsets, precedence), environment variables, three concrete Claude connection methods with claude mcp add commands, MCP endpoints and toolset routing, a Prometheus metrics catalog, development features, and five classes of troubleshooting, plus config-validation and health-check examples. Weaknesses: there are no concrete tool descriptions, parameter lists, return shapes, or invocation examples (tools are generated from OpenAPI, so users cannot predict tool names or inputs); undisclosed assumptions around remote spec fetching, write-operation risk, and token scope; and troubleshooting is generic, lacking error codes or log locations. Usable but with hidden assumptions and troubleshooting gaps: 13.
Setup experience 12/20
The install path is clear and short: clone, npm install, npm run build, copy the sample YAML, npm run dev/start, then register via claude mcp add over HTTP, with documented token-in-header and token-in-env options plus toolset-specific endpoints whose client config can be copied verbatim, making it reproducible in a mainstream client. Deductions: it presupposes a reachable AAP instance and a valid token, a heavy environmental prerequisite not easily met by individual developers; it depends entirely on Node 22+ with no container image or prebuilt release; the default OpenAPI spec sources (whether the default URLs are reachable) are unverified; and startup-success verification steps are thin. Capped at 15 by the static rule and further reduced for the environment dependency, giving 12.

Static review · not runListed 2026-09-10

Read the FMRS scoring method →

Fit and risk

What it can accessUses the network

Best for

  • Teams that already run Ansible Automation Platform and hold a valid AAP authentication token
  • Ops and automation engineers who want MCP clients to call AAP APIs with role- and permission-limited tool access
  • Offline or customized environments that need OpenAPI specs loaded from local files or custom URLs

Not for

  • Users without an AAP instance or a valid token
  • Clients that require stdio local-process transport (this service is an HTTP endpoint)
  • Users expecting write operations to be enabled by default (writes require ALLOW_WRITE_OPERATIONS=true)

Required permissions

  • A valid AAP authentication token (Authorization: Bearer or BEARER_TOKEN_OAUTH2_AUTHENTICATION)
  • A token with permission to access the AAP services in use
  • Write operations are disabled by default and require ALLOW_WRITE_OPERATIONS=true
  • Network access to the AAP base URL, or read access to configured local OpenAPI files

Risks and side effects

  • Setting ignore-certificate-errors: true for development disables HTTPS certificate validation, enabling man-in-the-middle risk
  • With ALLOW_WRITE_OPERATIONS enabled, write operations allowed by the token can be performed and may modify or delete AAP resources unintentionally
  • The token appears in plain text on the command line, in environment variables, or in client configuration and may leak
  • Available tools and permissions depend on token permissions and toolset configuration; misconfiguration can expose more operations than intended

Setup

Before you start

Runtime:Node.js 22+

BEARER_TOKEN_OAUTH2_AUTHENTICATION optionalsecret AAP authentication token obtained from your Ansible Automation Platform instance; when set, clients don't need the Authorization header.
Other optional settings (4)
BASE_URL optional Base URL of your AAP instance; takes priority over base_url in aap-mcp.yaml.
MCP_PORT optional Port the MCP server listens on, defaults to 3000.
ALLOW_WRITE_OPERATIONS optional Set to true to enable write operation tools; read-only by default.
ENABLE_METRICS optional Set to true to enable Prometheus metrics at the /metrics endpoint.
  1. Clone the repository and enter it: git clone <repository-url> && cd aap-mcp-server.
  2. Install dependencies: npm install.
  3. Build the project: npm run build.
  4. Copy the sample configuration: cp aap-mcp.sample.yaml aap-mcp.yaml, then edit your AAP instance details, services, and toolsets as needed.
  5. Start the service: npm run dev for development or npm start for production (default port 3000).
  6. Register with Claude: claude mcp add aap-mcp -t http http://localhost:3000/mcp -H 'Authorization: Bearer your_aap_token_here'; alternatively export BEARER_TOKEN_OAUTH2_AUTHENTICATION and run claude mcp add aap-mcp -t http http://localhost:3000/mcp, or register a specific toolset via /mcp/{toolset}.
MCP config · JSON
{"mcpServers":{"aap-mcp":{"type":"http","url":"http://localhost:3000/mcp","headers":{"Authorization":"Bearer your_aap_token_here"}}}}

Works in clients that read an "mcpServers" key. For clients such as VS Code that use a different key, the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "aap-mcp": {
      "type": "http",
      "url": "http://localhost:3000/mcp",
      "headers": {
        "Authorization": "Bearer your_aap_token_here"
      }
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add --transport http aap-mcp http://localhost:3000/mcp --header 'Authorization: Bearer your_aap_token_here'

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

Start the service and run claude mcp add aap-mcp -t http http://localhost:3000/mcp -H 'Authorization: Bearer your_aap_token_here'; after connecting, the tool list should show tools generated from the AAP OpenAPI specs (controller/galaxy/gateway/eda). You can also check http://localhost:3000/api/v1/health returns {"status":"ok"}.

Troubleshooting

  1. Authentication failed: verify the AAP token is valid and has the required permissions, and check that BEARER_TOKEN_OAUTH2_AUTHENTICATION is set correctly
  2. No tools available: check the user permissions granted by the token, confirm services are enabled in the configuration, and verify the toolset configuration matches the intended tool access
  3. Connection refused: ensure AAP is running and reachable at the configured base_url, check BASE_URL and firewall settings
  4. OpenAPI spec loading failed: check that local_path files exist and are readable, or that URLs are reachable, and review certificate validation settings
  5. Missing dependencies: run npm install and confirm Node.js 22 or higher is installed

Things to try

Once connected, you can ask your AI assistant things like:

  • List the job templates on my controller and launch one
  • Show the current controller ping and config status
  • List all hosts and groups in my inventories
  • Show recent entries from the gateway activity stream

Use cases

Launch Controller job templates and workflow job templates from Claude
Query Controller jobs, inventories, hosts, and organizations
Manage Gateway users, teams, organizations, and role definitions
Inspect EDA activations, projects, rulebooks, and decision environments
Manage Galaxy collections and versions

Supported clients

Claude

Listed from the project's documentation, not tested by this site.

Overview

AAP MCP Service is a Model Context Protocol service that provides access to Ansible Automation Platform (AAP) APIs through OpenAPI specifications. It supports the controller, galaxy, gateway, and eda AAP services, can load OpenAPI specs from remote URLs or local files, and generates tools according to configured toolsets and user permissions. It uses session-based authentication with an AAP token supplied via the Authorization header or the BEARER_TOKEN_OAUTH2_AUTHENTICATION environment variable, and can optionally expose Prometheus metrics. Configuration priority is environment variables over the YAML file (aap-mcp.yaml) over built-in defaults.

Similar servers

Context7 80 · B

Upstash's official server providing up-to-date third-party library docs for AI coding assistants

★ 63.3k · Tools 2 Compare with this →

Source revision ddb8a9a16266 Data synced 2026-10-19 Read the FMRS scoring method