mcp-airlock — MCP-сервер для Claude Code: что делает и как установить
Прокси ставит правила между ИИ-агентом и MCP-сервером: ограничивает инструменты, включает dry run и просит подтверждение опасных вызовов.
claude mcp add --env AIRLOCK_JWT_SECRET=<AIRLOCK_JWT_SECRET> --env AIRLOCK_SECRET=<AIRLOCK_SECRET> --transport stdio mcp-airlock -- uvx mcp-airlockЧто делает mcp-airlock
mcp-airlock принимает вызовы MCP между агентом и сервером. Политика в YAML разрешает инструменты и задаёт им уровни риска для окружения: чтение проходит сразу, suggest принудительно выполняется в dry run, а confirm сначала возвращает описание действия и подписанное состояние для подтверждения. Повторно выполнить тот же подтверждённый вызов нельзя.
Прокси проверяет JWT или доверенный заголовок X-Airlock-Principal, ограничивает blast radius по числу затронутых объектов, сокращает слишком большой ответ и помечает признаки prompt injection. Каждый вызов получает записи аудита до и после обращения к upstream; JSONL доступен без дополнительных компонентов, а Postgres требует extra postgres. Для правил с regex нужен regex, для OTLP-трейсов — otlp.
Без JWT или доверенного X-Airlock-Principal каждый вызов завершится HTTP 401. Сервер принимает tools/call, tools/list и server/discover; остальные методы отклоняются. Это компактное приложение на Starlette без собственного интерфейса и отдельного языка политик.
Какие задачи решает
- ограничить доступ к MCP-инструментам через YAML-политику
- принудительно запускать опасные действия в dry run
- запрашивать подтверждение перед вызовом в
prod - ограничить число объектов, затронутых одним вызовом
- записывать аудит до и после обращения к серверу
Примеры запросов агенту
- Проверь вызов MCP-инструмента удаления в
prodчерезmcp-airlockи покажи результат dry run. - Выполни разрешённый вызов через
mcp-airlock, оцени blast radius и верни решение политики. - Покажи, какой инструмент будет виден вызывающему агенту после фильтрации
tools/list.
Как установить mcp-airlock
Командой платформы
claude mcp add --env AIRLOCK_JWT_SECRET=<AIRLOCK_JWT_SECRET> --env AIRLOCK_SECRET=<AIRLOCK_SECRET> --transport stdio mcp-airlock -- uvx mcp-airlockВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-airlock <команда>
Командой платформы
codex mcp add mcp-airlock --env AIRLOCK_JWT_SECRET=<AIRLOCK_JWT_SECRET> --env AIRLOCK_SECRET=<AIRLOCK_SECRET> -- uvx mcp-airlockВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-airlock <команда>
Файл настроек
{
"mcpServers": {
"mcp-airlock": {
"command": "uvx",
"args": [
"mcp-airlock"
],
"env": {
"AIRLOCK_JWT_SECRET": "<AIRLOCK_JWT_SECRET>",
"AIRLOCK_SECRET": "<AIRLOCK_SECRET>"
}
}
}
}Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-airlock <команда>
Файл настроек
{
"servers": {
"mcp-airlock": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-airlock"
],
"env": {
"AIRLOCK_JWT_SECRET": "<AIRLOCK_JWT_SECRET>",
"AIRLOCK_SECRET": "<AIRLOCK_SECRET>"
}
}
}
}Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-airlock <команда>
Командой платформы
gemini mcp add -e AIRLOCK_JWT_SECRET=<AIRLOCK_JWT_SECRET> -e AIRLOCK_SECRET=<AIRLOCK_SECRET> mcp-airlock uvx mcp-airlockВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-airlock <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о mcp-airlock
Как установить mcp-airlock в Claude Code?
Выполните claude mcp add --env AIRLOCK_JWT_SECRET=<AIRLOCK_JWT_SECRET> --env AIRLOCK_SECRET=<AIRLOCK_SECRET> --transport stdio mcp-airlock -- uvx mcp-airlock.
Что делает mcp-airlock?
Это прокси для MCP-серверов. Он фильтрует инструменты, применяет уровни риска, запускает dry run, запрашивает подтверждение и ведёт аудит вызовов.
Что нужно для работы mcp-airlock?
Для аутентификации нужен JWT или доверенный X-Airlock-Principal. Если используется Postgres, нужен extra postgres; для regex-политик требуется regex.