{"slug": "tools-changed-breaking-filesystem-reference", "title": "Tools changed (breaking): Filesystem (reference)", "summary": "The Model Context Protocol reference Filesystem server (@modelcontextprotocol/server-filesystem) version 2.3.0 passed both of two tool calls in a 2026-11-12 retest and scored 93/100 on a five-test install, handshake, maintenance, docs and license rubric, according to the testing site's published results. The 2.3.0 release exposes 16 tools, adding append_file and copy_file and a new depth input on directory_tree, at an estimated context cost of roughly 2,885 cl100k tokens, about 35% of an 8k context window. The server completed an MCP initialize and tools/list handshake over stdio with no credentials in 0.3 seconds, and the tester noted that npm ranks the affected date versions 2025.1.14 through 2026.8.31 above 2.3.0, so installs must pin 2.3.0 explicitly.", "body_md": "# Filesystem (reference)\n\n**93**/100\n\nScore = points from our five tests (install, handshake, maintenance, docs, license). Not a quality or security rating. [Methodology](https://testedmcp.com/methodology/)\n\n- Install20/20\n- Handshake30/30\n- Maintenance25/25\n- Docs15/15\n- License3/10\n\nRetested 2026-11-12 on @modelcontextprotocol/server-filesystem@2.3.0. The date versions 2025.1.14 to 2026.8.31 are also affected; npm ranks those date versions above 2.3.0, so the install line pins 2.3.0 explicitly. The tool list is 16 (append_file and copy_file were added; directory_tree has a new depth input).\n\nTool-call test (2026-11-12, direct MCP stdio client, no LLM): **pass**. 2 of 2 calls passed in the 2026-11-12 fixed-in retest. Evidence: local test run, Nov 12, 2026.\n\n**Transport (tested 2026-10-27):** stdio\n\nTested version: 2.3.0 · tested 2026-11-12\n\n**Token cost (estimate):** approx. 2885 tokens, cl100k estimate (16 tools, measured 2026-11-12, version 2.3.0). This is an estimate from our testing of the tool names, descriptions and input schemas, counted with cl100k_base.\n\n## Permissions: 10 read, 6 write (state-changing), 0 unclassified · Auth: local · Rate limit: unknown · Pricing unit: unknown\n\nAuth: local. Rate limit: unknown. Pricing unit: unknown.\n\n- `append_file` — write (state-changing)\n- `copy_file` — write (state-changing)\n- `create_directory` — write (state-changing)\n- `directory_tree` — read\n- `edit_file` — write (state-changing)\n- `get_file_info` — read\n- `list_allowed_directories` — read\n- `list_directory` — read\n- `list_directory_with_sizes` — read\n- `move_file` — write (state-changing)\n- `read_file` — read\n- `read_media_file` — read\n- `read_multiple_files` — read\n- `read_text_file` — read\n- `search_files` — read\n- `write_file` — write (state-changing)\n\nlocal stdio server with no recorded cloud credential\n\nScore **93/100** · Tools **16** · Token cost **approx. 2,885 tokens** (Tool list changed 2026-11-12; count from 2026-11-12 capture) · [Compare](https://testedmcp.com/compare/?s=filesystem-reference) · Last tested **2026-11-12** · Version tested `2.3.0` · Package [@modelcontextprotocol/server-filesystem](https://www.npmjs.com/package/@modelcontextprotocol/server-filesystem)[modelcontextprotocol/servers](https://testedmcp.com/go/filesystem-reference/)\n\nSummary: Filesystem (reference) completed an MCP handshake without credentials and exposed 16 tools.\n\nRelated: [Sequential Thinking (reference) test results](https://testedmcp.com/tools/sequential-thinking-reference/)\n\n## Evidence summary\n\n- Handshake\n- pass\n- Tools listed\n- 16\n- Context cost\n- approx. 2885 tokens, cl100k estimate (16 tools, measured 2026-11-12, version 2.3.0; an estimate) [ranking](https://testedmcp.com/best/lowest-context-cost-mcp-servers/) ·[add up your servers' context cost](https://testedmcp.com/guides/how-much-context-mcp-servers-cost/)\nTool list changed 2026-11-12; count from 2026-11-12 capture\n- API key\n- No key needed for the tools we called\n- Tested\n- 2026-11-12\n\n## Test results\n\n| Test | Result | Points | Evidence | \n|---|---|---|---|\n| install | pass | 20 | `npm install @modelcontextprotocol/server-filesystem` (Node 20, Linux) succeeded in 0s. | \n| handshake | pass | 30 | MCP `initialize` +`tools/list` over stdio succeeded with no credentials; 16 tools listed in 0.3s. | \n| maintenance | pass | 25 | Repo pushed 24 days before test; 91,469 GitHub stars. | \n| docs | pass | 15 | README over 3,000 chars; install instructions present; `mcpServers` config example present. Check of the package's own README (README shipped in npm package). | \n| license | partial | 3 | License not machine-detected as OSI (SEE LICENSE IN LICENSE). | \n\n## Local-model readiness\n\nToken cost (estimate): **approx. 2885 tokens, cl100k estimate** for 16 tools · about 35% of an 8k context. This is an estimate from our testing (counted with cl100k_base).\n\nSmall-model friendly (schema heuristic, not a model result): **high**.\n\n| Model | Quantization | Runs | Task completed | Correct tool | Avg rounds | \n|---|---|---|---|---|---|\n| qwen2.5:3b-instruct-q4_K_M | Q4_K_M GGUF (bartowski/Qwen2.5-3B-Instruct-GGUF), CPU-only | 3 | 100% | 100% | 2 | \n| qwen2.5:1.5b-instruct-q4_K_M | Q4_K_M GGUF (bartowski/Qwen2.5-1.5B-Instruct-GGUF), CPU-only | 3 | 100% | 100% | 2 | \n\n## Functional tasks (3/3 passed, tested 2026-10-27)\n\n| Task | Tool | Result | Evidence | \n|---|---|---|---|\n| write file | write_file | pass | [{\"type\":\"text\",\"text\":\"Successfully wrote to <temp dir>/probe-1793079959975.txt\"}] | \n| read file | read_file | pass | [{\"type\":\"text\",\"text\":\"testedmcp-qf5qae7yz3q\"}] | \n| list directory | list_directory | pass | [{\"type\":\"text\",\"text\":\"[FILE] probe-1793079959975.txt\"}] | \n\n## What we tested and what we didn't\n\n### Tested on 2026-11-12\n\n- Install from the registry\n- We connected with no credentials and asked for its tool list: it listed 16 tools (Method details: MCP `initialize` then`tools/list` )\n- Maintenance signals (last push, archived/deprecated status)\n- Docs (README length, install and config example)\n- License (OSI-approved or not)\n- Functional tasks: 3/3 passed\n- Token cost (estimate)\n- Small local-model task runs (directional)\n\n### Not tested\n\n- Security: **not audited** (no code review, no permission or data-flow analysis)\n- Behaviour with real credentials or a real account\n- Performance, rate limits or load\n- Correctness of results beyond the listed tasks\n\nMethodology: [how we test](https://testedmcp.com/methodology/). A high score means it installs and responds, not that giving it access to your data carries no risk.\n\n## Known security issues\n\n**Security fix released:** [GHSA-p9cv-8g75-4xcg](https://github.com/modelcontextprotocol/servers/security/advisories/GHSA-p9cv-8g75-4xcg) (medium) and [GHSA-7m4x-rv66-mxhh](https://github.com/modelcontextprotocol/servers/security/advisories/GHSA-7m4x-rv66-mxhh) (medium). Fixed in 2.3.0 (advisory published 2026-11-11). The date versions 2025.1.14 to 2026.8.31 are also affected. npm ranks those date versions above 2.3.0, so the install line pins 2.3.0 explicitly.\n\nChecked on 2026-11-12 for version `2.3.0` against OSV, GitHub advisories, GitHub repository advisories. Scope: the package itself; dependencies not scanned.\n\nNo published advisories found in OSV and GitHub advisories whose affected range includes @modelcontextprotocol/server-filesystem 2.3.0 as of 2026-11-12. This is not a security audit.\n\n## Other advisories we checked (8)\n\n- Tested version 2.3.0 is not in the affected range of [GHSA-q66q-fx2p-7w4m](https://github.com/modelcontextprotocol/servers/security/advisories/GHSA-q66q-fx2p-7w4m) .\n- Tested version 2.3.0 is not in the affected range of [GHSA-hc55-p739-j48w](https://github.com/modelcontextprotocol/servers/security/advisories/GHSA-hc55-p739-j48w) .\n- Tested version 2.3.0 is not in the affected range of [GHSA-4gxg-m5jx-9j57](https://github.com/modelcontextprotocol/servers/security/advisories/GHSA-4gxg-m5jx-9j57) .\n- Tested version 2.3.0 is not in the affected range of [GHSA-7rgq-gccq-qphx](https://github.com/modelcontextprotocol/servers/security/advisories/GHSA-7rgq-gccq-qphx) .\n- Tested version 2.3.0 is not in the affected range of [GHSA-53mr-w429-c597](https://github.com/modelcontextprotocol/servers/security/advisories/GHSA-53mr-w429-c597) .\n- Tested version 2.3.0 is not in the affected range of [GHSA-hhwq-wxfx-cj7g](https://github.com/modelcontextprotocol/servers/security/advisories/GHSA-hhwq-wxfx-cj7g) .\n- Tested version 2.3.0 is not in the affected range of [GHSA-p9cv-8g75-4xcg](https://github.com/modelcontextprotocol/servers/security/advisories/GHSA-p9cv-8g75-4xcg) .\n- Tested version 2.3.0 is not in the affected range of [GHSA-7m4x-rv66-mxhh](https://github.com/modelcontextprotocol/servers/security/advisories/GHSA-7m4x-rv66-mxhh) .\n\nMonthly roundup: [MCP security issues, October 2026](https://testedmcp.com/security/2026-10/).\n\n## Tool list changes ↻ Tools changed (breaking) 2026-11-12\n\n**Tool list changed since last test (2026-11-11 → 2026-11-12): +2 added, 12 changed (breaking).** Confirmed by a re-run with the same arguments.\n\n## Show the diff\n\n- Added: `append_file`\n- Added: `copy_file`\n- Changed schema: `create_directory`\n- Changed schema: `directory_tree`\n- Changed schema: `edit_file`\n- Changed schema: `get_file_info`\n- Changed schema: `list_directory`\n- Changed schema: `list_directory_with_sizes`\n- Changed schema: `move_file`\n- Changed schema: `read_file` (breaking)\n- Changed schema: `read_media_file`\n- Changed schema: `read_text_file` (breaking)\n- Changed schema: `search_files`\n- Changed schema: `write_file`\n\n## Snapshot hash (fingerprint of the tool list)\n\n`b6a46ea21cb6`: SHA-256 of the canonical tool names, descriptions and input schemas. If it changes, the tool list changed.\n\n## Raw test record (JSON)\n\n```\n{\n  \"name\": \"@modelcontextprotocol/server-filesystem\",\n  \"version\": \"2.3.0\",\n  \"registry\": \"npm\",\n  \"status\": \"working\",\n  \"tested\": \"2026-11-12\",\n  \"tools_count\": 16,\n  \"deprecated\": false,\n  \"archived\": false,\n  \"tests\": {\n    \"install\": [\n      \"pass\",\n      20,\n      \"`npm install @modelcontextprotocol/server-filesystem` (Node 20, Linux) succeeded in 0s.\"\n    ],\n    \"handshake\": [\n      \"pass\",\n      30,\n      \"MCP `initialize` + `tools/list` over stdio succeeded with no credentials; 16 tools listed in 0.3s.\"\n    ],\n    \"maintenance\": [\n      \"pass\",\n      25,\n      \"Repo pushed 24 days before test; 91,469 GitHub stars.\"\n    ],\n    \"docs\": [\n      \"pass\",\n      15,\n      \"README over 3,000 chars; install instructions present; `mcpServers` config example present. Check of the package's own README (README shipped in npm package).\"\n    ],\n    \"license\": [\n      \"partial\",\n      3,\n      \"License not machine-detected as OSI (SEE LICENSE IN LICENSE).\"\n    ]\n  }\n}\n```\n\n## Install\n\n`npx -y @modelcontextprotocol/server-filesystem <path>`\n\n## Pin the version we tested\n\n`npx -y @modelcontextprotocol/server-filesystem@2.3.0 <path>`\n\ntested 2026-11-12. Newer versions may differ and were not tested by us.\n\n```\n{\n  \"mcpServers\": {\n    \"filesystem-reference\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@modelcontextprotocol/server-filesystem@2.3.0\",\n        \"<path>\"\n      ]\n    }\n  }\n}\n```\n\n## Tools listed\n\n`append_file`, `copy_file`, `create_directory`, `directory_tree`, `edit_file`, `get_file_info`, `list_allowed_directories`, `list_directory`, `list_directory_with_sizes`, `move_file`, `read_file`, `read_media_file`, `read_multiple_files`, `read_text_file`, `search_files`, `write_file`\n\nTool history: captured Nov 11, 2026. [All tool history](https://testedmcp.com/changes/).\n\n## Quick config\n\n```\n{\n  \"mcpServers\": {\n    \"filesystem-reference\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@modelcontextprotocol/server-filesystem\",\n        \"/tmp\"\n      ]\n    }\n  }\n}\n```\n\n[Add to config](https://testedmcp.com/free-tools/mcp-config-generator/?s=filesystem-reference) Opens the config generator with this server selected.\n\n## Setup\n\n1. **Install.** Run`npm install @modelcontextprotocol/server-filesystem` (Node 20). This is the exact command we ran on 2026-11-12.\n2. **Configure.** Add the mcpServers entry below to your MCP client config.\n3. **Verify.** Restart the client and check that tools/list returns tools (16 in our test).\n\n```\n{\n  \"mcpServers\": {\n    \"filesystem-reference\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@modelcontextprotocol/server-filesystem\",\n        \"/tmp\"\n      ]\n    }\n  }\n}\n```\n\n## Test history\n\n- 2026-11-12: Retested\n- 2026-11-12: Tools changed (breaking)\n- 2026-10-27: Retested\n- 2026-10-22: New\n\nRelated: [Best file MCP servers](https://testedmcp.com/best/files-mcp-servers/)\n\n## FAQ\n\n### Is Filesystem (reference) deprecated?\n\nNo. @modelcontextprotocol/server-filesystem was not deprecated or archived when we last tested it on 2026-11-12.\n\n### What replaces Filesystem (reference)?\n\nNothing; Filesystem (reference) is not deprecated as of 2026-11-12.\n\n### Does Filesystem (reference) need an API key?\n\nNo. It completed an MCP handshake with no credentials and listed 16 tools.\n\n## Embed the badge\n\nEvery tested server gets a free embeddable badge. It shows the current score and test date and expires after 90 days. Testing is free; payment never changes a score.", "url": "https://wpnews.pro/news/tools-changed-breaking-filesystem-reference", "canonical_source": "https://testedmcp.com/tools/filesystem-reference/#tool-changes", "published_at": "2026-11-12 00:00:00+00:00", "updated_at": "2026-11-12 16:20:55.685413+00:00", "lang": "en", "topics": ["ai-agents", "agent-protocols", "ai-tools", "developer-tools"], "entities": ["@modelcontextprotocol/server-filesystem", "Model Context Protocol", "npm", "GitHub", "Qwen2.5-3B-Instruct"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/tools-changed-breaking-filesystem-reference", "markdown": "https://wpnews.pro/news/tools-changed-breaking-filesystem-reference.md", "text": "https://wpnews.pro/news/tools-changed-breaking-filesystem-reference.txt", "jsonld": "https://wpnews.pro/news/tools-changed-breaking-filesystem-reference.jsonld"}}