Skip to main content
Glama
s3hq4y
by s3hq4y

Portal

Portal

English · 简体中文

Portal — это расширение VS Code, которое представляет текущее рабочее пространство как публичный MCP-эндпоинт. Оно намеренно минималистично: только команды и передача файлов.

Что вы получаете

Поверхность

Назначение

MCP Streamable HTTP

https://<tunnel>/mcp/<token>

File HTTP API

https://<tunnel>/files/<token>/… (тот же токен)

Sidebar + настройки

Плоская панель в стиле Win10: запуск/остановка, копирование URL, состояние туннеля

Терминал Portal Agent

Необязательное живое зеркало ввода/вывода run_command

Related MCP server: FreeRDC Community Edition

Инструменты MCP (ровно пять)

Инструмент

Назначение

run_command

Команда на переднем плане. Тайм-аут по умолчанию — 120s (макс. 600s). Используйте command + shell, или execute + args (можно обойтись без синтаксиса оболочки).

start_command

Запускает длительный процесс. Возвращает command_id и PID. До четырёх одновременных задач.

read_command

Инкрементальное чтение stdout/stderr по смещению. Опустите command_id, чтобы получить список сохранённых задач. Завершённые записи удаляются через 10 минут.

stop_command

Остановить фоновое задание и его дерево процессов (force пропускает 2-секундное окно корректного завершения).

file_transfer_info

Публичный базовый URL файлового API, ограничение размера и curl-примеры.

Командные оболочки: powershell (по умолчанию в Windows), pwsh, cmd, bash / sh (Git Bash при наличии). UTF-8 настраивается автоматически.

Сессии — повторно используйте Mcp-Session-Id из initialize. Если он потерян или отклонён, снова выполните initialize — не изобретайте собственный ID.

Здесь нет инструментов read_file / write_file / edit_file / list_* / search_files. Читать и записывать можно через оболочку или HTTP-интерфейс файлов.

Передача файлов (двунаправленный HTTP)

Тот же туннель и токен, что и для MCP. Максимальный размер по умолчанию: 64 МиБ (portal.maxTransferBytes). Загрузка атомарно заменяет файл. Скачивание поддерживает заголовок Range и возвращает SHA-256.

GET    {base}?op=info              capability + workspace
GET    {base}?glob=**/*            list files
GET    {base}/<relpath>            download
HEAD   {base}/<relpath>            metadata
PUT    {base}/<relpath>            upload
DELETE {base}/<relpath>            delete
POST   {base}?op=pack              zip  JSON { "paths": ["src"] }
POST   {base}?op=unpack&dest=.     unzip (raw zip body)

Для бесплатных доменов ngrok требуется заголовок ngrok-skip-browser-warning: 1.

# download
curl -fsSL -H "ngrok-skip-browser-warning: 1" \
  "$BASE/README.md" -o README.md

# upload
curl -fsSL -H "ngrok-skip-browser-warning: 1" \
  -T ./photo.png "$BASE/incoming/photo.png"

# pack a folder
curl -fsSL -H "ngrok-skip-browser-warning: 1" \
  -H "Content-Type: application/json" \
  -d '{"paths":["src"]}' "$BASE?op=pack" -o src.zip

Провайдеры туннелей

Провайдер

URL

Примечания

cloudflare-quick (по умолчанию)

новый случайный домен trycloudflare.com при каждом запуске

Быстро попробовать; нестабильно

cloudflare-named

фиксированный hostname

нужен сохранённый токен туннеля, публичный hostname, фиксированный локальный порт

ngrok-reserved

зарезервированный домен (например, *.ngrok-free.dev)

Постоянный URL

custom

ваша команда или существующий URL

Плейсхолдеры: {{port}} {{token}} {{workspace}}. Пустая команда + customTunnelUrl = режим подключения

Токен маршрута — эта секретный сегмент пути. MCP доступен по /mcp/<token>. Оставьте portal.routeToken пустым, чтобы сгенерировать его при запуске.

Команды (палитра)

  • Portal: Запуск / Остановка

  • Portal: Скопировать URL

  • Portal: Проверить туннель

  • Portal: Настройки

  • Portal: Установить cloudflared / Установить/Обновить ngrok

  • Portal: Показать журнал / Показать терминал агента

Полезные настройки: portal.startOnActivation (включено по умолчанию), portal.showCommandsInTerminal, portal.localPort (0 = авто, кроме именованного Cloudflare).

Сборка

Требуется Node 18+ и VS Code ^1.95.0.

npm install
npm run build      # esbuild → dist/extension.js
npm run typecheck
npm run package    # .vsix (no bundled node_modules)

Загрузите упакованный VSIX или запустите расширение в настольном VS Code (extensionKind: ui + workspace).

Лицензия

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Expose your VS Code workspace's tools — files, terminal, LSP, diagnostics, and images — to remote MCP clients over a public HTTPS tunnel.
    5
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables a remote MCP client to access narrowly scoped local filesystem resources and process capabilities through a loopback-only bridge. Supports guarded file reads, searches, and mutations, authenticated transport, and private reachability via OpenAI Secure MCP Tunnel.
    1
    AGPL 3.0
  • A
    license
    A
    quality
    A
    maintenance
    Enables MCP clients to securely work with local files, directories, searches, terminal sessions, and processes on paired computers via outbound connections, without exposing inbound ports.
    2
    7
    1
    MIT