Skip to main content
Glama
infra-mdsystems

ansible-mcp-server

Ansible NLP MCP

Servidor MCP local para permitir que o Codex interaja com este repositório Ansible por linguagem natural, usando ferramentas seguras em vez de expor um shell genérico.

Ferramentas

  • health: mostra raiz, timeout e se execução mutável está habilitada.

  • list_playbooks: lista playbooks e workflows executáveis.

  • inspect_playbook: resume plays, hosts, vars_files, tasks iniciais e variáveis obrigatórias comuns.

  • suggest_playbooks: ranqueia playbooks a partir de um pedido em linguagem natural.

  • inventory_graph: executa ansible-inventory --graph.

  • inventory_summary: resume grupos e hosts do inventário.

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

  • check_playbook: executa ansible-playbook --check.

  • run_playbook: executa playbook real, bloqueado por padrão.

  • ping_hosts: executa ansible -m ping ou ansible.windows.win_ping.

  • list_logs e tail_log: consulta logs dentro de logs/.

Related MCP server: AAP MCP Server

Instalação

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

Teste local

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

Esse comando inicia um servidor MCP por stdio e fica aguardando um cliente MCP.

Configuração no Codex

Exemplo para .codex/config.toml no projeto, ou para ~/.codex/config.toml se quiser habilitar 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" }

Com ANSIBLE_MCP_ALLOW_RUN = "0", o MCP permite inspeção, inventário, ping, syntax-check e check-mode, mas bloqueia execução real de playbooks.

Para permitir execução mutável:

[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" }

Mesmo habilitado, run_playbook ainda exige confirm = "RUN" na chamada da ferramenta.

Exemplos de intenção NLP

  • "Qual playbook eu uso para atualizar Windows do wuday1?"

  • "Faça syntax-check do playbook de Windows Update com day=wuday1."

  • "Rode em check mode a atualização Linux só no grupo rocky."

  • "Mostre os últimos logs do Citrix Day."

  • "Liste os grupos de inventário e quantos hosts existem em cada um."

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
    -