Skip to main content
Glama
infra-mdsystems

ansible-mcp-server

Ansible NLP MCP

Локальный MCP-сервер, позволяющий Codex взаимодействовать с этим репозиторием Ansible на естественном языке, используя безопасные инструменты вместо открытия универсальной оболочки.

Инструменты

  • health: показывает корневую директорию, тайм-аут и включено ли выполнение с внесением изменений.

  • list_playbooks: перечисляет playbooks и workflows, доступные для выполнения.

  • inspect_playbook: выводит сводку по plays, hosts, vars_files, начальным задачам и общим обязательным переменным.

  • suggest_playbooks: ранжирует playbooks по запросу на естественном языке.

  • inventory_graph: выполняет ansible-inventory --graph.

  • inventory_summary: составляет сводку групп и хостов инвентаря.

  • syntax_check: выполняет ansible-playbook --syntax-check.

  • check_playbook: выполняет ansible-playbook --check.

  • run_playbook: выполняет реальный playbook; по умолчанию заблокирован.

  • list_logs и tail_log: просматривают логи в каталоге logs/.

Related MCP server: AAP MCP Server

Установка

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

Локальный тест

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

Эта команда запускает MCP-сервер через stdio и ожидает подключения MCP-клиента.

Конфигурация в Codex

Пример для .codex/config.toml в проекте или для ~/.codex/config.toml, если вы хотите включить глобально:

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

При ANSIBLE_MCP_ALLOW_RUN = "0" MCP позволяет выполнять инспекцию, инвентаризацию, ping, syntax-check и check-mode, но блокирует реальное выполнение playbooks.

Чтобы разрешить выполнение с внесением изменений:

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

Даже если эта возможность включена, run_playbook по-прежнему требует confirm = "RUN" при вызове инструмента.

Примеры NLP-интентов

  • "Какой playbook использовать для обновления Windows на wuday1?"

  • "Выполните syntax-check playbook Windows Update с day=wuday1."

  • "Запустите в check mode обновление Linux только в группе rocky."

  • "Покажи последние логи Citrix Day."

  • "Перечисли группы инвентаря и сколько хостов в каждой."

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
    -