MCP Hub

Менеджер MCP-серверов на Node.js: запускает локальные и подключает удаленные серверы и отдает их клиенту одним адресом с REST API для управления

  • 524 ★ репозитория
  • Последний коммит
  • MIT
MCP-сервер

Широкий доступ

Почему такой уровень

  • Запускает любые команды из конфигурации, в том числе по подстановке `${cmd: ...}`
  • Держит токены и ключи всех серверов и передает им общую среду через `MCP_HUB_ENV`
  • Через REST API вызывает инструменты любого подключенного сервера, а проверка доступа к самому хабу не описана
Все причины и проверки

ravitemer/mcp-hub

Установка

Ручная установка

npm install -g mcp-hub

Нужен Node.js 18 или новее. Запуск: `mcp-hub --port 3000 --config path/to/config.json`.

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Запускает любые команды из конфигурации, в том числе по подстановке `${cmd: ...}`
  • Держит токены и ключи всех серверов и передает им общую среду через `MCP_HUB_ENV`
  • Через REST API вызывает инструменты любого подключенного сервера, а проверка доступа к самому хабу не описана

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

MCP Hub — программа на Node.js, которая стоит между клиентом и набором MCP-серверов. В файле конфигурации вы описываете серверы: локальные запускаются командой с аргументами и переменными среды (stdio), удаленные подключаются по адресу (потоковый HTTP или SSE) с заголовками или входом OAuth 2.0 с PKCE. Хаб держит соединения, следит за состоянием и переподключает упавшие серверы с задержкой. Клиенту достаточно одного адреса `/mcp` хаба. Через него доступны инструменты, ресурсы, шаблоны ресурсов и промпты всех серверов, а чтобы имена не пересекались, к ним добавляется префикс сервера, например `filesystem__search`. Когда сервер добавляют, выключают или он меняет список инструментов, хаб сразу сообщает об этом клиентам. Управление идет через REST API по адресам `/api/*`: список серверов, запуск, остановка, обновление возможностей, вызов инструмента, чтение ресурса, получение промпта и перезапуск хаба. События приходят клиентам по SSE. Отдельный раздел API показывает каталог серверов из реестра MCP Registry, из которого можно искать и ставить серверы.

Для кого. Для разработчиков, которые подключили к агентам десятки MCP-серверов и хотят держать конфигурацию в одном месте, а в каждом клиенте указывать один адрес.

Подходит, если

  • Одни и те же MCP-серверы нужны сразу в Claude Desktop, Cline и редакторе, и дублировать их настройки в каждом клиенте не хочется
  • Серверы надо включать и выключать по ходу работы, не перезапуская клиент
  • Общие ключи и токены нужно доставать из менеджера паролей командой в конфигурации, а не хранить в файлах клиентов
  • Для проекта нужен свой набор серверов поверх глобального: несколько файлов конфигурации объединяются по порядку
  • Локальный сервер в разработке должен перезапускаться при изменении файлов

Не подходит, если

  • Нужны корпоративные пользователи, роли и журнал доступа к серверам: для самого хаба такая проверка в документации не описана
  • Работаете с одним-двумя серверами, и отдельный процесс только усложнит схему
  • Клиенту нужны возможности roots, sampling или completion: хаб их не поддерживает
  • Нужно размещаемое решение с интерфейсом и учетными записями: такую роль описывает карточка metamcp
  • Node.js старше 18 версии: хаб требует не ниже восемнадцатой

Пример запроса к агенту

Покажи, какие серверы сейчас подключены к хабу, выключи сервер с базой данных и скажи, какие инструменты остались доступными

MCP

Транспорт
http, sse, stdio
Авторизация
не нужна

Переменные окружения

MCP_HUB_ENV секрет
JSON со значениями, которые хаб добавляет в среду каждого управляемого сервера

Ограничения

Хаб запускает любые команды из файла конфигурации, а подстановка `${cmd: команда}` выполняет их при чтении настроек, поэтому конфигурации из чужих источников подключать нельзя. Лицензия MIT.

Переменная `MCP_HUB_ENV` с JSON передает свои значения в среду каждого управляемого сервера, и значения из блока `env` сервера ее перекрывают. Все управляемые серверы получают права, с которыми запущен сам хаб.

Веб-интерфейс только запланирован и не отмечен как готовый: управление идет через REST API. Для хаба в документации не описаны ни ключ доступа, ни привязка к адресу, поэтому порт, заданный флагом `--port`, лучше держать на локальном компьютере. В примерах встречаются порты 3000 и 37373, поэтому порт клиента сверьте с запущенным.

