Local Workspace MCP Manager
Local Workspace MCP Manager
Настольное приложение для Windows, которое позволяет ChatGPT Web (режим разработчика) безопасно читать, искать, просматривать и редактировать файлы в папках, которые вы явно одобрили, и при желании выполнять одобренные команды разработчика. Собрано как однопроцессное приложение Rust/Tauri со встроенным MCP-сервером (Streamable HTTP на 127.0.0.1), публикуемым в ChatGPT через Tailscale Funnel.
К вашей файловой системе есть ровно один MCP-вход: конвеер политик, закрывающийся при сбое (fail-closed). Через него проход каждый вызов MCP-инструмента. Десктоп-интерфейс — это отдельн контур админиестративного управления правами рабочиых про странств, настройками подключения и жизненным циклом; стро ки аудита в UI — это операционная история, а не управляющий затвор конвейера, который закрывает доступ при сбое.
Каун истроен коннекшен
MCP-сервер привязывается к адресу только loopback (
127.0.0.1:<ephemeral port>).Встроенный sidecar Tailscale Funnel публикует этот loopback-сервер в публичный интернет по адресу
https://<your-hostname>.ts.net(одноразовое включение администратором tailnet: HTTP-сертификаты и атрибут узла funnel).Публичный URL содержит секретный capability-токен. Funnel — это публичный вход (public ingress): единственная защита endpoint — это тайность самого URL, поэтому общаться с ним как с апаролем: любой, кто его получил, к может вызь вать ваш MCP-коннектор. В любое время вы можете перевыпустить его в разделе Безопасность → Перевыпустить URL подключения.
Related MCP server: local-mcp-chatgpt-tunnel
Технологический стек
Shell: Tauri 2 (Rust) с системным треем (открыть, запустить/остановить туннель, приостановить MCP-доступ, выйти), закрытием в трей, автозапуском при входе в систему, запуском в свернутом в трей виде и защитой от повторного запуска
UI: React 18 + TypeScript (строгий), стили на Tailwind CSS v4 и включенных в проект primitives shadcn/ui (new-york/zinc, токены радиуса 2px «Quiet Console»); toasts через sonner; встроенные шрифты Inter Variable / JetBrains Mono Variable; тема Light/Dark/System сохраняется в настройках
Базовый конвейер:
crates/core— конвейер политик с закрытием при отказе (пауза → рабочая область → capability → изоляция → денай-лист чustвительных файлов → выполнение) с append-only SQLite аудитом журналом
Предварительные условия
Windows 10/11
Инструментариальный набор Rust с целью MSVC (
rustup default stable-x86_64-pc-windows-msvc) и Visual Studio Build Tools (рабочая нагрузка C++)Node.js (LTS) + npm
Аккаунт Tailscale (бесплатности достаточно); админ tailnet должен один раз включить Funnel (HTTPS-сертификат в настройках DNS и атрибут узла
funnelв Access controls)
Сборка и запуск
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/ (установщик).
Бинарные файлы sidecar
Sidecar Tailscale Funnel (Go, в sidecars/tailscale-funnel) собирается шагом упаковки (npm run build:sidecar → scripts/build-tailscale-sidecar.ps1) и является единственным сетевым sidecar, поставляемым как binaries/tail.scale-funnel-sidecar. Ранее запущенный туннельный рантайм OpenAI/Cloudflare больше не компилируется и не паккезуется; устарение пар- с лишь изся оставлено только для совместимости с обстовлением.
Первичная настройка
Запустите приложение и проходите мастер настройки: добавте на одной** рабочее про странство (по умолчанию включено чтение, запись/выполнение — выключены), затем ады определльной вход в Tailscale по запросу.
Наж мите Запуск на поверхности. Приложение за стрит локальный MCP-сервер, за спускает sidecar Funnel и проводит через одноразовые одобрения со стороны tailnet-администратора.
Когда карточкам станет Онлайн, скопируйте секретный capability URL в ChatGPT (Developer Mode → создайте коннектор типа MCP / remote endpoint) и держите его в секрете.
Повседневное поведение настройается в Настройках:
Общие: автоматический запусти туннеля при начале приложения, апуск с Windows, сворачивание в трен при запуске, продолжение работы в трее при закрытии окна
Внешний вид: theme Light / Dark / System
Подключение: метка Funnel hostname (для е из зменения требует сбруса айдентичности Tailscale)
Системный трей отражает основные действия: открыть окна, дозапустить/остановить туннель, приполнозить/возобновить MCP-доступ, выйти.
MCP-инструментарий
Предоставляется десять инструтментов. list_workspaces возврацает идентификаторы одобренных рабочих пространств (редакция — никогдаабсолютные путы; на него действуют пауза и аудит, как и на любой инструмент). Девять workspace-скопных инструтов: list_directory, find_files, search_text, read_file, read_files (≤8 за вызов), create_file (≤10 объекта), apply_patch, run_command (одобренные baseимена: 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.
Модель безопасности
Только адрес loopback: MCP-сервер слушает строго 127.0.0.1, никогда всех интерфейсов. Единственный внешнический выход — єто исходящий HTTPS-фunnel через sidecar.
Секретный capability URL: публичный endpoint внедряет неугадываемый capability-токен; на самом endpoint нет логина. Если он утечка, повторите его из страницы Security.
Переключатель паузы (kill switch): один тумблер (UI, трей) приостанавливает все вызовы MCP tools (вкл. list_workspaces), UI работает дальше. Пауза действует даже в несбитой mode.
Конвейер fail-closed: каждый вызов инструмента проходит одинконвейер — паузер, поиск рабочего пространства, capability gate (
READ_DISABLED/WRITE_DISABLED/EXECUTE_DISABLED),ограничение пути (канонизированный, почистовой containment; symlinked paths не могут выйти за пределы), deny-list sensitive файлов, политика выполнения — и записывает ровно одну строку адита. Любое failure конвейера расшибка в короткое замыкание, и несписанная а дефицит-строка вызывает отказ вызова.Deny-list чувствительных файлов:
.env*,*.pem,*.key,id_rsa*,.git/config,credentials*,*.pfx,*.p12,secrets.*и всёnode_modules/**блокируется на любой глубине, как для чтении so и для записи. Преодоление запретов requires unrestricted mode (см. ниже) либо code changes.Редактирование через пачи: изменеения — это якорные подstrom замены (
apply_patch), а не перезапись files; каждое изменение carrybase_revision(SHA-256 содержимого файла по последнему виду) и вызовет ошибкуFILE_CHANGED_SINCE_READ, если файлл был изменен elsewhere. Новые заданы атомарно через временный file + rename.Append-only audit log: каждый MCP-запрос записывает apprently одну аудиrow (allow / deny / error) перед отправиение ответа; строки записей never can be измненены или удалены. Record с in restricted are marked. UI показывавает последние 100 an event events.
Limited выплолнение: команды запускатся без shell (без проа поверхс to quoting/parsing), в пределах Infinite Job Object Windows (timeout kill the whole processor "kernel three), с обрегом окружением, тайм-аут по умолчанию 60 c / макс. 10 миниут, 512 KiB per output stream. PowerShell-скрипт передается только через stdin — не через argv, ауди-деталей or диагностики; дочерние console windows not показывются at all.
Неограниченныйо дострип (неопт-ин, на volont): переключатель на странице Security, прячето за подтверждением typed and stale red band. Mosлабляет capability gates, deny-list, approved-command list, and Full-PowerShell mode gate — для всех рабочих простр. Граница папок (paths still inside registered workspaces), kill pause-truck, audit logging remains. Includes он, эгаy and ecology of conversation.
Обработке secret: capability-токен never пападает в readback-пути UI, командной строке and diagnostics. Секреты соединения го house in DPAPI store underВ шестые LocalAppData;
settings.jsonне содержит никакие secrets, only non-secret prferences.**Защищенный webview: непустой Content-Security-Policy (
default-src 'self', ограниченныйconnect-srcдля IPC, allowaclсо Inline styles for Radix positit.); opener plugin includes onlylogin.tailscale.com,tailsccale.comand*.ts.netURLs.
From slowdowns (Honest)
Рабочая directory-ограничness не является Windows security sandbox: accessable program ка be изняние paths outside workspace в вашем имя.
Tunneль — это публичный вход; единственный защитник endpoint — секретность capability URL. По сомнению — перенаправьте его.
Tailscale-tailnet + ChatGPT acceptance — о. Неполная принятие-реша, до объявления релиза production-certificate, автоматизирующую безопасность lifecycle/MCP — не заменяет внешней проверки.
Codes errors
Errors tools present structured results { code, message, detail? } with stable codes:
Code | Meaning |
| задействован аварийный переключатель |
| неизвестный workspace_id |
| возможность отключена |
| выполнение отключено / рабочее место не в режиме Full PowerShell |
| программа нет в approved list (или былa задана directory path) |
| выход за пределы рабочей области (записано в audit с подробностями) |
| denylist один из denied files |
| цель не найдена |
| столкновение при creation |
| якорь отсутствует / неоднозначный |
| несоответствие ревизии |
| лимit превышен, truncation impossible |
| corrupted request (bad regex/glob, >8 read_files paths) |
| file system failure (includes OS message) |
Development
npx tsc --noEmit # frontend type gate
npm run build # frontend production build
cargo test --workspace # 240+ Rust unit + integration testsIntegration suites drive the real sidecar- spawning and parseric pipeline across a fake sidecar fixture — no Tailscale network needed.
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