Local Workspace MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Local Workspace MCP Analyze sales.csv, create an Excel report with a chart, and verify the totals."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Local Workspace MCP
Self-hosted local file, terminal, document, and named-device tools for MCP clients. Hardened public snapshot (2026-09-16): macOS arm64 local/HTTP paths and the repository test suite are validated. Client support still depends on the MCP client, account plan, workspace policy, and enabled permissions. This does not unlock ChatGPT Work, add AI credits, or guarantee that every ChatGPT mode supports local MCP.
繁體中文 · Connections · Feature coverage · Validation · Security
Two explicit modes
Mode | Access |
| Dedicated workspace; Python runs in Docker with read-only inputs, writable |
| Adds 25 tools from MIT-licensed Desktop Commander 0.2.50: read/search/edit files, PDF creation/modification, interactive processes, configuration and activity. Full OS user-account access, including network and destructive commands. Directory settings are not a sandbox. |
Named computers connect through your existing SSH credentials, or another owner-configured stdio command. There is no maintainer-run relay, account service, subscription, or feedback collection. Selected file contents/tool results go to your AI provider. SSH uses your own hosts; an optional tunnel uses its provider.
Related MCP server: Codex Local Ops
Install (macOS / Linux)
Requires Python 3.12+, uv, Git; full mode also requires Node.js 20.9+, npm and ripgrep.
Docker is required for isolated document jobs. Existing Chrome/Chromium is required for host_write_pdf;
no browser is downloaded automatically. Native Windows and WSL are not validated.
# From the release archive:
unzip local-workspace-mcp-public-20260916.zip
cd local-workspace-mcp-public-20260916
./Install.command --workspace /absolute/path/task-files \
--state /absolute/path/private-state --mode fullChoose existing storage appropriate to your computer. Keep private state outside the workspace.
Use --mode documents for isolated document work, or --skip-worker when Docker is not needed.
The installer installs checkout-local dependencies, builds the worker, and automatically registers the
launcher in the documented shared ChatGPT desktop/Codex config.toml. Existing configuration is backed
up before writing; other settings/comments are preserved. Reinstalling reuses an existing entry, including
custom names, arguments or disabled status. A conflicting server name is refused without overwriting it.
Use --no-register to install without client changes, or --client-config /path/config.toml for an explicit
configuration location. Otherwise it honors CODEX_HOME, falling back to ~/.codex/config.toml.
Double-click Install.command for a guided setup; it asks for storage folders and explicit full-mode access.
This is a source installer, not a signed macOS app/pkg. Missing prerequisites are reported, not auto-installed.
After installation, reload MCP servers in ChatGPT desktop or start a new task. The installer does not
restart an active app. The generated client-registration.json records the server name and backup path.
For other clients (or --no-register), add private-state/launch.sh as a STDIO command. mcp-server.json
is a configuration fragment, not a replacement for existing settings.
No listening port, public URL, or API key is required for this local transport.
ChatGPT web cannot directly contact 127.0.0.1; see connection options and account limits.
Useful requests
Analyze a CSV, create an Excel report and a chart, then verify the totals.
Read Word/Excel/PDF inputs and produce edited documents; render previews and inspect them.
In full mode: explore a repository, change code, start a development server and read its output.
Pair another computer, then address its tools by name.
get_workflow_instructions explains the document workflow. run_python sees /workspace and writes /output.
Office/PDF libraries plus LibreOffice and Poppler are preinstalled. Each job is fresh: 90 seconds, 512 MiB,
1 CPU, 64 PIDs, 64 KiB per output stream. One job at a time; output disk usage is not quota-limited.
For LibreOffice use -env:UserInstallation=file:///tmp/lo; temporary files belong in /tmp.
In full mode, after checking an edited document in exports, host tools can replace its original path.
Back up originals first; the server does not provide automatic version history.
list_artifacts plus get_artifact_path exposes local output paths. Client rendering/download support varies.
HTTP mode adds ten-minute bearer download links. Anyone holding such a link can read that one file.
Advanced server options
uv run local-workspace-mcp serve --help
uv run local-workspace-mcp init-key /absolute/private-state/owner.key
uv run local-workspace-mcp serve --root /absolute/task-files --write --python \
--transport http --public-url https://mcp.example.com \
--key-file /absolute/private-state/owner.keyHTTP binds loopback only and requires a secure remote path plus OAuth consent for remote clients.
For durable OAuth, configure the client/token/transaction stores shown in .env.example; otherwise state is memory-only.
Account/password consent is optional: create a PBKDF2 owner file with scripts/init_owner_account.py, or use the generated owner key as break-glass authentication.
Full host tools require explicit --host-engine /path/to/patched/dist/index.js --engine-state /private/state.
The installer supplies these in full mode. Ten-minute download links remain ephemeral across restarts.
Development
uv sync --frozen
npm ci --ignore-scripts
uv run python scripts/patch_engine.py
uv run ruff check src tests scripts
uv run pytest
# Build worker first; these tests really execute Docker and local tools in temporary folders:
LWMCP_DOCKER_TESTS=1 uv run pytest
# Also exercise existing Chrome for PDF (optional):
LWMCP_PDF_TESTS=1 uv run pytest tests/test_engine.pynpm audit --omit=dev and uv run pip-audit --skip-editable check dependencies.
The upstream version, integrity lock and explicit source-hash-checked privacy patches are committed.
Sharp/uuid overrides fix known upstream dependency advisories; see third-party notices.
MIT licensed. No affiliation with OpenAI or Desktop Commander.
Available Tools
11 toolscall_device_tool執行遠端裝置工具ADestructive
Execute a tool on a named paired device. Inspect list_device_tools first.
This can change files, run commands, or stop processes with the remote user's permissions.
Inputs: tool (required), device (required), arguments (required).
current_user_info檢查本機使用者資訊BRead-only
Local OS identity. This project has no hosted subscription or vendor account.
Inputs: no named parameters.
get_artifact_path取得交付檔案路徑ARead-only
Return a verified artifact path for local clients; remote clients should use download links.
Inputs: name (required).
get_workflow_instructions讀取工作流程說明BRead-only
Get guidance for document generation, data analysis, verification, and delivery.
Inputs: no named parameters. Returns: result
list_artifacts檢視交付檔案ARead-only
List Office documents, PDFs, images and text deliverables directly inside exports.
Inputs: no named parameters.
list_device_tools檢視遠端裝置工具BRead-only
Read the actual tool schemas of a named paired device.
Inputs: device (required). Returns: result
list_directory檢視工作區資料夾ARead-only
List supported text files and folders in a relative workspace path. Hidden files are excluded.
Inputs: path.
list_paired_devices檢查已配對裝置BRead-only
List local and owner-configured devices by name; never disclose SSH credentials.
Inputs: no named parameters.
ping_device檢查裝置連線CRead-only
Check local availability or establish an authenticated configured SSH MCP session.
Inputs: device.
read_text讀取工作區文字檔ARead-only
Read a UTF-8 text file, max 1 MiB. Paths are relative to the configured workspace.
Inputs: path (required). Returns: result
shutdown_device_agent停止遠端裝置 AgentADestructive
Stop ONLY this MCP agent process. It does not shut down the computer.
An SSH-launched on-demand agent may start again on the next connection.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 11 tools
Each tool targets a distinct resource/action: identity, device listing/pinging, device tool discovery/execution, agent shutdown, local file listing/reading, workflow guidance, and artifact listing/path. Minor potential confusion among list-style tools and between local vs remote file operations is mostly resolved by descriptions.
Mostly consistent snake_case with verb_noun patterns such as list_*, get_*, read_text, call_device_tool, and shutdown_device_agent. current_user_info is a noun phrase rather than get_current_user_info, a minor deviation.
11 tools is well-scoped for a local workspace/device bridge: enough for device lifecycle, file access, and artifacts without excessive surface. No obvious redundant or bloat tools.
The set covers reading/listing local files and artifacts plus remote device discovery/execution, but lacks local write/create/update/delete operations and artifact creation/upload/download. These are notable gaps for a workspace server, though remote call_device_tool offers some execution coverage.
Maintenance
Related MCP Connectors
Use a person's computer after they approve it there: files, Terminal, browser, local MCP.
Use a person's computer after they approve it there: files, Terminal, browser, local MCP.
Hosted MCP catalog with 30 tenant-isolated browser, RAG, AI, mail and media tools.
Toolstile is a managed MCP gateway that connects remote MCP servers behind one endpoint, with per-agent permissions, shared accounts and activity logs. Connect at https://mcp.toolstile.com/mcp over Streamable HTTP with OAuth; sign in at https://toolstile.com, select a workspace and connect your upstream servers. Available tools, resources and prompts depend on that workspace and the agent's granted access.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables cloud agents to securely operate local machine resources (files, commands, screenshots) via standard MCP protocol.MIT
- AlicenseDqualityCmaintenanceEnables controlled local developer operations including file and process management, shell execution, SSH, WSL, Docker, Git, browser and desktop automation, media processing, and asynchronous jobs through MCP.146MIT
- AlicenseAqualityBmaintenanceEnables MCP clients to access a local computer through a controlled, permission-based tool surface for read-only or developer-mode file, process, and terminal operations.6MIT
- AlicenseNot gradedqualityCmaintenanceEnables authorized remote MCP clients to securely reach local Mac or Windows tools over OAuth, including shell commands, file read/write, background jobs, screenshots, UI control, and clipboard access. It can also expose configured Desktop MCP servers and optional Claude Code task delegation.MIT