Skip to main content
Glama
infra-mdsystems

ansible-mcp-server

Ansible NLP MCP

Servidor MCP local para permitir que el Codex interactúe con este repositorio Ansible mediante lenguaje natural, utilizando herramientas seguras en lugar de exponer un shell genérico.

Herramientas

  • health: muestra la raíz, el timeout y si la ejecución mutable está habilitada.

  • list_playbooks: lista playbooks y workflows ejecutables.

  • inspect_playbook: resume plays, hosts, vars_files, tareas iniciales y variables obligatorias comunes.

  • suggest_playbooks: clasifica playbooks a partir de una solicitud en lenguaje natural.

  • inventory_graph: ejecuta ansible-inventory --graph.

  • inventory_summary: resume grupos y hosts del inventario.

  • syntax_check: ejecuta ansible-playbook --syntax-check.

  • check_playbook: ejecuta ansible-playbook --check.

  • run_playbook: ejecuta el playbook real, bloqueado por defecto.

  • ping_hosts: ejecuta ansible -m ping o ansible.windows.win_ping.

  • list_logs y tail_log: consulta los logs dentro de logs/.

Related MCP server: AAP MCP Server

Instalación

cd /root/ansible
python3 -m venv .venv-mcp
. .venv-mcp/bin/activate
pip install -r ansible_mcp/requirements.txt

Prueba local

cd /root/ansible
. .venv-mcp/bin/activate
python -m ansible_mcp.server

Este comando inicia un servidor MCP por stdio y queda a la espera de un cliente MCP.

Configuración en Codex

Ejemplo para .codex/config.toml en el proyecto, o para ~/.codex/config.toml si quieres habilitarlo globalmente:

[mcp_servers.ansible]
command = "/root/ansible/.venv-mcp/bin/python"
args = ["/root/ansible/ansible_mcp/server.py"]
cwd = "/root/ansible"
enabled = true
startup_timeout_sec = 10
tool_timeout_sec = 900
env = { ANSIBLE_MCP_ROOT = "/root/ansible", ANSIBLE_MCP_ALLOW_RUN = "0" }

Con ANSIBLE_MCP_ALLOW_RUN = "0", el MCP permite inspección, inventario, ping, syntax-check y check-mode, pero bloquea la ejecución real de playbooks.

Para permitir ejecución auténtica:

[mcp_servers.ansible]
command = "/root/ansible/.venv-mcp/bin/python"
args = ["/root/ansible/ansible_mcp/server.py"]
cwd = "/root/ansible"
enabled = true
startup_timeout_sec = 10
tool_timeout_sec = 900
env = { ANSIBLE_MCP_ROOT = "/root/ansible", ANSIBLE_MCP_ALLOW_RUN = "1" }

Incluso habilitado, run_playbook aún exige confirm = "RUN" en la llamada a la herramienta.

Ejemplos de intención NLP

  • "¿Qué playbook uso para actualizar Windows de wuday1?"

  • "Haz el syntax-check del playbook de Windows Update con day=wuday1."

  • "Ejecuta en modo check la actualización de Linux solo en el grupo rocky."

  • "Muestra los últimos logs del Citrix Day."

  • "Lista los grupos del inventario y cuántos hosts existen en cada uno."

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    F
    maintenance
    This Model Context Protocol server enables AI assistants to interact directly with Ansible, allowing them to execute playbooks, manage inventory, check syntax, and perform other Ansible operations.
    18
    26
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Enterprise-grade MCP server exposing Ansible Automation Platform 2.x as a complete AI interface for LLMs, enabling natural language management of automation resources.
    86
    1
    Apache 2.0
  • F
    license
    Not graded
    quality
    D
    maintenance
    Industry-standard MCP server for AWX/AAP/Ansible Tower automation, enabling AI agents to manage job templates, launch and monitor jobs, and handle inventories and projects through natural language.
    12
    -