Skip to main content
Glama
s3hq4y
by s3hq4y

Portal

Portal

English · 简体中文

Portal ist eine VS Code-Erweiterung, die den aktuellen Arbeitsbereich als öffentlichen MCP-Endpunkt bereitstellt. Sie ist bewusst klein gehalten: nur Befehle und Dateiübertragung.

Verbinden Sie jeden MCP-Client (Claude, ChatGPT, Cursor, einen benutzerdefinierten Agenten, curl) über einen Tunnel mit Ihrem Rechner. Der Agent kann Shells ausführen und Dateien verschieben. Er kann Text nicht über MCP-Tools bearbeiten – es gibt keine.

Was Sie erhalten

Oberfläche

Rolle

MCP Streamable HTTP

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

File HTTP API

https://<tunnel>/files/<token>/… (gleicher Token)

Seitenleiste + Einstellungen

Flaches Panel im Win10-Stil: Start/Stopp, URL kopieren, Tunnel-Status

Portal-Agent-Terminal

Optionaler Live-Spiegel der run_command-Ein-/Ausgabe

Related MCP server: FreeRDC Community Edition

MCP-Tools (genau fünf)

Tool

Beschreibung

run_command

Führt einen Vordergrundbefehl aus. Standard-Timeout: 120s (max. 600s). Verwenden Sie command + shell oder executable + args (bevorzugt, wenn Sie keine Shell-Syntax benötigen).

start_command

Startet einen lang laufenden Prozess. Gibt command_id und PID zurück. Bis zu vier gleichzeitige Jobs.

read_command

Inkrementelles stdout/stderr per Offset. Ohne command_id werden zurückbehaltene Jobs aufgelistet. Abgeschlossene Datensätze verfallen nach 10 Minuten.

stop_command

Stoppt einen Hintergrund-Job und dessen gesamten Prozessbaum (force überspringt das 2er-Graceful-Fenster).

file_transfer_info

Öffentliche FileAPI-Basis-URL, Größenlimit und curl-Beispiele.

Shells: powershell (Windows-Standard), pwsh, cmd, bash / sh (Git Bash, wenn vorhanden). UTF-8 wird automatisch eingerichtet.

Sitzung: Verwenden Sie die Mcp-Session-Id aus initialize erneut. Wenn sie verloren geht oder abgelehnt wird, führen Sie initialize erneut aus – erfinden Sie keine ID.

Es gibt keine read_file / write_file / edit_file / list_* / search_files-Tools. Verwenden Sie zum Lesen und Schreiben die Shell oder die HTTP-Datei-API.

Dateiübertragung (bidirektionales HTTP)

Derselbe Tunnel und Token wie bei MCP. Standardmaximalgröße: 64 MiB (portal.maxTransferBytes). Uploads werden atomar ersetzt. Downloads unterstützen Range und geben SHA-256 zurück.

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)

Kostenlose ngrok-Domains benötigen den Header 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

Tunnel-Anbieter

Anbieter

URL

Bemerkungen

cloudflare-quick (Standard)

neue zufällige trycloudflare.com-URL bei jedem Start

Schnell auszuprobieren; nicht stabil

cloudflare-named

fester Hostname

Erfordert gespeichertes Tunnel-Token, öffentlichen Hostname, festen lokalen Port

ngrok-reserved

reservierte Domain (z. B. *.ngrok-free.dev)

Dauerhafte URL

custom

eigener Befehl oder eigene URL

Platzhalter: {{port}} {{token}} {{workspace}}. Leerer Befehl + customTunnelUrl = Anhängen-Modus

Der Route-Token ist der geheime Pfadbestandteil. MCP befindet sich unter /mcp/<token> stehen. Lassen Sie portal.routeToken leer, um bei jedem Start einen zu generieren.

Befehle (Befehlspalette)

  • Portal: Start / Stop

  • Portal: Copy URL

  • Portal: Check Tunnel

  • Portal: Settings

  • Portal: Install cloudflared / Install/Upgrade ngrok

  • Portal: Show Log / Show Agent Terminal

Nützliche Einstellungen: portal.startOnActivation (standardmäßig aktiviert), portal.showCommandsInTerminal, portal.localPort (0 = automatisch, außer bei benanntem Cloudflare).

Build

Erforderlich sind Node 18+ und 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)

Laden Sie die gepackte VSIX oder führen Sie die Erweiterung in einem Desktop-VS Code Host aus (extensionKind: ui + workspace).

Lizenz

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