Back to Mcpproxy Go

Стоит ли встраивать в mcpproxy удалённый доступ к локальному инстансу?

docs/research/remote-access-tunnel-research-2026-07-29.html

0.53.026.8 KB
Original Source

mcpproxy-go · deep-research · 29 июля 2026 · 104 агента · 22 источника · 109 извлечённых утверждений · 25 верифицировано (25 подтверждено, 0 опровергнуто)

Стоит ли встраивать в mcpproxy удалённый доступ к локальному инстансу?

«Кнопка в Web UI открывает защищённый туннель наружу» — чтобы Claude mobile (и другие клиенты) доставали до локальных MCP-серверов вроде Obsidian MCP.

Вердикт: ПРОБУЕМ — но как security-gated MVP, а не «голый туннель»

  • Спрос реален и подтверждён: Claude custom connectors работают на всех тарифах, включая Free, и синхронизируются на iOS/Android — но требуют публично доступный HTTPS-endpoint со Streamable HTTP и OAuth 2.1. Localhost-mcpproxy без туннеля недостижим для Claude в принципе (подключается облако Anthropic, не телефон).
  • Ниша не занята: ngrok официально документирует себя как «MCP gateway», OpenAI выпустила собственный first-party Secure MCP Tunnel — а ближайший конкурент Docker MCP Gateway такой функции не имеет при открытом запросе от пользователей (issue #503).
  • Планка безопасности жёсткая: в интернете уже тысячи неаутентифицированных MCP-серверов (Censys: 12,5 → 21+ тыс.). Фича обязана быть off-by-default, per-server, с невыключаемым OAuth 2.1 + DCR на уровне самого mcpproxy.
  • Монетизация напрямую — нет: при 100–300 DAU платящих будет единицы (~1–15 чел., $10–150/мес — оценка, см. §7); бесплатные Cloudflare Tunnel / Tailscale Funnel убивают ценность платного relay. Ценность фичи — рост и дифференциация , мостик к монетизации позже, если появится массовый спрос.
  • Рекомендуемый MVP — архитектура (a): UX-обёртка над внешним туннелем (cloudflared / Tailscale Funnel; опц. zrok SDK / tsnet как embed-вариант), спереди — собственный обязательный OAuth-гейт mcpproxy. Свой relay-бэкенд и юрлицо — не сейчас.

25/25

утверждений подтверждено (3-голосная адверсариальная проверка)

0

опровергнуто

5

направлений поиска

22

источника (Anthropic, OpenAI, NSA, Censys, Trend Micro, CSA…)

1. Спрос: что реально могут мобильные AI-клиенты верифицировано 3-0

Claude — сильная и фактически единственная цель сегодня

  • Custom connectors через remote MCP доступны на всех тарифах : Free (лимит — 1 коннектор), Pro, Max, Team, Enterprise; и во всех клиентах: claude.ai web, Claude Desktop, Cowork, iOS/Android. Проверено дословно на живой странице поддержки 29.07.2026.
  • Нюанс UX: добавить коннектор с телефона нельзя — настройка только на claude.ai web, затем коннектор синхронизируется на мобильные. На Team/Enterprise добавлять могут только Owners.
  • Туннель — необходимость, а не удобство: к MCP-серверу подключается облако Anthropic (не устройство пользователя), поэтому endpoint должен быть достижим из интернета с IP-диапазонов Anthropic. Localhost, LAN, корпоративный VPN и «обычный» Tailscale (без Funnel) — не работают. Локальные stdio-серверы из claude_desktop_config.json живут только в Claude Desktop и недоступны в web/mobile.
  • Это ровно тот сценарий, который нужен Algis'у: Obsidian MCP с телефона — сейчас недостижим без туннеля, и встроенного решения у Anthropic нет (открытый feature request на Tailscale-only connectivity это подтверждает).

ChatGPT — слабая цель medium confidence

  • Кастомные MCP apps/connectors: «Are MCP apps available on mobile? No — web only» (дословно из FAQ OpenAI, июль 2026). Доступ только на web, за developer mode / планами Business-Enterprise-Edu.
  • Для локальных серверов OpenAI предлагает собственный Secure MCP Tunnel (май 2026) — но он требует Platform-org доступа, ориентирован на enterprise, не consumer one-click. Т.е. OpenAI сама подтверждает паттерн, но не закрывает consumer-нишу.

Источники: support.claude.com #11175166 · claude.com/docs/connectors/building · help.openai.com #12584461 · OpenAI Secure MCP Tunnels

2. Технические требования клиентского пути верифицировано

ТребованиеДеталиСтатус в mcpproxy
ТранспортStreamable HTTP (легаси HTTP+SSE депрекируется)есть — /mcp уже Streamable HTTP
Публичная достижимостьHTTPS-endpoint, доступный с IP-диапазонов Anthropicнет — нужен туннель (предмет фичи)
АвторизацияOAuth 2.1-сервер по MCP auth-спекам 2025-03-26 / 2025-06-18 / 2025-11-25, PKCEчастично — есть OAuth-клиент (internal/oauth) и OAuth-логин в server edition (Spec 024); серверной роли для personal edition нет
Dynamic Client RegistrationDCR — zero-config default для Claude (ручные креды тоже поддерживаются)нет — надо реализовать
Redirect URI allowlisthttps://claude.ai/api/mcp/auth_callback + https://claude.com/… (Anthropic предупреждает: домен может смениться) + loopback для Claude Codeнет
Token lifecycleПротокол не задаёт refresh/revocation/reuse-контроль — прокси должен сам управлять истечением/ротацией/отзывом (NSA)частично — есть agent tokens (HMAC-SHA256), JWT в server edition

3. Прецеденты и конкуренты

ИгрокЧто делаетВывод для mcpproxy
ngrok 3-0Официальная документация «Using ngrok as your MCP gateway»: экспонирование локального MCP для OpenAI/Claude. Рекомендует лишь static bearer + IP-allowlist + rate limits.Паттерн легитимизирован вендором №1. Их security-планка низкая — mcpproxy может её превзойти (полноценный OAuth 2.1 + DCR).
OpenAI Secure MCP Tunnel 3-0First-party продукт (27.05.2026, open-source клиент): outbound-only HTTPS к OpenAI-hosted MCP endpoint. Требует Platform org.Сильнейший сигнал валидности паттерна. Enterprise-ориентирован → consumer-desktop-ниша свободна.
Docker MCP Gateway 2-1Чисто локальный прокси, туннеля/remote-exposure нет. Открытый feature request #503 «expose MCP servers remotely on public internet» — пользователи городят Cloudflare Tunnel + OAuth 2.1 руками.Прямое свидетельство неудовлетворённого спроса; ближайший конкурент нишу не занял. (Proof-of-absence — перепроверить при реализации.)
Smithery / Composio / Glama / LiteLLMпробел покрытия — по ним верифицированных данных не собрано (см. §9).

Дополнительный контекст из fetch-фазы (не прошёл финальную верификацию): типовой «playbook» для деплоя кастомных агентов на Claude mobile рекомендует облачный хостинг (~$15/мес Cloud Run) и даже не упоминает туннели — то есть однокнопочный локальный туннель в mcpproxy закрыл бы дыру, которую сейчас затыкают платным облаком.

4. Безопасность: масштаб проблемы верифицировано 3-0 (6 слитых утверждений)

Это главный риск фичи. Незащищённая экспозиция MCP — массовый, измеряемый сканерами феномен:

  • Censys: 12 520 интернет-доступных MCP-сервисов / 8 758 IP / 56 стран (28.04.2026) → 21 000+ к 06.05.2026 (частично — расширение покрытия сканера). Возможности серверов перечислимы полностью неаутентифицированным клиентом; ~90 серверов рекламировали run_command/shell_exec-класс инструментов = неаутентифицированный RCE.
  • Trend Micro: когорта выросла с 492 (июль 2025, все — без auth и шифрования) до 1 467; execute_sql на 70 хостах, Graphiti Agent Memory на 39, 3+ сервера сливали медкарты пациентов. (~74% когорты — cloud-hosted, но failure mode идентичен туннелированному локальному.)
  • CSA / arXiv: 7 973 каталогизированных открытых серверов, 40,55% — вовсе без аутентификации.
  • Спека MCP: «Authorization is OPTIONAL for MCP implementations» — на upstream-серверы полагаться нельзя.
  • CVE-2025-6514 (из fetch-фазы, не в финальном сете): command injection в mcp-remote, 437 тыс.+ загрузок — даже мостики-посредники были дырявыми.

Конвергенция рекомендаций (NSA CSI + Trend Micro): OAuth-аутентификация клиентов + reverse-proxy/gateway-слой с authn/authz/логированием перед любым интернет-экспонированным MCP — ровно роль mcpproxy. NSA отдельно: MCP OAuth 2.1 bearer не задаёт lifecycle токенов → прокси обязан сам реализовать expiration/rotation/revocation. Практический мандат: OAuth 2.1 + PKCE на воротах туннеля, невыключаемо, с proxy-managed token lifecycle.

Источники: Censys · Trend Micro · NSA CSI (U/OO/6030316-26) · CSA · arXiv:2605.22333 · MCP spec

5. Не противоречит ли это local-first? 3-0

Нет — при правильной постановке. NSA прямо рекомендует предпочитать локальные MCP-инстансы для приватных данных и пропускать внешние подключения через фильтрующие прокси/DLP. В продуктовых терминах фича — « local-first с охраняемой дверью », а не «cloud-first»:

  • обработка и данные остаются локально; наружу — только явно выбранное;
  • туннель строго off-by-default ;
  • экспонирование per-server (allowlist, least privilege): открыть наружу Obsidian MCP ≠ открыть весь прокси;
  • на воротах — существующая машинерия mcpproxy: quarantine, sensitive-data detection, activity log, intent-варианты call_tool_*.

Более того, это усиливает позиционирование: пользователь получает облачный UX без передачи данных в чьё-либо облако — данные проходят транзитом через туннель, но живут дома. (Оговорка воркфлоу: NSA-гайд написан для enterprise; перенос на продукт — интерпретация, не прямая валидация.)

6. Что уже есть в mcpproxy (локальный аудит репозитория)

АктивГдеПереиспользование для фичи
OAuth-логин Google/GitHub/MS: PKCE, session cookie + JWT bearer для MCPServer edition, Spec 024 (internal/serveredition/auth/)Прямой прототип «пароль/OAuth как в SynapBus». Но код за build-тегом server — для personal edition нужен перенос/адаптация.
OAuth 2.1-клиент + PKCE, координатор, refreshinternal/oauth/Частично: нужна серверная роль (authorization server + DCR) — открытый вопрос объёма работ (§9).
Agent tokens (mcp_agt_, HMAC-SHA256), API-ключи, require_mcp_authSpec 028, coreГотовые скоупированные креды — быстрый фолбэк-механизм до полного OAuth.
Quarantine + TPA-сканер, sensitive-data detection, activity loginternal/security/, internal/runtime/Готовый «gateway-слой с authn/authz/логированием», который NSA/Trend Micro требуют перед экспонированием.
Туннелей нет; официальная позиция — «BYO Tailscale/WireGuard/SSH»docs/getting-started/installation.md:247Фича закрывает разрыв между рекомендацией и однокнопочным UX.

7. Архитектурные варианты и экономика

Внимание: ни одно экономическое утверждение (цены туннелей, стоимость relay, конверсия free→paid) не прошло верификацию воркфлоу — до verify-фазы дошли только спрос/прецеденты/безопасность. Цифры ниже — из fetch-фазы (сырьё из блогов/прайс-страниц) и помечены как неверифицированные.

Цены туннелей не верифицировано

СервисFree tierПлатно
Cloudflare TunnelБесплатно, без лимитов трафика для типового использования
Tailscale (Funnel)Personal: до 6 юзеров, 100 устройств — $0$8–18 /юзер/мес
ngrok1 ГБ/мес, 3 endpoint'а, interstitial-страницаHobbyist $8–10/мес (5 ГБ); PAYG от $20
zrok (NetFoundry)5 ГБ/ день , 25 environments; open source, self-hostable, Go SDKhosted-тарифы NetFoundry
Pinggy / Homeway / localtunnelfree (с ограничениями)$2.5 / $2.49 / — в мес

Вывод по ценам: рынок туннелей переполнен (40+ open-source инструментов в awesome-tunneling), якорные цены — $0–2.5/мес. Продавать сам туннель за $5–10/мес против бесплатного Cloudflare — нежизнеспособно.

Сравнение архитектур

(a) BYO-туннель, UX-обёртка(b) Собственный relay(c) P2P / WebRTC
Что этоmcpproxy оркестрирует cloudflared / Tailscale Funnel (или embed: zrok SDK, tsnet — оба Go-native, in-process, без root) + свой обязательный OAuth-гейтСвой backend: relay-серверы, домены, abuse-handling, биллинг, юрлицоПрямое соединение устройство↔устройство
Стоимость для нас~0 инфраструктуры; только кодBandwidth + опс + юрлицо + приём платежейСредняя (STUN/TURN)
Стоимость для юзера$0 (Cloudflare/Tailscale free)Подписка $5–10$0
Совместимость с ClaudeДа — публичный HTTPS URLДаНет — соединение инициирует облако Anthropic/OpenAI , ему нужен публичный HTTPS endpoint; P2P до телефона не поможет для Claude app
ВердиктMVPТолько при доказанном спросеНе для этого сценария

Прогноз для 100–300 DAU оценка, не данные

  • Заинтересуются (пользуются Claude web/mobile и хотят доступ к локальным серверам): по аналогии с активностью запросов у конкурентов и долей mobile-юзеров — порядка 15–30% ≈ 15–90 человек попробуют.
  • Заплатят $5–10/мес за hosted relay при бесплатных альтернативах: типовая конверсия OSS free→paid 1–5% даёт ~1–15 платящих ≈ $10–150/мес — не окупает ни backend, ни юрлицо.
  • Но: как бесплатная фича это сильный магнит роста («Obsidian с телефона через Claude за 2 клика» — готовый вирусный сценарий для блога/YouTube) и строительный блок будущей монетизации (mcpproxy Cloud / Teams), когда DAU вырастет на порядок. Мостик к монетизации — да; монетизация сейчас — нет.

8. Рекомендация: MVP по фазам

  1. Фаза 0 — OAuth-ворота (пререквизит): OAuth 2.1 authorization server в personal edition: DCR endpoint, PKCE, allowlist callback-доменов Claude (оба: claude.ai и claude.com), собственный lifecycle токенов (expiry/rotation/revocation). Максимум переиспользовать Spec 024 (server edition) и internal/oauth. Это ценность и без туннеля — любой сам-настроенный reverse proxy станет безопасным.
  2. Фаза 1 — BYO-туннель UX: кнопка «Открыть удалённый доступ» в Web UI: детект/запуск cloudflared (quick tunnel — бесплатно, без аккаунта) или Tailscale Funnel; показ итогового URL + QR + пошаговая инструкция «добавьте коннектор на claude.ai web → появится на телефоне». Off-by-default, per-server allowlist экспонируемых серверов, баннер-предупреждение, всё в activity log.
  3. Фаза 2 — embed-вариант: если внешний бинарь — трение, встроить zrok SDK (Go-first, self-hostable) или tsnet (нужно проверить Funnel-доступность через tsnet). Телеметрия использования фичи (opt-in) — она и ответит, есть ли спрос для фазы 3.
  4. Фаза 3 (условная) — hosted relay: только при доказанном спросе (сотни активных туннелей): управляемые поддомены *.mcpproxy.app, биллинг, юрлицо. Не раньше.

Перед стартом: спот-перепроверить proof-of-absence утверждения (Docker всё ещё без туннеля; у Claude web/mobile всё ещё нет локального пути) и актуальность callback-доменов — Anthropic явно предупреждает, что они могут смениться.

9. Открытые вопросы и оговорки воркфлоу

  • Экономика не верифицирована: вопрос 4 исследования (цены, стоимость relay, конверсии, прецеденты Tailscale/Headscale/LocalCan) не покрыт подтверждёнными утверждениями — прогноз §7 опирается на неверифицированное сырьё и экспертную оценку.
  • Пробел по MCP-экосистеме: mcp-remote, Smithery, Composio, Glama, LiteLLM gateway — верифицированных данных нет; конкурентная картина подтверждена только для Docker MCP Gateway, ngrok и OpenAI.
  • Объём работ по OAuth-серверу (DCR + lifecycle) внутри mcpproxy не оценён — сколько из internal/oauth (клиентская роль) переиспользуемо, надо смотреть в коде.
  • Волатильность вендорских политик: все факты о клиентах (Free-tier коннекторы, mobile sync, web-only setup, отсутствие ChatGPT mobile, депрекация SSE) проверены на 29.07.2026 и могут измениться быстро. Если OpenAI выкатит consumer-туннель или Anthropic разрешит private-network connectivity — адресуемость фичи изменится.
  • Нюансы измерений: рост Censys частично от расширения сканера; когорта Trend Micro на ~74% cloud-hosted (аналогия, не идентичная популяция); «примерно половина» у CSA завышает измеренные 40,55%.
  • Три вывода включают утверждения с голосованием 2-1 (пробел Docker, нюанс Cowork, DCR, ChatGPT mobile) — каждое сверено с первоисточником, но с оговорками.

10. Методология и источники

Deep-research workflow: декомпозиция на 5 направлений → 5 параллельных поисковых агентов → фетч 22 источников → извлечение 109 фальсифицируемых утверждений → адверсариальная верификация топ-25 (3 независимых «опровергателя» на утверждение, порог 2/3) → синтез. Итог: 25 подтверждено, 0 опровергнуто, 8 отброшено по бюджету. 104 агента, ~4,1 млн токенов, 13 мин.

#Ключевые источники (22)

Отчёт сгенерирован Claude Code (deep-research workflow, 104 агента) · 29 июля 2026 · файл: docs/research/remote-access-tunnel-research-2026-07-29.html