Repository navigation
English
MCPBox 1.4.2 fixes public OAuth/MCP connections behind reverse proxies and improves CLI execution, including SSH support.
Highlights
-
Fixed remote HTTP MCP response reading: automatic default Accept header, JSON/SSE decoding in health checks and working calls, matching JSON-RPC IDs, and no automatic request replay. Legacy JSON responses remain supported.
-
OAuth discovery and
/oauth/endpoints are served by the MCP listener (default port38182). With separate listeners, these routes are no longer served by the administration listener (38181). -
Fixed the
WWW-Authenticateheader for protected MCP endpoints: the metadata URL now includes the public origin and the project-specific resource path. -
Added
MCPBOX_PUBLIC_MCP_URLto explicitly configure the public HTTPS origin used for OAuth discovery, resource metadata, and the preferred project MCP URL. -
Fixed the project connection URL displayed and copied in the UI when the administration panel and public MCP endpoint use different domains or ports. The UI now respects the backend-provided URL.
CLI Improvements
-
Added project-level CLI working folders: allow listed folders and subfolders, or explicitly allow all folders accessible to the MCPBox account. The model can select
working_directoryon each call; operation and argument allowlists remain enforced. Settings are independent for projects sharing the same CLI. -
Added an optional Project directory for CLI field to the project editor. An explicitly configured directory must exist on the MCPBox host.
-
CLI commands can now run without a project directory. Each invocation uses a fresh private temporary directory that is removed after execution. This controls the working directory; it is not a filesystem sandbox.
-
SSH commands receive the MCPBox service account's
HOMEandSSH_AUTH_SOCK, when available, enabling use of its SSH configuration, keys, known hosts, and agent. Other CLI programs retain the restricted environment. -
Existing operation and exact-argument allowlists remain enforced, including for SSH remote commands.
-
Added regression tests for CLI execution, persistence across restarts, OAuth listener routing, and public connection URLs. Updated the CLI documentation in English and Russian.
Upgrade and Compatibility Notes
- For a public MCP endpoint, set an HTTPS origin without a path, for example:
MCPBOX_PUBLIC_MCP_URL=https://mcp.example.com. Without a valid explicit origin, request/proxy-based address detection remains in use. - Forward
/mcp/,/oauth/, and/.well-known/to the MCP listener. Keep the administration panel private. Default ports remain38181for administration and38182for MCP. - Set the project CLI directory for workspace-dependent tools such as Git, Go, and Composer. MCP server working directories and FilesSystemMCP paths are separate settings.
- Configure SSH keys, known hosts, and non-interactive authentication under the account running MCPBox. Host key checking remains enabled.
- The previous development notes report a successful ChatGPT OAuth connection through Tailscale Funnel on Ubuntu. This does not establish verification of every deployment or release platform.
Русский
MCPBox 1.4.2 исправляет публичные OAuth/MCP-подключения через обратный прокси и улучшает запуск CLI, включая поддержку SSH.
Основные изменения
-
Исправлено чтение ответов удалённых HTTP MCP: автоматический Accept по умолчанию, разбор JSON/SSE в проверке и рабочих вызовах, сопоставление JSON-RPC ID без повторной отправки запроса. Поддержка прежних JSON-ответов сохранена.
-
OAuth discovery и маршруты
/oauth/обслуживаются MCP listener (по умолчанию порт38182). При раздельных listener эти маршруты больше не обслуживаются административным listener (38181). -
Исправлен заголовок
WWW-Authenticateзащищённых MCP-эндпоинтов: URL метаданных теперь содержит публичный origin и путь ресурса конкретного проекта. -
Добавлена переменная
MCPBOX_PUBLIC_MCP_URLдля явного указания публичного HTTPS origin, используемого в OAuth discovery, метаданных ресурса и основном MCP URL проекта. -
Исправлено отображение и копирование URL подключения в интерфейсе, когда административная панель и публичный MCP-эндпоинт используют разные домены или порты. Интерфейс использует адрес, предоставленный бэкендом.
Улучшения CLI
-
Добавлены рабочие папки CLI на уровне проекта: список с подкаталогами либо явное разрешение всех папок, доступных учётной записи MCPBox. Модель может выбирать
working_directoryпри каждом вызове; проверка операций и аргументов сохраняется. Настройки независимы для проектов, использующих один CLI. -
В редактор проекта добавлено необязательное поле «Каталог проекта для CLI». Явно указанный каталог должен существовать на хосте MCPBox.
-
CLI-команды теперь можно запускать без каталога проекта. Для каждого вызова создаётся отдельный временный каталог, который удаляется после выполнения. Это правило выбора рабочего каталога, а не изоляция доступа к файловой системе.
-
SSH-команды получают
HOMEиSSH_AUTH_SOCKучётной записи, под которой запущен MCPBox, если эти значения доступны. Это позволяет использовать её настройки SSH, ключи, known_hosts и агент. Для остальных CLI сохраняется ограниченное окружение. -
Сохраняется проверка разрешённых операций и точных наборов аргументов, в том числе для удалённых SSH-команд.
-
Добавлены регрессионные тесты запуска CLI, сохранения настроек после перезапуска, маршрутизации OAuth между listener и публичных URL подключения. Документация CLI обновлена на английском и русском.
Обновление и совместимость
- Для публичного MCP-эндпоинта задайте HTTPS origin без пути, например:
MCPBOX_PUBLIC_MCP_URL=https://mcp.example.com. Без корректного явного origin сохраняется определение адреса по запросу и заголовкам прокси. - Направляйте
/mcp/,/oauth/и/.well-known/на MCP listener. Административную панель оставляйте закрытой от публичного доступа. Порты по умолчанию прежние:38181для администрирования и38182для MCP. - Для инструментов, работающих с файлами проекта, например Git, Go и Composer, задайте каталог проекта для CLI. Рабочие каталоги MCP-серверов и пути FilesSystemMCP настраиваются отдельно.
- Настройте SSH-ключи, known_hosts и неинтерактивную аутентификацию для учётной записи, запускающей MCPBox. Проверка ключей хоста остаётся включённой.
- В предыдущих заметках разработки зафиксировано успешное подключение ChatGPT через OAuth и Tailscale Funnel на Ubuntu. Это не подтверждает проверку всех вариантов развёртывания и релизных платформ.