# OPA MCP

MCP-сервер подключает OPA и Rego к ИИ-клиенту: помогает писать политики, запускать проверки и разбирать причины отказов.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 8
- Автор: OrygnsCode
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/OrygnsCode/opa-mcp-server
- Обновлён: 2026-10-24
- HTML: https://affpapa.org/nevibecode/mcp/opa-mcp

## Что делает

OPA MCP даёт агенту структурированные инструменты для работы с Rego. Он форматирует и разбирает политики через `opa`, запускает запросы с трассировкой, профилированием и покрытием, объясняет решения и показывает правила, повлиявшие на отказ.

Сервер также умеет проверять код через `regal`, управлять политиками работающего OPA через REST API, собирать `.tar.gz`-бандлы и создавать заготовки тестов. Для подключения используется `npx` и пакет `@orygn/opa-mcp`; при работе со встроенным OPA требуется Node.js 22 или новее.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `OPA_URL`, `OPA_TOKEN`, `OPA_BINARY`, `REGAL_BINARY`, `CONFTEST_BINARY`, `OPA_MCP_ALLOWED_PATHS`, `GITHUB_TOKEN` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env OPA_URL=<OPA_URL> --env OPA_TOKEN=<OPA_TOKEN> --env OPA_BINARY=<OPA_BINARY> --env REGAL_BINARY=<REGAL_BINARY> --env CONFTEST_BINARY=<CONFTEST_BINARY> --transport stdio opa-mcp -- npx -y @orygn/opa-mcp
```
Вместо <…> подставьте свои значения. Ещё 2 переменные окружения — в README сервера

### Codex

**Командой платформы**
```bash
codex mcp add opa-mcp --env OPA_URL=<OPA_URL> --env OPA_TOKEN=<OPA_TOKEN> --env OPA_BINARY=<OPA_BINARY> --env REGAL_BINARY=<REGAL_BINARY> --env CONFTEST_BINARY=<CONFTEST_BINARY> -- npx -y @orygn/opa-mcp
```
Вместо <…> подставьте свои значения. Ещё 2 переменные окружения — в README сервера

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "opa-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "@orygn/opa-mcp"
            ],
            "env": {
                "OPA_URL": "<OPA_URL>",
                "OPA_TOKEN": "<OPA_TOKEN>",
                "OPA_BINARY": "<OPA_BINARY>",
                "REGAL_BINARY": "<REGAL_BINARY>",
                "CONFTEST_BINARY": "<CONFTEST_BINARY>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 2 переменные окружения — в README сервера

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "opa-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@orygn/opa-mcp"
            ],
            "env": {
                "OPA_URL": "<OPA_URL>",
                "OPA_TOKEN": "<OPA_TOKEN>",
                "OPA_BINARY": "<OPA_BINARY>",
                "REGAL_BINARY": "<REGAL_BINARY>",
                "CONFTEST_BINARY": "<CONFTEST_BINARY>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 2 переменные окружения — в README сервера

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e OPA_URL=<OPA_URL> -e OPA_TOKEN=<OPA_TOKEN> -e OPA_BINARY=<OPA_BINARY> -e REGAL_BINARY=<REGAL_BINARY> -e CONFTEST_BINARY=<CONFTEST_BINARY> opa-mcp npx -y @orygn/opa-mcp
```
Вместо <…> подставьте свои значения. Ещё 2 переменные окружения — в README сервера

## Когда брать
- написать и отформатировать политику Rego
- проверить запрос на данных и входном документе
- разобрать причину отказа по сработавшим правилам
- проверить каталог политик через `regal`
- собрать подписанный `.tar.gz`-бандл

## Примеры запросов агенту
- Проверь эту политику Rego и объясни, почему запрос получает отказ.
- Запусти проверку политики с трассировкой и покрытием строк.
- Собери политики из этой директории в `.tar.gz`-бандл.

## Похожие
- [policy-as-code](https://affpapa.org/nevibecode/skills/policy-as-code.md) — скилл · 345 установок
- [prototype-pollution](https://affpapa.org/nevibecode/skills/prototype-pollution.md) — скилл · 3600 установок
- [backend-developer](https://affpapa.org/nevibecode/agents/voltagent-community-backend-developer.md) — субагент · 2724 установки
- [jwt-encode](https://affpapa.org/nevibecode/skills/jwt-encode.md) — скилл · 606 установок
- [node-express](https://affpapa.org/nevibecode/rules/node-express.md) — правило · ★ 41024
- [fastify-best-practices](https://affpapa.org/nevibecode/skills/fastify-best-practices.md) — скилл · 82300 установок

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
