GitOps Safe MCP
GitOps Safe MCP
Намеренно узкий stdio MCP-сервер, извлечённый из spectrenet-mcp коммита 2e63f009d8f4642e17398685baef0251811d6637. Он предоставляет только:
repository_status: статус Git и пять последних коммитов (только чтение).diff_summary: статистика незакоммиченных изменений и имена файлов в рабочем дереве (только чтение).tofu_validate:tofu fmt -check -recursiveиtofu validate -no-color.ansible_syntax: один изолированный YAML-плейбук через закреплённую/управляемую оператором командуansible-playbook --syntax-check.
Нет инструментов для записи в Git, plan/apply OpenTofu, запуска плейбуков Ansible, shell или произвольных команд.
Важное предупреждение об Ansible
Проверка синтаксиса Ansible не гарантированно инертна: lookup-плагины и некоторая загрузка коллекций/плагинов могут выполнять код при разборе плейбука. Относитесь к настроенному репозиторию и зависимостям как к доверенному коду. Запускайте этот сервер под выделенной непривилегированной учётной записью, с очищенным окружением, репозиторием, смонтированным только для чтения, без производственных учётных данных и с ограниченным доступом к сети/файловой системе. Исполняемый файл должен быть настроен как абсолютный путь, управляемый оператором (или абсолютная обёртка, принадлежащая оператору); он никогда не принимается из аргумента инструмента.
Related MCP server: Gumi-MCP
Границы безопасности
Все настроенные дочерние пути и запрашиваемые плейбуки разрешаются (включая симлинки), должны быть относительными, должны существовать и должны оставаться строго ниже своего разрешённого корня. Каждый подпроцесс получает один и тот же явный минимальный список разрешений (PATH, базовые переменные пользователя/локали/терминала/временных файлов и XDG_*); только Ansible дополнительно получает изолированный ANSIBLE_CONFIG. Не связанные с процессом учётные данные, облачные токены и секреты провайдеров не наследуются. Подпроцессы используют массивы argv, фиксированные глаголы/флаги, таймауты и ограниченные stdout/stderr. Аудит JSONL включает временную метку, UUID идентификатора запроса, инструмент/цель, маркер отсутствия изменений, код выхода, статус таймаута и длительность — но не вывод команд или значения окружения.
Это защита в глубину, а не песочница. См. Безопасность и Архитектура.
Установка и запуск
Рекомендуются Python 3.11+ и uv:
uv sync --extra test
cp .env.example .env.reference # reference only; the package does not load dotenv files
uv run gitops-safe-mcpВнедрите настройки с помощью менеджера служб или менеджера секретов/конфигурации. Убедитесь, что каталог аудита доступен для записи только службе/оператору.
Проверка
uv run --extra test pytest
uv run python -m compileall -q src tests
uv buildВ тестах используются временные фиктивные репозитории и фиктивные исполняемые файлы. Они не запускают OpenTofu или Ansible против реальной инфраструктуры.
This server cannot be deployed
Maintenance
Related MCP Connectors
Run verified read-only code tools: quant diagnostics + agent-ops preflight, no source exposure.
Read-only AI coding tools for change verification, release readiness, capacity, and guidance.
Read-only MCP access to a documented IT fleet: state, changes, posture. 15 tools.
Detects database migration table locks, terraform cost leaks, and OWASP API flaws.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to inspect Git repositories for changes across committed, staged, unstaged, and untracked scopes, and run allowlisted validation commands with structured results.-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to safely inspect a local repository's code and metadata while blocking private data from leaving the machine, providing read-only tools for search, change tracking, and integrity verification.MIT
- FlicenseAqualityBmaintenanceEnables AI assistants to securely inspect local Git repositories and perform restricted write operations in isolated worktrees, with sandboxed script execution and limited GitHub repository management.24-
- AlicenseAqualityCmaintenanceEnables AI clients to securely inspect local source repositories with read-only tools for listing files, reading files, and searching text, while enforcing path traversal protection and sensitive-file filtering.3MIT