Claude Desktop Setup
Configuration
Section titled “Configuration”Add to your claude_desktop_config.json:
Binary (in PATH)
Section titled “Binary (in PATH)”{ "mcpServers": { "filesystem": { "command": "mcp-filesystem-go-light", "args": ["/path/to/allowed/dir", "/another/dir"] } }}Windows — direct path to .exe
Section titled “Windows — direct path to .exe”{ "mcpServers": { "filesystem": { "command": "C:\\path\\to\\mcp-filesystem-go-light.exe", "args": ["C:\\Users\\you\\projects", "C:\\another\\dir"] } }}Docker
Section titled “Docker”{ "mcpServers": { "filesystem": { "command": "docker", "args": [ "run", "-i", "--rm", "-v", "/your/path:/data", "ghcr.io/scopweb/mcp-filesystem-go-light:latest", "/data" ] } }}How it works
Section titled “How it works”- Claude Desktop starts the server as a subprocess via stdio.
- The server receives MCP tool calls and executes filesystem operations.
- All paths are validated against the allowed directories passed as arguments.
- The normalizer layer corrects parameter mismatches before they reach the handler.
Development logging
Section titled “Development logging”If you want local audit logs while testing with Claude Desktop, place flags before the allowed directories:
{ "mcpServers": { "filesystem": { "command": "C:\\path\\to\\mcp-filesystem-go-light.exe", "args": [ "--dev", "--log-dir", "C:\\mcp-logs", "C:\\Users\\you\\projects" ] } }}--dev --log-dir C:\\mcp-logswrites two files:operations.jsonl— one JSON line per tool call, including: tool name, raw and normalized arguments, result summary, duration, sub-operation traces (e.g.edit.parse_arguments,edit.validate_path), and any errors.metrics.json— aggregated stats: call counts per tool, average durations, error rates.
- Allowed directories must come after the flags because the server reads them from positional arguments.
Inspecting logs:
| Method | Command |
|---|---|
| Dashboard (browser) | go run ./cmd/logdashboard --log-dir C:\\mcp-logs --addr :8091 → open http://127.0.0.1:8091 |
| CLI viewer | go run ./cmd/logview --log-dir C:\\mcp-logs — shows recent operations, errors, and timings in the terminal |
| Proxy correlation | go run ./cmd/proxy — injects request_id traces into proxy.jsonl for end-to-end debugging |
Config file location
Section titled “Config file location”| OS | Path |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |