kepil — MCP-сервер для Claude Code: что делает и как установить
Шлюз безопасности для ИИ-агентов с мандатами прав, неизменяемым журналом и ручным подтверждением опасных действий.
claude mcp add --env KEPIL_DATA=<KEPIL_DATA> --transport stdio kepil -- uvx kepilЧто делает kepil
Kepil перехватывает команды автономного помощника перед обращением к внешним системам. Каждое действие сверяется с выданным мандатом до запуска языковой модели. Если операция не разрешена явно, запрос немедленно отклоняется по правилу fail-closed. Все события фиксируются в JSONL-журнале со связкой записей через цепочки хешей, поэтому удалить или изменить строчку задним числом незаметно не выйдет.
Клиентам MCP доступны семь инструментов для чтения паспортов агента, запуска этапов и проверки журнала. Функция одобрения необратимых операций намеренно отсутствует в MCP-сервере. Подтвердить рискованный шаг может только человек через веб-панель на http://localhost:7317 или сообщение в Telegram. На решение отводится тайм-аут в 4 часа, после чего карточка напоминает о себе повторно.
При возникновении ошибок система умеет раскручивать граф выполненных шагов в обратную сторону до первой необратимой точки. Сервер хранит состояние в обычных JSON-файлах по пути KEPIL_DATA (по умолчанию ./data), из-за чего отдельная база данных не требуется.
Какие задачи решает
- заблокировать несанкционированные вызовы внешних API и сервисов
- проверить целостность истории действий агента по цепочке хешей
- передать подтверждение рискованной операции оператору в Telegram
- откатить выполненные этапы работы до первого необратимого шага
Примеры запросов агенту
- Проверь паспорт агента и выполни следующий этап заказа ord-0042
- Покажи список задач, которые ожидают подтверждения человека
- Запусти проверку целостности журнала операций через Kepil
Как установить kepil
Командой платформы
claude mcp add --env KEPIL_DATA=<KEPIL_DATA> --transport stdio kepil -- uvx kepilВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from kepil <команда>
Командой платформы
codex mcp add kepil --env KEPIL_DATA=<KEPIL_DATA> -- uvx kepilВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from kepil <команда>
Файл настроек
{
"mcpServers": {
"kepil": {
"command": "uvx",
"args": [
"kepil"
],
"env": {
"KEPIL_DATA": "<KEPIL_DATA>"
}
}
}
}Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from kepil <команда>
Файл настроек
{
"servers": {
"kepil": {
"type": "stdio",
"command": "uvx",
"args": [
"kepil"
],
"env": {
"KEPIL_DATA": "<KEPIL_DATA>"
}
}
}
}Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from kepil <команда>
Командой платформы
gemini mcp add -e KEPIL_DATA=<KEPIL_DATA> kepil uvx kepilВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from kepil <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о kepil
Как установить kepil в Claude Code?
Выполните команду claude mcp add kepil -- uvx kepil. Если нужно настроить каталог для данных журнала, задайте переменную окружения: claude mcp add --env KEPIL_DATA=<KEPIL_DATA> --transport stdio kepil -- uvx kepil.
Что делает MCP-сервер kepil?
Он проверяет допустимость действий агента по формальному мандату и ведёт защищённый от правок журнал событий. Рискованные и необратимые шаги сервер блокирует до получения подтверждения от оператора.
Почему через MCP нельзя подтвердить рискованное действие?
Инструмент подтверждения исключён из API намеренно, чтобы исключить самоодобрение агентом собственных шагов. Решение принимает исключительно человек в панели управления или через Telegram.