Skip to main content
Glama
Local Workspace MCP

Local Workspace MCP

by awe7893625

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

documents (default)

Dedicated workspace; Python runs in Docker with read-only inputs, writable exports, no network. Word, Excel, PowerPoint, PDF, charts, LibreOffice/Poppler previews.

full

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 full

Choose 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.key

HTTP 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.py

npm 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 tools
call_device_tool執行遠端裝置工具A
Destructive

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檢查本機使用者資訊B
Read-only

Local OS identity. This project has no hosted subscription or vendor account.

Inputs: no named parameters.

get_artifact_path取得交付檔案路徑A
Read-only

Return a verified artifact path for local clients; remote clients should use download links.

Inputs: name (required).

get_workflow_instructions讀取工作流程說明B
Read-only

Get guidance for document generation, data analysis, verification, and delivery.

Inputs: no named parameters. Returns: result

list_artifacts檢視交付檔案A
Read-only

List Office documents, PDFs, images and text deliverables directly inside exports.

Inputs: no named parameters.

list_device_tools檢視遠端裝置工具B
Read-only

Read the actual tool schemas of a named paired device.

Inputs: device (required). Returns: result

list_directory檢視工作區資料夾A
Read-only

List supported text files and folders in a relative workspace path. Hidden files are excluded.

Inputs: path.

list_paired_devices檢查已配對裝置B
Read-only

List local and owner-configured devices by name; never disclose SSH credentials.

Inputs: no named parameters.

ping_device檢查裝置連線C
Read-only

Check local availability or establish an authenticated configured SSH MCP session.

Inputs: device.

read_text讀取工作區文字檔A
Read-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停止遠端裝置 AgentA
Destructive

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

    B3.4/5.0

    Scored across 11 tools

    Disambiguation4/5

    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.

    Naming Consistency4/5

    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.

    Tool Count5/5

    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.

    Completeness3/5

    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

    ActivitySlowing
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      D
      quality
      C
      maintenance
      Enables 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.
      146
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables 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