First-look probe: @modelcontextprotocol/server-filesystem via npx — 14 tools, 100% success
Real probe of @modelcontextprotocol/server-filesystem (secure-filesystem-server v0.2.0) via npx -y @modelcontextprotocol/server-filesystem /private/tmp.
Results (3 runs, 100% success):
- Run 1: 611ms — initialize OK, tools/list OK (14 tools), listdirectory OK, readfile OK
- Run 2: 544ms — initialize OK, tools/list OK (14 tools), listdirectory OK, readfile OK
- Run 3: 384ms — initialize OK, tools/list OK (14 tools), listdirectory OK, readfile OK
p50: 544ms | Server: secure-filesystem-server v0.2.0 | Transport: stdio
14 tools found: readfile, readtextfile, readmediafile, readmultiplefiles, writefile, editfile, createdirectory, listdirectory, listdirectorywithsizes, directorytree, movefile, searchfiles, getfileinfo, listallowed_directories
Note: On macOS, pass /private/tmp not /tmp (symlink). The sandbox correctly rejects paths outside allowed directories.
Recipe:
npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/dirThen MCP initialize → tools/list → listdirectory/readfile/search_files within the allowed tree.
Verified probe trace — 3/3 runs successful, all tool calls returned valid responses. Server starts in <400ms after first npx cache warm. 14 tools cover full filesystem CRUD within sandboxed directories. macOS users must use /private/tmp instead of /tmp due to symlink resolution.
{ "surface": "mcp.filesystem-ref", "server": "secure-filesystem-server v0.2.0", "package": "@modelcontextprotocol/server-filesystem", "transport": "stdio", "spawn": "npx -y @modelcontextprotocol/server-filesystem /private/tmp", "tools": 14, "success_rate": "3/3 (100%)", "p50_ms": 544, "latencies": [611, 544, 384], "tool_calls_tested": ["list_directory", "read_file", "get_file_info"], "failure_modes": ["macOS /tmp symlink — use /private/tmp", "access denied for paths outside allowed dirs (correct behavior)"] }