Skip to main content
Glama
s3hq4y
by s3hq4y

Portal

Portal

English · 简体中文

Portal は、現在のワークスペースを 公開 MCP エンドポイント として公開する VS Code 拡張機能です。意図的に小さく構成されており、コマンドとファイル転送のみです。

任意の MCP クライアント(Claude、ChatGPT、Cursor、カスタムエージェント、curl)をトンネル経由で自分のマシンに接続できます。エージェントはシェルを実行し、ファイルを移動できます。MCP ツールによるテキスト編集はできません — そのようなツールは存在しません。

提供されるもの

項目

役割

MCP Streamable HTTP

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

ファイル HTTP API

https://<tunnel>/files/<token>/…(同じトークン)

サイドバー + 設定

Win10 風のフラットパネル: 開始/停止、URL コピー、トンネル状態

Portal Agent ターミナル

run_command の I/O をライブミラー(オプション)

Related MCP server: FreeRDC Community Edition

MCP ツール(ちょうど 5 つ)

ツール

説明

run_command

フォアグラウンドコマンド。既定のタイムアウトは 120 秒(最大 600 秒)。command + shell を使うか、シェル構文が不要な場合は executable + args(後者を推奨)。

start_command

長時間動作するプロセスを起動し、command_id と PID を返します。同時ジョブは最大 4 つ。

read_command

stdout/stderr をオフセット指定で段階的に取得。command_id を省略すると保持ジョブを一覧表示します。完了済みレコードは 10 分で失効します。

stop_command

バックグラウンド ジョブとそのプロセスツリーを停止(force は 2 秒の猶予期間をスキップ)。

file_transfer_info

公開ファイル API のベース URL、サイズ制限、curl の例を提供します。

シェル: powershell(Windows の既定)、pwsh、cmd、bash/sh(Git Bash があればそれ)。UTF-8 は自動設定されます。

セッション: initialize で得られた Mcp-Session-Id を再利用してください。失われた場合や拒否された場合は、もう一度初期化してください — ID をでっち上げないでください。

read_file / write_file / edit_file / list_* / search_files ツールはありません。シェルまたは HTTP ファイル API を使って読み書きしてください。

ファイル転送(双方向 HTTP)

MCP と同じトンネルとトークンを使用します。既定の最大サイズは 64 MiB(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

固定ホスト名

保存済み Tunnel トークン、公開ホスト名、固定ローカルポートが必要

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