MCP Cloud Gateway

MCP Cloud Gateway

Unifies local MCP servers into a single secure Cloudflare Tunnel endpoint, making them accessible to MCP clients like Notion and Claude. Supports HTTP/SSE/stdio servers, built-in file system tools, bearer authentication, and one-click Windows setup.

Category
Visit Server

README

MCP Cloud Gateway

Windows-приложение, которое объединяет локальные MCP-серверы в одну защищённую ссылку и публикует её через Cloudflare Tunnel.

Подключите к Notion, Claude, Cursor или другому MCP-клиенту один адрес:

https://your-tunnel.trycloudflare.com/mcp?token=YOUR_TOKEN

Все включённые HTTP, SSE, stdio и встроенные серверы становятся доступны через этот единый endpoint.

Возможности

  • Единый MCP endpoint /mcp — инструменты всех включённых серверов в одном подключении.
  • Cloudflare Tunnel — публичный HTTPS без проброса портов и белого IP.
  • Совместимость с Notion — Streamable HTTP и legacy SSE, абсолютный callback endpoint и авторизация в URL.
  • HTTP/SSE и stdio — проксирование запущенных серверов и запуск локальных серверов через npx или другую команду.
  • Автодетект — поиск MCP на типовых локальных портах с настоящим initialize.
  • Управление инструментами — понятные названия, метки READ/WRITE и отдельный переключатель каждого инструмента.
  • Встроенная файловая система — доступ к пользовательским путям и дискам с блокировкой системных каталогов Windows/Linux.
  • Bearer-авторизация — общий токен, сравнение постоянного времени, возможность перевыпуска.
  • Диагностика — журнал запросов, события, поиск, фильтры и экспорт CSV/NDJSON.
  • Автоустановка — приложение может самостоятельно установить Node.js и cloudflared в свою папку данных.

Что исправлено в v1.0.7

  • Длинная строка версии cloudflared больше не вылезает из зелёного индикатора и не перекрывает кнопку обновления.
  • На главной показываются запросы за текущий запуск приложения, а не накопленный счётчик из старого файла логов.
  • История за последние 24 часа по-прежнему доступна в подписи и разделе логов.
  • Сообщение Failed to proxy HTTP: context canceled больше не отображается как авария туннеля: это штатное закрытие длинного SSE-соединения клиентом.
  • Версия сборки берётся из package.json, поэтому имена Setup и Portable .exe совпадают с релизом.

Быстрый старт для пользователя

Готовый .exe

В GitHub Releases доступны два варианта:

  • MCP-Cloud-Gateway-Setup-1.0.7.exe — обычный установщик Windows x64.
  • MCP-Cloud-Gateway-1.0.7-portable.exe — портативная версия без установки.
  1. Запустите приложение.
  2. На первом экране установите Node.js и cloudflared автоматически.
  3. Добавьте MCP-сервер вручную или через Автодетект.
  4. Запустите шлюз и Cloudflare Tunnel.
  5. На главной нажмите Скопировать для Notion.
  6. Вставьте полученный адрес в настройках MCP-подключения Notion.

При включённой авторизации используйте именно кнопку копирования: она добавляет токен к адресу /mcp.

Подключение к Notion

В Notion нужен единый URL шлюза, а не адрес отдельного сервера:

https://example.trycloudflare.com/mcp?token=YOUR_TOKEN

После подключения Notion получает инструменты всех включённых серверов. Для предотвращения конфликтов шлюз публикует имена в формате:

server-slug__tool_name

Например:

files__read_file
files__list_directory
github__search_repositories

Встроенный файловый MCP

Встроенный сервер позволяет работать с пользовательскими файлами на доступных дисках. По умолчанию доступны:

Инструмент Режим Назначение
list_roots READ Список доступных дисков и расположений
list_directory READ Содержимое каталога
read_file READ Чтение текстового файла
write_file WRITE Создание или перезапись файла
create_directory WRITE Создание каталога
delete_path WRITE Удаление; по умолчанию выключено
move_path WRITE Перемещение; по умолчанию выключено

Защищённые системные области

На Windows блокируются Windows, Program Files, Program Files (x86), ProgramData, Recovery, Boot, $Recycle.Bin и System Volume Information. На Linux блокируются основные системные каталоги: /etc, /usr, /bin, /sbin, /boot, /proc, /sys, /dev, /lib, /run и /var.