Журнал пишется в `~/.local/state/mcp-hub/logs/mcp-hub.log`. Каталог серверов берется из реестра на GitHub Pages и кэшируется на час. Отсутствующие файлы конфигурации молча пропускаются.

Как отключить. Остановите процесс `mcp-hub` и удалите адрес хаба из настроек клиентов. Пакет удаляется командой `npm uninstall -g mcp-hub`. Файл конфигурации и каталог `~/.local/state/mcp-hub` с журналом и кэшем рабочих каталогов удалите вручную.

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

Как установить и запустить хаб?

Выполните `npm install -g mcp-hub`, затем `mcp-hub --port 3000 --config path/to/config.json`. Флаги `--port` и `--config` обязательны, `--config` можно повторять: файлы объединяются по порядку, а поздние перекрывают ранние.

Что указывать в клиенте?

Один сервер с адресом `/mcp` хаба, например `http://localhost:37373/mcp` в примере из документации. Порт возьмите тот, который передали флагом `--port`.

Как избежать пересечения имен инструментов?

Хаб добавляет к имени префикс сервера, поэтому `search` из файлового сервера и из сервера баз данных остаются разными инструментами, например `filesystem__search` и `database__search`.

Работает ли хаб с конфигурацией из VS Code?

Да. Поддерживаются ключи `mcpServers` и `servers`, переменные `${env:NAME}`, `${workspaceFolder}`, `${userHome}` и `${input:id}`, а значения для последних берутся из `MCP_HUB_ENV`. Файл `.vscode/mcp.json` можно передать флагом `--config`.

Как перезапускать локальный сервер при правке кода?

Добавьте серверу блок `dev` с массивом `watch` из масок файлов и обязательным абсолютным путем `cwd`. Хаб следит за этими файлами и перезапускает сервер при изменении.

Как проверить, что хаб жив?

Запрос `GET /api/health` возвращает состояние хаба, версию, число активных клиентов, список серверов с их возможностями и сведения о рабочих каталогах.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы

Самостоятельно размещаемый шлюз, который собирает несколько MCP-серверов в один эндпоинт с авторизацией и выбором инструментов

MCP-серверШирокий доступ2,7 тыс.Звезды репозитория

MCP SSH Manager

mcp-ssh-manager

Управление несколькими SSH-подключениями из Claude Code и Codex: команды, перенос файлов, базы данных и бэкапы. Стабильная ветка в npm, в GitHub бета 4.0

MCP-серверШирокий доступ527Звезды репозитория

MCP-сервер для SSH: агент выполняет команды, читает и пишет файлы по SFTP, передает файлы и запускает долгие задачи, а пароли остаются у вас

MCP-серверШирокий доступ990Звезды репозитория

MCPM

mcpm

Менеджер пакетов и реестр MCP для всех платформ и клиентов: ищет, добавляет и настраивает MCP-серверы, запоминает источник и обновляет

CLIРасширенный доступ1 тыс.Звезды репозитория

Самостоятельно размещаемый MCP-сервер для выполнения команд на удаленных серверах по SSH с токенами и ролями

MCP-серверШирокий доступ2Звезды репозитория

Прокси между транспортами MCP: подключает stdio-клиентов к удаленным SSE и HTTP серверам и публикует локальные серверы по сети

MCP-серверРасширенный доступ2,8 тыс.Звезды репозитория

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
MCP Hub (эта запись)нетне нужна524
MetaMCPнетAPI-ключ2 735самостоятельно размещаемый шлюз с авторизацией и выбором инструментов, собирает серверы в один эндпоинт
MCP Hubнет1 789клиент для Neovim, который работает с MCP Hub прямо в редакторе

Коротко о README

В репозитории описаны две стороны хаба: управляющий интерфейс на REST и единая точка подключения MCP. Таблица возможностей показывает транспорты, виды входа, уведомления об изменениях и то, что roots, sampling и completion не поддержаны. Дальше идут установка, флаги запуска, формат конфигурации с подстановками и режимом разработки, совместимость с VS Code, установка через Nix, справочник REST API и событий SSE, журнал, схемы жизненного цикла, тесты и пример клиента на Node.js. Отдельно лежат файлы `TROUBLESHOOTING.md` и `CHANGELOG.md`.

Бейдж для README

Сообщить о проблеме

Foxx AIMCP Hub
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.