modelcontextprotocol / modelcontextprotocol/servers
Docker Image 1.0.2 Breaks Linux Users with Letter at Start of Path
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 90.5k
- Forks
- 11.7k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 5
Description
Describe the bug
This 1.0.2 breaks linux users who's paths start with a letter. i.e. /h/path/to/data. We were very confused when our linux paths were converted to windows paths:
This error does not happen with mcp/filesystem:sha256-35fcf0217ca0d5bf7b0a5bd68fb3b89e08174676c0e0b4f431604512cf7b3f67; it only happens with mcp/filesystem:1.0.2.
To Reproduce
Steps to reproduce the behavior:
- Docker pull
mcp/filesystem:1.0.2 - Configure with a linux path that starts with a /h/ or other letter
- Start up mcp server
Expected behavior
Should mount the correct path without changing it.
Logs
This is the error when the gateway tries to configure the mcp server:
Running mcp/filesystem:1.0.2 with [run --rm -i --init --security-opt no-new-privileges --cpus 1 --memory 2Gb --pull never -l docker-mcp=true -l docker-mcp-tool-type=mcp -l docker-mcp-name=filesystem -l docker-mcp-transport=stdio --network none -v /h/<username>/MCP_Development/data:/h/<username>/MCP_Development/data] and command [/h/<username>/MCP_Development/data]
mcp-gateway | - filesystem: Error accessing directory H:\<username>\MCP_Development\data: Error: ENOENT: no such file or directory, stat 'H:\<username>\MCP_Development\data'
mcp-gateway | - filesystem: at async Object.stat (node:internal/fs/promises:1039:18)
mcp-gateway | - filesystem: at async file:///app/dist/index.js:44:23
mcp-gateway | - filesystem: at async Promise.all (index 0)
mcp-gateway | - filesystem: at async file:///app/dist/index.js:42:1 {
mcp-gateway | - filesystem: errno: -2,
mcp-gateway | - filesystem: code: 'ENOENT',
mcp-gateway | - filesystem: syscall: 'stat',
mcp-gateway | - filesystem: path: 'H:\\<username>\\MCP_Development\\data'
mcp-gateway | - filesystem: }
mcp-gateway | > Can't start filesystem: failed to connect: calling "initialize": EOF
Additional context
N/A
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce with mcp/filesystem:1.0.2 using a Linux path beginning with /h/ and compare it with the working image digest. Start from the stack trace locations in /app/dist/index.js:42-44 and trace how the configured mount path reaches filesystem access. Done means the server preserves the Linux path and mounts the requested directory without converting it to a Windows path.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, typescript
- Domain
- backend, devops, operating-systems
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 56/100