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.
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— портативная версия без установки.
- Запустите приложение.
- На первом экране установите Node.js и
cloudflaredавтоматически. - Добавьте MCP-сервер вручную или через Автодетект.
- Запустите шлюз и Cloudflare Tunnel.
- На главной нажмите Скопировать для Notion.
- Вставьте полученный адрес в настройках 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:
- установит зависимости;
- соберёт Setup и Portable
.exe; - сформирует архив исходников;
- прикрепит все файлы к 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/
Лицензия
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.