toolwrap

ENRU

Скачать

toolwrap MCP-шлюз для Claude Code, Codex и Cursor

Дайте агенту Jira, GitHub и базу. Ключи и последнее слово оставьте себе.

toolwrap — приложение между вашим AI-агентом и MCP-серверами. У каждого проекта свой набор инструментов и ключей, секреты лежат в системном хранилище, а всё разрушительное ждёт вашего «Разрешить».

  • Работает на вашей машине
  • Ключи в Keychain, не в файлах
  • macOS, Windows, Linux

ваши проекты × инструментынить поверх — инструмент есть

Claude Code в ~/work/forkway получает github, postgres (DELETE — с вашего разрешения), sentry и slack. jira для него не существует. Ключи — из Keychain.

Работает с любым MCP-клиентом

  • Claude Code
  • Codex
  • Cursor
  • VS Code
  • Gemini CLI

Попробуйте

Побудьте человеком, которого агент обязан спросить

Агент работает в bypass — терминал его ни о чём не спрашивает. Безопасные вызовы toolwrap пропускает молча, а рискованные приносит вам. Запустите агента и решайте сами.

  1. ~/work/forkway $ claude --dangerously-skip-permissions
  2. › почини релиз 2.4.1 и влей исправление

Агенту дали задачу. Посмотрим, когда ему понадобитесь вы.

Прошло без вас: 0Спросили вас: 0

Что меняется

Было — стало, по строчке на каждую боль

Для тех, у кого 5–15 проектов, кто запускает агента без присмотра и кто ведёт команду.

  • Токены лежат в .mcp.json каждого проекта — и в истории git.

    Ключи в Keychain. В конфиге клиента — одна строка: mcphub-bridge --set alpha.

    всем

  • Агент в папке клиента Alpha заводит задачу в Jira клиента Beta.

    Папка сама выбирает набор: в ~/work/alpha есть только Jira Alpha.

    много проектов

  • Агент в bypass может удалить данные или влить PR, пока вы пьёте кофе.

    Рискованный вызов ждёт вас в карточке поверх окон. Не ответили за 4 минуты — отказ.

    агент без присмотра

  • Агент сам правит конфиг и снимает ограничения, которые ему мешают.

    Правка, которая ослабляет защиту, ждёт вашего «Применить». Пока ждёт — действует прежняя.

    агент без присмотра

  • 60 инструментов со слабыми описаниями — агент путается и тратит контекст.

    Лишнее выключено, project = ALPHA закреплён, описания дописаны — и видно, сколько это токенов.

    много проектов, команда

  • Протух токен — узнаёте от агента, который уже пошёл в обход.

    Точка у набора в трее и кнопка «Обновить токен», которая ведёт прямо в форму.

    всем

  • Каждый в команде настраивает MCP по-своему.

    Файл набора лежит в репозитории: описания и правила общие, ключи у каждого свои.

    команда

  • Что агент делал ночью — не восстановить.

    Журнал каждого вызова с аргументами; секреты в нём замазаны.

    агент без присмотра, команда

Как устроено

Один файл на проект. Один MCP-сервер для агента.

Набор — это TOML-файл в ~/.mcphub/sets. toolwrap запускает перечисленные в нём серверы, подставляет ключи набора, применяет ваши правки и отдаёт агенту всё это как один MCP-сервер. Всё, что есть в окне, есть и в CLI.

~/.mcphub/sets/alpha.toml
[servers.jira.env]
JIRA_URL = "https://alpha.atlassian.net"
JIRA_TOKEN = "secret:alpha/JIRA_TOKEN"   # значение — в Keychain

[servers.jira.tools.search]
pin = { project = "ALPHA" }
description.append = "Always search only in project ALPHA."

[servers.jira.tools.delete_issue]
enabled = false

[servers.db.tools.query]
confirm = "when"                   # риск — свойство вызова
when = [{ arg = "sql", not_matches = "^\\s*(select|with|explain)\\b" }]

[[context.source]]
type = "files"
globs = ["docs/ARCHITECTURE.md"]
терминал
# забрать серверы из Claude Code и Codex
$ mcphub adopt ~/work/alpha --apply --remove