Проверяется как исходный путь, так и фактический путь после разрешения символических ссылок.

Маршруты

Маршрут Назначение
GET/POST /mcp Единый MCP всех включённых серверов
POST /mcp/message Callback legacy SSE-сессии
ANY /mcp/<slug> Прямое подключение к конкретному серверу
GET /health Публичная проверка состояния
GET / Краткий JSON-манифест шлюза

Токен принимается тремя способами:

Authorization: Bearer YOUR_TOKEN
X-Api-Key: YOUR_TOKEN

или в URL:

/mcp?token=YOUR_TOKEN

Добавление серверов

HTTP / Streamable HTTP / SSE

Укажите название и локальный URL сервера, например:

http://127.0.0.1:3000/mcp

stdio

Укажите команду и аргументы, например:

Команда:    npx
Аргументы:  -y @modelcontextprotocol/server-postgres POSTGRES_URL

Шлюз запустит процесс по первому запросу и преобразует stdio JSON-RPC в HTTP.

Разработка

Требования:

  • Node.js 18 или новее;
  • npm;
  • Windows 10/11 для сборки Windows .exe.
npm install
npm run dev

Проверка типов и production-сборка интерфейса:

npm run typecheck
npm run build

Сборка Windows

Обычная сборка:

npm install
npm run dist

Или запустите:

build-exe.bat

Если права администратора недоступны:

build-exe-no-admin.bat

Артефакты появятся в release/:

MCP-Cloud-Gateway-Setup-1.0.7.exe
MCP-Cloud-Gateway-1.0.7-portable.exe

Подробности и решение ошибки Windows symlink находятся в BUILD-WINDOWS.md.

Автоматический GitHub Release

В репозитории есть workflow .github/workflows/release.yml. Чтобы собрать .exe и создать релиз:

git tag v1.0.7
git push origin v1.0.7

GitHub Actions на Windows:

  1. установит зависимости;
  2. соберёт Setup и Portable .exe;
  3. сформирует архив исходников;
  4. прикрепит все файлы к GitHub Release.

Где хранятся данные

Windows: %APPDATA%\mcp-cloud-gateway\
macOS:   ~/Library/Application Support/mcp-cloud-gateway/
Linux:   ~/.config/mcp-cloud-gateway/

Основные файлы:

config.json   настройки, серверы и токен
logs.ndjson   журнал, если включена запись на диск
runtime/      управляемые копии Node.js и cloudflared

Решение проблем

Notion бесконечно подключается

  • Используйте ссылку с главной страницы, заканчивающуюся на /mcp?token=....
  • Перезапустите шлюз и туннель после обновления.
  • Удалите старое MCP-подключение из Notion и создайте новое, если Notion закэшировал старую схему.

Invalid content type, expected text/event-stream

Убедитесь, что используется /mcp, а не только домен туннеля. Версия 1.0.7 поддерживает legacy SSE и Streamable HTTP.

context canceled в cloudflared

Это штатное закрытие SSE-соединения клиентом, а не падение туннеля. В v1.0.7 такие сообщения скрываются из красного статуса.

Туннель не подключается через VPN

Выберите http2 и IPv4 в настройках туннеля или запустите автоматический подбор параметров. QUIC использует UDP и часто блокируется VPN или корпоративной сетью.

Порт 8787 занят

Измените порт в Настройки → Шлюз, затем перезапустите шлюз.

Безопасность

  • По умолчанию шлюз слушает только 127.0.0.1.
  • Публичный доступ идёт через HTTPS Cloudflare Tunnel.
  • Не публикуйте URL, содержащий токен.
  • Перевыпустите токен, если он попал в логи, скриншот или публичный issue.
  • Выключайте ненужные серверы и WRITE-инструменты.
  • Быстрые домены trycloudflare.com меняются после перезапуска туннеля; для постоянного адреса используйте именованный туннель.

Структура проекта

electron/
  main.js
  preload.js
  lib/
    gateway.js
    cloudflared.js
    runtime.js
    detect.js
    stdio-bridge.js
    builtin-filesystem.js
    mcp-tools.js
    logs.js
    store.js
src/
  components/
  views/
  state/
  styles/
preview/
build/

Лицензия

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured