infra-mdsystems

Ansible NLP MCP

Community infra-mdsystems
Updated

Servidor MCP para Ansible

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/.

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."

MCP Server · Populars

MCP Server · New

    mobbin

    Official Mobbin MCP server

    Official Mobbin MCP server repository

    Community mobbin
    frankchu91

    MindBase — Karpathy's LLM Wiki, as a product

    Karpathy's LLM Wiki idea as a product — an AI that builds and maintains a markdown wiki from your notes and sources. MCP server + web UI, runs on free local models (Ollama), no API key needed. MIT.

    Community frankchu91
    aakarim

    📜 OpenLore

    A minimal, extensible, agent-native knowledge base that keeps shared context current and inspectable

    Community aakarim
    sv-grid

    @svgrid/mcp

    Native Svelte 5 data grid. Headless-first engine + drop-in render component. Row + column virtualization (1M rows), Excel-style filters, inline editing, grouping, pivot, server-side data. MIT core (@svgrid/grid), MCP server for Claude / Cursor. https://svgrid.com

    Community sv-grid
    cinderline

    NorthCinder

    Buyer-run, ad-neutral shopping-agent MCP software with deterministic ranking, signed purchase mandates, and a local audit trail.

    Community cinderline