Local Workspace MCP Manager
Local Workspace MCP Manager
Windows デスクトップアプリで、Chat GPT Web(Developer Mode) が、あなたが明示的に承認したフォルダー内のファイルを安全に読み取り・検索・一覧表示・編集できるようにしたものです。さらに、承認済みの開発者コマンドをオプションで実行も可能。Rust / Tauri のシングルトングル・プロセスアプリとして、MCP サー・バー(127.0.0.1 上のStream bleHTTP)を組み込み、Tailscale Funnel を介して ChatGPT に公開しています。
あなたのファイル・シスタムへのMCP の入り口は、きちょうど1つのみです。それが「フェイルクローズ型ポリシーパイプライン」です。すべてのMCP ツール呼び出しは、このパイプラインを通過します。デスクトップUI は、ワークスペース権限・接続設定・ライフサイクルを管理する、独立した制御コントシールプレーンです。UI の監査ログ行は、MCP パイプのフェイルクローズの応答ゲートではなく、運用履歴です。
接続の仕組み
MCP サーバーはループバックにのみバインドします(
127.0.0.1:<芳香ライブ・ポート>)。バンドルされたTailscale Funnel サイドカーが、そのループバックサーバーを
https://<your-hostname>.ts.netとしてパブリック・インターネットへ公開します(Funnel はオールネットの管理者による1回限りの有効化:HTTPS 証明書+funnel ノード属性)。パブリック URL には秘密のケービビリティ・トークンが埋めばれています。Funnel は公開のイングレス(あくまでパブリックの入口)です。すなわち、エンドポイントを守るものはURL の秘密性だけです。パスワードと同じに扱――URL を入手できた者は誰でも、あなたのMCP 接続を呼び出せます。セキュリティ → Rotate connection URLから、いつでもローテーションできます。
Related MCP server: local-mcp-chatgpt-tunnel
技術スタック
ターミン: Tauri 2(Rust)— シスタムトレイ(開く、トンテルの開始 / 停止、MCP アクセスの一時停止、終了)、トレイにしまる、ログイン時に起動、トレイに最小化して起動、シングル・インスタンスの強制に対応。
UI: React 18 + TypeScript(strict)を Tailwind CSS v4 とベンダードした shadcn / ui プリミティブ(new-york / zinc、2px-radius の「Quiet Console」トーク)でスタイリング。トーストは sonner で表示。Inter Varible / JetBrains Mono Varible を同梂。Light / Dark / System のテーマを設定に永続化。
コア・パイ:
cardes/core— フェイルクローズのポリシーパイプライン(pause → スペース → ケービリティ → クラインメン(制約)→ センチッティブ・ファイル拒否リスト → 実行)と、「追加のみ」のSQLite 監査ログ。
前準備
Windows 10/11(64ビット)
RSC ターゲットのRustートールチェーン(
rustup default stable-x86_64-pc-windows-msvc)と Visual Studio Build Tools(C++ ワークロール)Node.js(LTS)+npm
Tailscale のアカウント(フリー・ティアでも可)。ネット管理者が Funnel を1回だけ有効化する必要があります(DNS の設定「HTTPS」証明書+アクセス御御の「Funnel」属性)。
ビルド・実行
npm install
# Development (hot-reload UI):
npx tauri dev
# Release build (produces an NSIS installer):
npx tauri build成果物は src-tauri/target/release/(実行ファイル)と src-tauri/target/release/bundle/nsis/(インストーラー)に納められます。
サイドカー・バイナリ
Tailscale Funnel サイドカー(Go、sidecars/tailscale-funnel 内)は、パッケーング・ステップ(npm run build:sidecar → scripts/build-tail-scale-sidecar.ps1)でビルドされ、接続サイドカーとしては binaries/tailscale-funnel-funnel のみが同梂されます。廃止された OpenAI / Cloudflare トンネル実行タイムは、もはやビルドもパッケーグもされません。レガシー設定の解釈は、アップグレード互換性のためだけ残っています。
初回セットアップ
1 アプリを起動し、オンボールディング・ウイザードに従います。初必ず一ワークスペース以上を追加してください(読取は既存オン、書きとむ / 実行はオフ)に行われ、Textscale へのサインインを促されます。 2. ダッシュボードのスタートを押します。アプリがエントーン・ルとしてローカルMCP サーバーを起動し、Funnel サイドカーを起動し、一度だけのテールネット承認手続きをおアシートします。 3. カードが オンライン の表示に変わったら、シークレットの能力URL をコピーして、Chat GPT(Web)の Developer Mode → MCP / リモート・エンドポイントの新規コネクションを作成)に貼り付け、他人から見えないようにします。
日常の動作は 設定(Settings) て構成します:
ション: アプリ起動時にトンネルを自動起動、Windows 起動時に立ち上기る、トレイに最小化で起動、ウィンドウを閉じてもトレイで動し続ける。
外観: Light / Dark / System テーマ。
接続: Funnel のホスト名ラベル(変更には Tailscale のアイデンティティをリセットする必要)。
システム・トレイエリアには主要機能をミラーしています:ウィンドウを開く、トンネルの開始 / 停止、MCPアクセスーの一時停止 / 再開、終了。
MCP ツールから見える対面(サーフェス)
公開されるツールは10種類です。list_workspaces は、承認済みのワークスペースの「ID」を返します(ID の内容は秘匿され― 絶対のパスは返さず、他の全ツールと同様に pause チェックとー監査を受けます)。残りの9ツールはワークスペース・スコープのツールです:list_directory(ディレクトリー覧)、find_files(ファイル検索)、search_text(テキスト検索)、read_file(ファイル読込み)、read_files(1回あたり8件まで)、create_file(10 MB まで)、apply_patch(パッチ適用)、run_command(承認済みの実行ファイル名:git、cargo、rustc、npm、npx、node、pnpm、yarn、python、python3、pip、go、dotnet)と run_powershell(ワークスペースが Full Powershell モードであることが必須)。読込取りールは結果に上限を設けて返します(read_file は、切捨てフラグ付きで最大 256 KB のウィンドウ)また revision(sha256)で返し、apply_patch はそれを base_revision として要求します。
セキュリティ・モデル
ループバック・オンリ:MCP サーバーは
127.0.0.1のみで待受し、「ループバックを横切らない」をします。外部のイングレスはサードカーの出力側HTTPS ファネルのみです。シークレットな能力 URL: 公開エンドポイントには、推測不可能なケーパビリティ・トークンが埋め込まりれ、エンドポイントにはログイン認証フロはありません。外部でないことを知ってもにどこからでも入手できてしぱたなら、セキュリティページでローテーションします。
一時停止トグル:UI またはトレイの1トグルで、全MCP ツールの呼び出し(
list_workspacesもコール含む)を一時停止(ACCESS_PAUSED)し、UI 操作は動き続ています。一時停止はモードの無制限モードでも機能します。フェイルクローズのパイプライン: すべてのツール呼び出しは、1つのパイプライン(ポーズ確認 → ワークスペース研索 → 能力ゲート(
READ_DISABLED/WRITE_DISABLED/EXECUTE_DISABLED)→ パスの閉じ込め(キャノニカル化かつ構成ごとの内含チェック。シンボリックリンクやジャンクションでは外れられない)→ 機密ファイル拒否リスト → 実行ポリシー)を通過し、そのあと監査行を きっちょうど1行 書きます。どのパイプライン段で失敗しても短絡して構造化エラーになり、監査行が書けない時は呼び出しを失敗させます。機密ファイル・ブロック:
.evn*、*.pem、*.key、id_rsa*、.git/config、credentials*、*.pfx、*.p12、secets.*、およびnode_moules/**は、どのフォルダ・階層でも読み取り・書き込み双方をブロックします。解除するにはアンリミテッドモード(後述)またはコードの変更が必要です。パッチを先去した編集: ファイル全体の書込み方ではなく、アンカー付きの文字列置換(
apply_patch)で編集します。各編集にはbase_revision(最後に読み取ったときの SHA-256)が付き、ファイルが外部で変更されていればFILE_CHANGED_SINCE_READエラーになります。新規ファイルは一時ファイル+リネームによる直近直成で作られます。追加専用の監査ログ: MCP からの各リクエストには、応答を返す前に監査行(allow / deny / error)を1行書き出します。この行はアップッデートも削除も不可。無限定モードで生成された行にはマークを付けます。直近 100 件が UI に表示されます。
実行を制限された環境:コマンドはシェルを介さず(引用・解析の外部面なし)、Windows ジョブ・オブジェクトの中で実行され(タイムアウトがプロセスツリー全体を終了する)、環境変数をサニタイズし、タムアウトはデフォルト 60秒/最大 10分、各出力ストリーム 512 KiB のキャプチャに限定。PowerShell スクリプトは stdin のみで渡し、argv・監査詳細・診断に渡らない、子プロセスでコンソール・ウィンドウさえ不出します。
無限定アクセス(オプト・イン): セキュリティの画面上のスイッチで、型入力確認と常時の赤い警告を条件に有効にし、全ワークスペースでレットの、能力ケート、機密ファイル拒否リスト、許可されたコマンド・リスト、Full-Powershell ワークスペース → ゲートを緩よう。フォルダー境界(パスは登録済みのワークスペース内でのみ有効)、ポーズ・キルスイッチ、監査ログの記録は残り、無任信の場合はオフにしておいてください。
シークレット取り扱:ケーパビリティ・トークンがUI の読み出し経路・コマンド・ライン・診断に現れないまま。コネクタのシークレットは、ログイン・ユーザーの LocalAppData に DPAPI 保護のストアで保管し、
settings.jsonには非シークレットの設定のみを置きます。ハーテニングにウェブビウ: on-ヌルの Content-Security-Politicsypoline-style 等(
default-src 'self'、IPC 制限まれたconnect-src、Radix ポジショニング用のインライン・スタイル許可)で、オープナー・プダグインはlogin.tailscale.com、tailscale.com、*.ts.netの URL のみを allowlist。
既知の限界(honesty notes)
ワークディレクトリへの制約は、Windows のセキュリティ・サンドボックスではありません。実行したプロセスは、あなたのアカウントーの権限でワークスペース外のパスも開くです。
Funnel は公開の入り口であり、そのエンドポイント保護はケーパビリティ URL の秘密性だけです。違うとわしくに、ローテーションして。
実物の Tailscale テールネット + ChatGPT のコネクタ受入は環境に依存するため、リリースを本番運用とみなす前には作り直しの適応が必要です。自動化されたローカル・ライフサイクル / ツールのスイートは、その外部検証の代わりにはりません。
エラー・コード
ツールのエラーは、{ code, message, detail? } の構造化結果ととんに毎回安定したコードを含めて返されます。
Code | 意味 |
| 一時停止キルスイッチ動作時 |
| 不明のワークスペース ID |
| 権限がオフ |
| 実行オフ / ワークスペースが Full-Powershell モードでない。 |
| プロセスが承認リストにない(パス指定の場合も含む) |
| パス制約違反(詳細付き監査) |
| 拒否リストに該当 |
| 対象ファイルが存在しない |
| 作成時に既にある |
| アンカーがない / 曖味 |
| リビジョン不一致( |
| 刳り詰めができず上限間突破 |
| 不正なクライアント入力(不正な正規表現 / glob、 |
| ファイルシステムの障害(OS のメッセージ付き) |
開発
npx tsc --noEmit # frontend type gate
npm run build # frontend production build
cargo test --workspace # 240+ Rust unit + integration tests統合テスト・スイートには、フェイクのサイドカーとのフィクスチャーを使い、実キャのサイドカー起動 / パース処理パイプラを実施します — Tailscale ネットワークは一切不要です。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables ChatGPT Web Developer Mode to interact with local repositories through MCP, providing tools for file editing, shell execution, Git worktrees, semantic navigation, and checkpoints.3182MIT
- AlicenseNot gradedqualityBmaintenanceEnables ChatGPT Developer Mode to securely invoke multiple Windows-local stdio MCP servers through a single gateway, with tool namespacing, path restrictions, and serial execution control. It includes safe-file, image, and download tools for local workspace interaction.1MIT
- AlicenseNot gradedqualityBmaintenanceEnables ChatGPT to securely operate a single Windows development workspace via a local MCP server, offering file editing, Git status, static analysis, approved test/build, and limited ADB operations with audit logging.MIT
- FlicenseNot gradedqualityBmaintenanceEnables ChatGPT Web to securely access local files and run commands via MCP, with optional OpenCode agent mode for autonomous tasks.
Related MCP Connectors
Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.
Securely search and manage workspace context files for AI agents and teams.
Build, version, review, and export websites, web apps, and games from a conversation.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/quangtruong2003/MCP-Local'
If you have feedback or need assistance with the MCP directory API, please join our Discord server