Secure Local Workspace MCP
Secure Local Workspace MCP (безопасный локальный MCP для рабочего пространства)
English | Китайский (по умолчанию)
Безопасный локальный шлюз рабочего пространства для ChatGPT и Codex. Он открывает через MCP только явно авторизованные каталоги проектов и предоставляет ограниченные возможности чтения файлов, поиска, применения патчей, проверки Git и задач из белого списка, не предоставляя модели произвольный Shell, удаление, коммиты, push или развёртывание.
Варианты использования
Чтение, анализ и изменение локального кода проектов через веб-версию ChatGPT.
Доступ Codex через единый MCP-инструмент к нескольким проектам, явно авторизованным пользователем.
Добавление границ каталогов, ограничений по размеру файлов и защита параллельных изменений с помощью SHA-256 для операций записи.
Ограничение таких операций, как тесты и сборка, белым списком задач из локальной конфигурации.
Возможности и границы безопасности
Возможность | Инструменты | Ограничения |
Обнаружение проектов |
| Возвращает только проекты, авторизованные в локальной конфигурации |
Просмотр файлов |
| Ограничения по каталогу, глубине, количеству файлов, размеру и числу возвращаемых записей |
Запись файлов |
| Существующие файлы должны иметь актуальный SHA-256; новые файлы нельзя перезаписывать |
Проверка Git |
| Только фиксированные параметры чтения, произвольные команды Git не принимаются |
Задачи проекта |
| Только команды и аргументы, заранее объявленные в конфигурации |
Сервер проверяет реальные пути и блокирует выход через .., абсолютные пути и символические ссылки. Проекты по умолчанию доступны только для чтения; инструменты записи работают только после включения writable: true в конфигурации проекта.
Этот проект намеренно лишён следующих возможностей:
произвольный Shell или выполнение произвольных команд;
удаление файлов или перезапись при создании;
Git commit, push или переписывание веток;
развёртывание в продакшн и удалённое управление серверами.
Каталоги и приватные данные
В репозитории хранятся только исходный код, примеры конфигурации и автоматизированные скрипты. Реальные авторизационные конфигурации, API-ключи, конфигурации туннелей и логи должны находиться вне репозитория.
Рекомендуемый каталог на Windows:
项目源码 <clone-directory>
授权配置 %USERPROFILE%\.secure-local-workspace-mcp\config.json
隧道 profile %USERPROFILE%\.secure-local-workspace-mcp\tunnel-profiles\
运行时 API Key 用户自选的受保护文件或环境变量
tunnel-client 用户自选的本机工具目录Старый путь %USERPROFILE%\.local-project-workspace\config.json автоматически считывается, если новый путь не существует, что обеспечивает бесшовное обновление.
Требования к окружению
Windows, macOS или Linux; автоматизированные сценарии ориентированы в основном на Windows PowerShell.
Node.js 20 или выше.
Git.
Для подключения к веб-версии ChatGPT: в OpenAI Platform должен быть создан Tunnel, а в ChatGPT должен быть доступен режим разработчика.
Полный процесс настройки вручную
1. Получение исходного кода и установка зависимостей
git clone https://github.com/dxawdc/secure-local-workspace-mcp.git
Set-Location .\secure-local-workspace-mcp
npm ci
npm test
npm run smoke:mcp2. Создание локальной авторизационной конфигурации
Рекомендуется создать первую конфигурацию проекта с помощью автоматизированного скрипта:
.\scripts\bootstrap-config.ps1 `
-ProjectId "my-app" `
-ProjectLabel "我的应用" `
-ProjectRoot "D:\Projects\my-app"Скрипт по умолчанию создаёт проект только для чтения. Если вы принимаете риски записи, явно укажите параметр -Writable:
.\scripts\bootstrap-config.ps1 `
-ProjectId "my-app" `
-ProjectLabel "我的应用" `
-ProjectRoot "D:\Projects\my-app" `
-Writable `
-ForceМожно также скопировать config.example.json и сохранить его как:
%USERPROFILE%\.secure-local-workspace-mcp\config.jsonПример белого списка задач:
{
"tasks": {
"test": {
"command": "npm",
"args": ["test"],
"timeoutSeconds": 300
}
}
}ChatGPT или Codex могут вызывать только имя задачи test и не могут изменять команду или аргументы.
3. Запуск и проверка MCP на локальной машине
.\scripts\start-local.ps1или:
npm startПроцесс выводит фактический путь конфигурации и число авторизованных проектов в стандартный поток ошибок. Сам MCP работает через stdio, поэтому при работе в реальном пресе нет HTTP-страницы.
4. Подключение Codex
Репозиторий содержит .codex-plugin/plugin.json, .mcp.json и соответствующий skill. Идентификатор плагина для личного использования по-прежнему local-project-workspace, чтобы существующие установки не перестали работать; отображаемое название обновлено до Secure Local Workspace MCP.
Положите репозиторий в %USERPROFILE%\plugins\local-project-workspace или создайте Junction, указывающую на клонированный каталог, а затем установите / обновите плагин через личный налровый маркетплейс. После обновления создайте новую задачу Codex, чтобы MCP и skill загрузились заново.
5. Ноопрудите с recognize.gov
Проверьте это:
Создайте Tunnel на странице управления туннелями в OpenAI Platform и привяжите его к целевому рабочему пространству ChatGPT.
Создайте отдельный Runtime API Key. Для долго работающих процессов используйте только Runtime Key, а не Admin Key.
Скачайте официальный
tunnel-clientот OpenAI, проверьте SHA-256, указанный на странице релиза, затем распакуйте.Поместите Runtime API Key в защищённый файл вне репозитория или внедряйте через одобренное организацией хранилище секретов в переменные окружения; никогда не записывайте его в команды, конфигурационные файлы или Git.
С помощью скрипта создайте и проверьте profile.
Рекомендуется использовать файловую ссылку, защищённую ACL. Следующая команда передаёт только путь к файлу, не читая и не печатая содержимое ключа:
.\scripts\setup-tunnel.ps1 `
-TunnelId "tunnel_REPLACE_ME" `
-TunnelClient "C:\Tools\tunnel-client\tunnel-client.exe" `
-ControlPlaneApiKeyRef "file:C:\Secrets\openai-tunnel-runtime-key.txt" `
-ProfileDir "$env:USERPROFILE\.secure-local-workspace-mcp\tunnel-profiles"Если компьютер обращается к OpenAI через локальный прокси:
.\scripts\setup-tunnel.ps1 `
-TunnelId "tunnel_REPLACE_ME" `
-TunnelClient "C:\Tools\tunnel-client\tunnel-client.exe" `
-ControlPlaneApiKeyRef "file:C:\Secrets\openai-tunnel-runtime-key.txt" `
-ProfileDir "$env:USERPROFILE\.secure-local-workspace-mcp\tunnel-profiles" `
-HttpProxy "http://127.0.0.1:7890"Скрипт выполняет tunnel-client init и doctor --explain. После успешной проверки запустите в режиме настоящего времени:
& "C:\Tools\tunnel-client\tunnel-client.exe" run `
--profile secure-local-workspace-mcp `
--profile-dir "$env:USERPROFILE\.secure-local-workspace-mcp\tunnel-profiles"6. Север" Создание частного плагина веб в ChatGPT
Откройте настройки ChatGPT и включите режим разработчика.
Перейдите на страницу плагинов и нажмите «Создать приложение».
Выберите способ подключения Tunnel, выберите только что созданный Tunnel или введите Tunnel ID.
Этому серверу не требуется дополнительный OAuth-фильтр; выберите «Без аутентификации». Runtime Key туннеля используется только между локальным клиентом и контролльной плоскостью OpenAI.
Прочитайте предупреждение о риске, подтвердите и создайте соединение.
Проверьте, что обнаруживается 10 инструментов, затем выполните точно только функцию проверки чтения.
Проверочный промпт:
@Secure Local Workspace MCP 调用 list_projects,只返回项目名称和是否可写。Промпт для изменений:
@Secure Local Workspace MCP 读取 my-app 的 README.md,先说明修改计划,再用哈希保护补丁修改并展示 git_diff。Автоматизированный процесс настpublic
Репозиторий включает три сценария Windows PowerShell:
bootstrap-config.ps1: создаёт авторизационную конфигурацию проекта и не обрабатывает ключи.setup-tunnel.ps1: создаёт tunnel profile и запускает диагностику.register-tunnel-startup.ps1: регистрирует проверенный profile как задачу входа текущего пользователя.
Полное автоматизирование, описание параметров, способы отката и рекомендации для CI/администрирования: Справочник по автоматизации.
Повседневные операции
Просмотр локальной конфигурации
В ChatGPT/Codex вызывайте diagnostics и list_projects. Не полагайтесь на модель при определении ID проектов.
Обновление проекта
git pull --ff-only
npm ci
npm test
npm run smoke:mcpЕсли определение инструментов MCP изменилось, перезапустите Интернет-клиент и обновите инструменты в настройках плагина ChatGPT; для сетевого Codex создайте новую задачу.
Остановка автозапуска при входе
Stop-ScheduledTask -TaskName "Secure Local Workspace MCP Tunnel"Удаление автозапуска при входе
Unregister-ScheduledTask -TaskName "Secure Local Workspace MCP Tunnel" -Confirm:$falseЭта команда удаляет только задачу, но не Tunnel, API-ключ, profile или конфигурацию проекта.
Часто задаваемые вопросы
Локально Tunnel здоров, но вызовы ChatGPT по времени зайдите
Проверьте, нужен ли прокси для
api.openai.com:443.Использование браузером системного прокси не означает, что Go-процесс tunnel-client автоматически продолжит этот же прокси.
Задайте в profile переменную
http_proxyили установитеHTTPS_PROXYв среде запущенного процесса.С помощью
tunnel-client run a status <alias> --jsonразличайтеprocess_running,healthy,readyи ошибки удалённого запроса.
ChatGPT не видит инструменты
Убедитесь, что tunnel-client работает.
Выполните
doctor --explain.Убедитесь соответствие tunnel с текущим рабочим пространством ChatGPT.
В настройках плагина нажмите “Обновить”.
Проверьте в журналах запуска путь конфигурации и количество авторизованных проектов.
Список проектов пуст
Проверьте, чтонательный конфигурационный путь считается на текущий момент.
Установите переменную
LOCAL_PROJECT_WORKSPACE_CONFIGдля явного указания файла.Проверяйте формат JSON, ID проектов и наличие корневых каталогов проектов.
Запись отклонена
В конфигурации проекта должен быть
writable: true.Перед изменением существующего файла заново вызовите
read_fileи используйте последний SHA-256.Изменение файла делает старый хеш недействительным; это ожидаемая защита от одновременных правок.
Проверка конфиденциальности перед публикацией
Перед публичным форком или коммитом как минимум проверьте:
API-ключи, GitHub-токены, секреты и сертификаты;
Tunnel ID, ID организации, ID рабочего пространства;
реальные данные
config.json, логи, каталога загрузок и профили;личные имена, абсолютные пути и URL приватных репозиториев;
каталоги
node_modules, артефакты сборки и временные файлы.
Файл .gitignore репозитория использует типовые чувствительные пути, но не заменяет сканирование границ и процедуру отзыва секретов.
License
MIT
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 Connectors
Project management MCP for AI agents with safe task reads and writes.
A paid remote MCP for OpenAI Codex agent coordination MCP, built to return verdicts, receipts, usage
An MCP server that gives your AI access to the source code and docs of all public github repos
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/dxawdc/secure-local-workspace-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server