[FEATURE] Access to uploaded files in Cowork by for MCP servers
Problem
When a user uploads a file in Cowork, the <file_path> metadata passed to Claude contains the VM path (/sessions/<session>/mnt/uploads/file.pdf), not the Mac/windows host path.
MCP servers in my plugins run on the host machine, not inside the VM. They cannot resolve VM paths. This makes it impossible for MCP tools to access uploaded files in Cowork reliably.
Current behavior
<file_path>/sessions/vigilant-dazzling-faraday/mnt/uploads/cheque.pdf</file_path>
The MCP server receives this path → file not found.
Expected behavior
The <file_path> metadata (or an additional field like <host_path>) should contain the actual Mac path:
/Users/<user>/Library/Application Support/Claude/local-agent-mode-sessions/<uuid>/.../uploads/filename
Why this matters
Any MCP server that processes files (OCR, conversion, analysis…) is broken in Cowork because it receives an unreachable VM path. There is no reliable workaround from inside the VM:
statdoes not always return the host path (bindfs mounts mask it)/proc/mountsshowsbindfsfor uploads with no source path- No environment variable exposes the host session directory
Note: the Cowork UI already displays the host path to the user, so the translation layer exists somewhere in the stack — it just isn't exposed to Claude or to MCP servers.
Suggested solutions (pick one)
- Add
<host_path>to file upload metadata — simplest, no breaking change - Replace
<file_path>with the host path — CoWork UI already does this translation for display
with one those solutions, I can manage with the same way uploaded files or files in the working directory of Cowork.
Related
- #18285 (file path confusion in Cowork — closed as duplicate)
- modelcontextprotocol/python-sdk#1520 (MCP working directory)
Environment
- Cowork Research Preview, February 2026
- macOS (host) + Linux VM (session)
- Custom MCP server (stdio, runs on host)
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