GoModel MCP Gateway
Шлюз GoModel собирает MCP-серверы за одним защищенным адресом: агент видит нужные инструменты по ключу, а токены остаются в шлюзе.
- 1 318 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- Хранит токены подключенных сервисов и передает их внешним серверам от имени клиентов.
- Без заданного ключа шлюз принимает запросы без аутентификации.
Установка
- Работает в
Ручная установка
docker run --rm -p 8080:8080 -v gomodel_data:/app/data enterpilot/gomodelПервый способ из README, затем откройте `/admin/dashboard` и добавьте провайдера.
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Хранит токены подключенных сервисов и передает их внешним серверам от имени клиентов.
- Без заданного ключа шлюз принимает запросы без аутентификации.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
GoModel — шлюз для моделей на Go с совместимыми API OpenAI и Anthropic, а его раздел MCP-шлюза работает между агентами и MCP-серверами. Клиенты, например Claude Code, Claude Desktop, Cursor и VS Code, подключаются к одной конечной точке `/mcp` с ключом GoModel. Заголовки и токены внешних серверов шлюз подставляет сам, клиент их не видит. Инструменты и подсказки всех серверов собираются в один каталог с именами вида `github_create_issue`. Видимость сужают пути пользователей (`user_paths`), списки разрешенных и запрещенных инструментов, адрес отдельного сервера `/mcp/{slug}` или виртуальный сервер. Каждый вызов инструмента пишется в учет использования и аудит. Режим `tool_discovery: search` заменяет список двумя инструментами, `search_tools` и `call_tool`, и экономит контекст модели.
Для кого. Командам платформы и безопасности, которые выдают разным агентам разные наборы MCP-инструментов и хотят хранить токены подключенных сервисов в одном месте.
Подходит, если
- Несколько агентов работают с GitHub, Linear и Sentry, а токены остаются в шлюзе.
- Подрядчикам закрывают часть инструментов, например удаление репозитория.
- Агенту выдают виртуальный сервер с только нужными инструментами ревью кода.
- Нужен журнал, кто и какой инструмент вызывал, с длительностью и ошибками.
Не подходит, если
- Один агент работает с одним сервером: шлюз добавит лишний узел.
- Нет возможности развернуть и обновлять собственный шлюз.
- Клиенту нужен stdio-сервер из образа: в официальном образе нет Node и Python.
Пример запроса к агенту
Покажи, какие инструменты видит мой ключ через шлюз, и создай задачу в Linear через `linear_create_issue`.MCP
- Транспорт
- http
- Авторизация
- ключ необязателен
Переменные окружения
GOMODEL_MASTER_KEYсекрет- Ключ шлюза; без него шлюз работает без аутентификации.
MCP_SERVERS- JSON-объект с внешними MCP-серверами для сборки в шлюзе.
Ограничения
Образ содержит только бинарник GoModel, поэтому команды `npx` и `uvx` внутри него не запускаются. Для stdio-серверов нужен мост вроде supergateway в отдельном контейнере, и его порт нельзя публиковать наружу. Если `GOMODEL_MASTER_KEY` не задан, шлюз работает без аутентификации. Изменения из панели на других экземплярах подхватываются по расписанию (`CACHE_REFRESH_INTERVAL`, по умолчанию час). Для macOS, Linux и Windows есть установочные скрипты, а Docker подходит везде.
Как отключить. Удалите запись gomodel из MCP-конфигурации клиентов и остановите контейнер шлюза. Токены внешних серверов хранились в GoModel: отзовите их в самих сервисах.
Частые вопросы
Как подключить Claude Code к шлюзу?
Выполните `claude mcp add --transport http --scope user gomodel https://gomodel.example.com/mcp --header "Authorization: Bearer ${GOMODEL_API_KEY}"`, подставив адрес шлюза. Затем проверьте командой `claude mcp list`.
Как добавить MCP-сервер в шлюз?
В панели на странице MCP Servers нажмите Add MCP Server и укажите название, транспорт, адрес и заголовки. Либо опишите серверы в `config.yaml` или переменной `MCP_SERVERS` в формате JSON.
Когда включать режим поиска инструментов?
Для клиентов, которые отправляют модели каждый инструмент, например самописных агентов. У Claude Code есть собственный отложенный поиск, и режим там не нужен.
Как скрыть опасные инструменты?
Задайте `disallowed_tools`, например `["delete_repo"]`, или `allowed_tools` для белого списка. Скрытые инструменты вообще не попадают в `tools/list`.
Чем GoModel отличается от обычного прокси для MCP?
Он одновременно служит шлюзом к LLM-провайдерам и MCP, поэтому лимиты, бюджеты и аудит действуют на запросы к моделям и к инструментам вместе.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыЛокальный шлюз объединяет MCP-серверы внутренних сервисов, проверяет вход пользователя и записывает обращения в журнал.
CLI запускает шлюз моделей, который распределяет запросы между серверами и подключает MCP-инструменты по заданным правилам.
CLI запускает шлюз к моделям и MCP-инструментам с собственными API-ключами, переводом форматов, маршрутами и журналом запросов.
AIHelms, MCP-шлюз организации, связывает вызовы с персональными ключами сотрудников и учитывает заданную стоимость инструментов.
Самохостящийся шлюз между ИИ-приложениями и моделями, MCP-инструментами и A2A-агентами: политики, бюджеты, маршрутизация и журнал
Самостоятельно размещаемый шлюз, который собирает несколько MCP-серверов в один эндпоинт с авторизацией и выбором инструментов
Коротко о README
GoModel принимает запросы OpenAI и Anthropic и маршрутизирует их к многим провайдерам. Раздел MCP-шлюза описан в документации отдельно, как и подключение Claude Code и Codex.