# новый проект
$ mcphub set create beta
$ mcphub server add jira --set beta --secret JIRA_TOKEN
$ mcphub link ~/work/beta --set beta

# правила и проверки
$ mcphub tool confirm beta github merge_pull_request always
$ mcphub preview beta     # что видит агент
$ mcphub log --set beta
$ mcphub doctor

Один сервер на набор

Клиент видит набор как один MCP-сервер: по stdio через mcphub-bridge или по HTTP на 127.0.0.1.

Процессы по ключам

Десять наборов на одном аккаунте Jira делят один процесс; разные ключи — разные процессы; share = root даёт каждому worktree свой.

Правки живут в шлюзе

Перепишите описания, закрепите аргументы, спрячьте инструменты, промпты и ресурсы — без форка сервера.

Сначала контекст проекта

Текст, файлы, команда или вызов инструмента — агент получает их в начале сессии, без просьбы.

Модель безопасности

Работу делает агент. Правила остаются вашими.

  • Только локально

    Демон слушает локальный сокет или named pipe, HTTP — только на 127.0.0.1. Без облака и аккаунта.

  • Секреты в системном хранилище

    Keychain, Credential Manager или Secret Service. В файлах — только ссылки вида secret:alpha/JIRA_TOKEN.

  • Подтверждение в любом режиме клиента

    toolwrap спрашивает, даже когда агент запущен в auto, bypass или yolo, или клиент разрешил все инструменты.

  • Ответ — только из окна

    Подтверждение засчитывается только в карточке toolwrap, а не в терминале, которым управляет агент.

  • Ослабление задерживается

    Снять подтверждение, включить выключенный инструмент, отключить gate или добавить сервер можно только после «Применить» человека.

  • Журнал без секретов

    Каждый вызов с аргументами и исходом — с фильтрами по набору, серверу, сбоям и подтверждениям.

Как начать

Три шага. Агент ничего не заметит

  1. Установите приложение

    toolwrap живёт в строке меню и обновляется сам — когда вы нажмёте «Обновить».

  2. «Перенести из клиентов»

    Серверы из Claude Code и Codex переезжают в наборы, ключи — в Keychain, из конфигов они исчезают.

  3. Работайте как раньше

    Агент открывает ту же папку и получает свой набор. А вы решаете только то, что важно.

Вопросы

Частые вопросы

Что такое MCP-шлюз?

MCP-шлюз стоит между AI-клиентами и MCP-серверами. Вместо того чтобы настраивать каждый сервер в каждом клиенте, вы один раз подключаете клиент к шлюзу, а шлюз решает, какие серверы, ключи и правила действуют в каждом проекте.

С какими клиентами работает toolwrap?

С любым MCP-клиентом: Claude Code, Codex, Cursor, VS Code, Gemini CLI. Клиенты со stdio подключаются через mcphub-bridge, остальные — по HTTP на 127.0.0.1. Перенести уже настроенные серверы можно из Claude Code и Codex.

Где хранятся ключи и токены?

В системном хранилище: Keychain на macOS, Credential Manager на Windows, Secret Service на Linux. При переносе toolwrap удаляет токены из конфигов клиентов, в журнале секреты замазаны.

Может ли агент сам отключить подтверждение?

Нет. Правка, которая ослабляет защиту — в файле набора, через CLI или новым сервером, — не применяется, пока человек не нажмёт «Применить» в окне toolwrap. До этого действует прежняя политика.

Что будет, если я отошёл от компьютера?

Карточка ждёт ответа 240 секунд, затем вызов отклоняется, и модель получает понятную причину. Опасное без человека не выполняется.

Нужно ли менять сами MCP-серверы?

Нет. toolwrap запускает готовые серверы — команду npx или uvx, бинарь или удалённый URL — и не пишет своих интеграций. Правки описаний и закреплённые аргументы применяет шлюз, а не сервер.

Есть ли облако или синхронизация?

Нет. Демон работает на вашей машине и слушает локальный сокет. Перенести наборы на другую машину или в команду можно экспортом в файл.

Ваши инструменты, сплетённые в один набор, — каждый остаётся собой

Скачайте toolwrap, перенесите серверы из Claude Code и Codex — и дайте агенту работать.

Без облака, без своего чата, без маркетплейса. Только шлюз — поэтому лёгкий.