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>

File HTTP API

https://<tunnel>/files/<token>/… (같은 토큰)

사이드바 + 설정

Win10 스타일 플랫 패널: 시작/중지, URL 복사, 터널 상태

Portal Agent 터미널

run_command I/O의 선택적 실시간 미러

Related MCP server: FreeRDC Community Edition

MCP 도구 (정확히 다섯 개)

도구

용도

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를 재사용하세요. 유실되거나 거부되면 다시 initialize하세요 — 임의로 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 = 연결(attach) 모드

라우트 토큰은 비밀 경로 세그먼트입니다. MCP는 /mcp/<token> 경로에 있습니다. portal.routeToken을 비워 두면 시작 시 자동 생성됩니다.

명령 (팔레트)

  • Portal: Start / Stop

  • Portal: Copy URL

  • Portal: Check Tunnel

  • Portal: Settings

  • Portal: Install cloudflared / Install/Upgrade ngrok

  • Portal: Show Log / Show Agent Terminal

유용한 설정: 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