MCP Hub
MCP Hub — универсальная экосистема MCP-сервера и коннекторов
Самостоятельно размещаемый хаб, который объединяет коннекторы MCP (Model Context Protocol) в единую конечную точку для ваших ИИ-клиентов — с веб-интерфейсом в стиле App Store, установкой в один клик, живыми журналами и мониторингом состояния.
Claude Desktop / Cursor ──Bearer key──▶ ┌─────────────────────┐
│ MCP Hub (:3000) │──▶ github (npx)
│ /mcp /api Web UI │──▶ postgres (npx)
Web browser ──session cookie──▶ └─────────┬───────────┘──▶ slack (npx) …
▼
PostgreSQL 16Быстрый старт
A. Локально / обычный Docker
cp .env.example .env
# edit .env — set POSTGRES_PASSWORD (and optionally MASTER_ENCRYPTION_KEY / SESSION_SECRET)
docker compose up -d --buildB. Portainer (веб-редактор)
Stacks → Add stack → Web editor и вставьте
portainer-stack.yml.Добавьте переменную окружения
POSTGRES_PASSWORD(в разделе Environment variables) перед развёртыванием.Разверните — образ загружается с Docker Hub (
xeniak10/mcp-hub:latest), сборка не требуется.
Откройте http://:3000 — при первом посещении вам будет предложено создать учётную запись администратора (bootstrap). Затем:
Перейдите в Marketplace, установите, например, GitHub, вставьте токен → дочерний процесс коннектора запускается в фоне.
Перейдите в Settings → создайте API-ключ.
Укажите вашему ИИ-клиенту на хаб:
{
"mcpServers": {
"hub": {
"url": "http://localhost:3000/mcp",
"headers": { "Authorization": "Bearer mcp_YOUR_KEY" }
}
}
}Все инструменты коннекторов отображаются с пространством имён: github__create_issue, postgres__query, …
Related MCP server: open-connector-pro
Что вы получаете
Marketplace — 71 встроенный коннектор для разработчиков (GitHub, GitLab, Postgres, Kubernetes, Sentry…) и для бизнес-команд — CRM (Salesforce, HubSpot, Pipedrive), ERP/бухгалтерия (Odoo, QuickBooks, Xero), служба поддержки (Zendesk, Freshdesk, ServiceNow), коммуникации (Microsoft 365, Email IMAP/SMTP, Twilio, Slack, Teams files), продуктивность (Google Sheets, Notion, Airtable) и наблюдаемость (Dynatrace). Установка в один клик, форма конфигурации на основе схемы, фоновый запуск зависимостей через
npx/uvxвнутри контейнера хаба. Поиск, фильтры по категориям и сортировка (сначала официальные / самые устанавливаемые / по имени).Репозитории сообщества коннекторов — вставьте URL публичного GitHub-репозитория в Marketplace (раздел "Community repos"), и каждый допустимый манифест коннектора в нём будет получен, проверен и объединён в ваш каталог (с пространством имён
community:owner/repo/<id>, кэшируется офлайн в томе данных).index.jsonв корне репозитория явно перечисляет файлы; в противном случае проверяются корневые*.json. Новые записи появляются после перезапуска хаба.Пользовательские коннекторы — поместите JSON-манифест в
./connectors/(или в томconnectors), и он появится в маркетплейсе после перезапуска. См.connectors/example.json.example.Панель управления — живые статусные бейджи (работает / запускается / ошибка / остановлен), плитки статистики, поиск по экземплярам, массовые Restart all / Stop all с подтверждением.
Детали коннектора — переименование экземпляров на месте, визуальный редактор конфигурации, живой предпросмотр инструментов (
tools/listчерез запущенный процесс) с копированием имён инструментов по клику, просмотр журналов в реальном времени (WebSocket tail) с фильтрами по уровню/тексту, режимом следования и загрузкой журнала.Светлая и тёмная темы — переключатель в боковой панели; сохраняется для каждого браузера.
Горячие клавиши —
/фокусирует поиск ·g dпанель управления ·g mмаркетплейс ·g sнастройки ·Escзакрывает диалоги/снимает фокус с поиска.Готовность к PWA — устанавливаемый манифест + SVG-фавиконка.
Резервное копирование и восстановление — экспорт всех установленных коннекторов и конфигураций в один JSON-файл; импорт восстанавливает их на новом экземпляре (страница Settings).
Управление учётной записью — смена пароля (выход на всех других устройствах), список активных сессий с IP/user-agent, отзыв любой сессии.
Оповещения об ошибках — задайте
ERROR_WEBHOOK_URL, и хаб отправляет JSON-оповещение всякий раз, когда коннектор переходит в состояние ошибки (работает со Slack, Discord, Teams, универсальными приёмниками; период охлаждения 5 минут на коннектор).Watchdog — упавшие процессы перезапускаются с экспоненциальной задержкой; проверка работоспособности каждые 30 секунд; восстановление при загрузке возвращает всё, что было включено до перезапуска.
Обновления — в Settings отображается текущая версия и проверяются релизы GitHub / теги Docker Hub каждые 6 часов (или по кнопке Check now). Когда выходит новая версия, вы получаете в один клик точную команду обновления для вашего типа развёртывания.
Необязательное автообновление — включите сайдкар Watchtower с помощью
docker compose --profile autoupdate up -d: он ежечасно загружает новые образыxeniak10/mcp-hubи пересоздаёт только контейнер приложения (он ограничен метками, поэтому никогда не затрагивает вашу базу данных).Мониторинг и эксплуатация — неаутентифицированный
GET /healthzдля проверок доступности;GET /api/metaсообщает версию + git-коммит (показывается в нижнем колонтитуле Settings); трафик по API-ключам на/mcpограничен 120 запросами в минуту на ключ.Безопасность — конфигурации зашифрованы AES-256-GCM в состоянии покоя, пароли argon2id, cookie-сессии, хешированные API-ключи, ограничение скорости входа, журнал аудита.
Конфигурация
Переменная | Обязательная | Описание |
| ✅ | Пароль для встроенного PostgreSQL |
| – |
|
| – | Пусто = случайный при каждой загрузке (пользователи выходят при перезапуске) |
| – | Порт хоста (по умолчанию |
| – | Размер кольцевого буфера на коннектор (по умолчанию 5000) |
| – | Лимит возраста журнала (по умолчанию 7) |
| – | URL для POST JSON-оповещений, когда коннектор переходит в состояние ошибки |
Тома: pgdata (база данных), app-data (мастер-ключ + состояние), npx-cache
(кэш зависимостей коннекторов — ускоряет перезапуски).
Обновление
Хаб не может заменить собственный контейнер, поэтому обновление — это одна команда на хосте:
docker compose pull app && docker compose up -d --no-deps --force-recreate app(Settings → Updates копирует её для вас, когда доступна новая версия. В Portainer используйте Stack → Pull and redeploy.) Хотите полностью автоматически?
docker compose --profile autoupdate up -dЭто запускает Watchtower рядом с хабом; каждый час он проверяет Docker Hub и
пересоздаёт контейнер приложения, когда существует более новый образ (--cleanup удаляет старые
образы). Ваши данные хранятся в томах, поэтому обновления проходят без потерь.
Разработка
npm install
npm run dev # server (watch) + web (vite dev server on :5173, proxied /api + /mcp)
npm run typecheck # all workspaces
npm run build # shared → server → webСтек: npm workspaces · Fastify 5 · @modelcontextprotocol/sdk · PostgreSQL 16 ·
Vite + React 18 + Tailwind CSS v4 + TanStack Query.
Структура
packages/
shared/ types shared by server & web (manifests, API DTOs, WS events)
server/ Fastify app: auth, registry (connector manifests), ConnectorManager,
unified /mcp proxy, log pipeline, SQL migrations
web/ React SPA served statically by the server in productionДобавление коннектора
Без пересборки (рекомендуется): скопируйте
connectors/example.json.example в
connectors/<your-id>.json, заполните манифест (argv команды с плейсхолдерами {env.NAME}
форма конфигурации JSON-schema) и перезапустите хаб. Недопустимые файлы пропускаются с предупреждением в журналах; пользовательские идентификаторы, конфликтующие со встроенными, игнорируются.
Из GitHub-репозитория: Marketplace → Community repos → вставьте owner/repo (или полный
URL github.com). Хаб получает index.json из корня репозитория (массив путей к файлам)
или возвращается к корневым *.json-файлам, проверяет каждый по той же схеме,
что и манифесты в томах, и кэширует их под идентификаторами community:owner/repo/<id> —
так они никогда не могут перекрыть встроенные и продолжают работать офлайн после первой загрузки.
Управление/удаление репозиториев в том же разделе; изменения применяются при следующем перезапуске.
Встроенный: создайте packages/server/src/registry/connectors/<id>.ts, экспортирующий
ConnectorManifest, и зарегистрируйте его в src/registry/index.ts. Он появится в
маркетплейсе сразу после пересборки.
Сводка REST API
Endpoint | Auth | Описание |
| – | Проверка работоспособности (только ping БД, без деталей) |
| –/session | Учётная запись при первом запуске, вход/выход |
| session |
|
| session | Смена пароля; отзывает все другие сессии |
| session | Список/отзыв активных сессий |
| session | Записи каталога с количеством установок |
| session | Управление репозиториями коннекторов сообщества |
| session | Установка / переименование / удаление |
| session | Сохранение зашифрованной конфигурации |
| session | Жизненный цикл |
| session | Массовые операции |
| session | Живой список инструментов из запущенного процесса |
| session | Хвост журнала |
| session | Управление API-ключами |
| session | Экспорт/импорт конфигурации |
| Bearer key or session | Единая конечная точка MCP (120 запросов/мин на ключ) |
Все изменяющие конечные точки записывают в журнал аудита.
Примечания
Коннекторы работают как дочерние процессы внутри контейнера хаба (
npx -y pkg@versionилиuvx). Docker-сокет не монтируется. Коннекторы на Python требуютuvx— он установлен в образ времени выполнения.Конечная точка MCP — это stateless Streamable HTTP (
/mcp) — подходит любой HTTP MCP-клиент.Ресурсы доступны по адресу
connector://<slug>/<original-uri>.
This server cannot be deployed
Maintenance
Related MCP Connectors
- ElaichiOAuthai.elaichi
Governed AI agents for the software your company already runs. 400+ connectors, one endpoint.
Universal AI API Orchestrator — 1,554 tools, 96 services. One install.
Image, video, audio and chat from 61 AI models through one connector. Pay per use, no subscription.
AI routing, memory, guardrails, and governance. Routes across Claude, GPT, Gemini.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA modular, extensible FastAPI-based platform that aggregates multiple AI tools and microservices into a unified interface with standardized I/O formats, perfect for frontend integration or LLM system orchestration.4MIT
- FlicenseNot gradedqualityCmaintenanceUnified AI Agent SaaS Connector & Multi-Provider Gateway connecting to 1,000+ SaaS platforms, vector databases, and 500+ LLM models via MCP, REST API, and CLI.-
- AlicenseNot gradedqualityAmaintenanceUnified AI gateway that aggregates MCP tools from multiple servers and routes LLM requests with provider combos and fallback, all managed through a web UI.1MIT
- AlicenseAqualityBmaintenanceEnables any AI agent to connect to any OpenAI-compatible LLM provider through a unified MCP interface, with automatic failover, caching, cost tracking, and multi-model consensus.13MIT