{
  "captured_at": "2026-10-08T10:21:05.532Z",
  "package": "@modelcontextprotocol/server-filesystem",
  "version": "2026.8.31",
  "registry": "https://registry.npmjs.org/@modelcontextprotocol/server-filesystem",
  "registry_git_head": "a40bc270fb5ece62673f8a1196f57116d885c5eb",
  "runtime": {
    "node": "v24.13.0",
    "platform": "win32",
    "arch": "x64"
  },
  "installation": "Fresh npm prefix, exact package version, install scripts disabled; package-lock preserved",
  "package_lock_sha256": "5a622b3e3a1abb3dd5367385c0828e8c916fbf2ec62612517fb3708b67aa4ef7",
  "configuration": "One allowed directory; no client Roots capability; no credentials; disposable synthetic files",
  "advertised_tools": [
    "read_file",
    "read_text_file",
    "read_media_file",
    "read_multiple_files",
    "write_file",
    "edit_file",
    "create_directory",
    "list_directory",
    "list_directory_with_sizes",
    "directory_tree",
    "move_file",
    "search_files",
    "get_file_info",
    "list_allowed_directories"
  ],
  "cases": [
    {
      "name": "read within allowed directory",
      "tool": "read_text_file",
      "arguments": {
        "path": "<AUDIT_ROOT>\\run-1791454864998\\allowed\\example.txt"
      },
      "expected": "success",
      "passed": true,
      "response": {
        "content": [
          {
            "type": "text",
            "text": "PUBLIC_TEST_FIXTURE_INSIDE"
          }
        ],
        "structuredContent": {
          "content": "PUBLIC_TEST_FIXTURE_INSIDE"
        }
      }
    },
    {
      "name": "read outside allowed directory",
      "tool": "read_text_file",
      "arguments": {
        "path": "<AUDIT_ROOT>\\run-1791454864998\\outside\\example.txt"
      },
      "expected": "denied",
      "passed": true,
      "response": {
        "content": [
          {
            "type": "text",
            "text": "Access denied - path outside allowed directories: <AUDIT_ROOT>\\run-1791454864998\\outside\\example.txt not in <AUDIT_ROOT>\\run-1791454864998\\allowed"
          }
        ],
        "isError": true
      }
    },
    {
      "name": "parent traversal outside allowed directory",
      "tool": "read_text_file",
      "arguments": {
        "path": "<AUDIT_ROOT>\\run-1791454864998\\allowed/../outside/example.txt"
      },
      "expected": "denied",
      "passed": true,
      "response": {
        "content": [
          {
            "type": "text",
            "text": "Access denied - path outside allowed directories: <AUDIT_ROOT>\\run-1791454864998\\outside\\example.txt not in <AUDIT_ROOT>\\run-1791454864998\\allowed"
          }
        ],
        "isError": true
      }
    },
    {
      "name": "junction or symlink outside allowed directory",
      "tool": "read_text_file",
      "arguments": {
        "path": "<AUDIT_ROOT>\\run-1791454864998\\allowed\\outside-link\\example.txt"
      },
      "expected": "denied",
      "passed": true,
      "response": {
        "content": [
          {
            "type": "text",
            "text": "Access denied - symlink target outside allowed directories: <AUDIT_ROOT>\\run-1791454864998\\outside\\example.txt not in <AUDIT_ROOT>\\run-1791454864998\\allowed"
          }
        ],
        "isError": true
      }
    },
    {
      "name": "write within allowed directory",
      "tool": "write_file",
      "arguments": {
        "path": "<AUDIT_ROOT>\\run-1791454864998\\allowed\\created.txt",
        "content": "PUBLIC_TEST_WRITE"
      },
      "expected": "success",
      "passed": true,
      "response": {
        "content": [
          {
            "type": "text",
            "text": "Successfully wrote to <AUDIT_ROOT>\\run-1791454864998\\allowed\\created.txt"
          }
        ],
        "structuredContent": {
          "content": "Successfully wrote to <AUDIT_ROOT>\\run-1791454864998\\allowed\\created.txt"
        }
      }
    },
    {
      "name": "write outside allowed directory",
      "tool": "write_file",
      "arguments": {
        "path": "<AUDIT_ROOT>\\run-1791454864998\\outside\\example.txt",
        "content": "SHOULD_NOT_BE_WRITTEN"
      },
      "expected": "denied with original file unchanged",
      "passed": true,
      "response": {
        "content": [
          {
            "type": "text",
            "text": "Access denied - path outside allowed directories: <AUDIT_ROOT>\\run-1791454864998\\outside\\example.txt not in <AUDIT_ROOT>\\run-1791454864998\\allowed"
          }
        ],
        "isError": true
      }
    }
  ],
  "stderr": "Secure MCP Filesystem Server running on stdio\nClient does not support MCP Roots, using allowed directories set from server args: [\n  '<AUDIT_ROOT>\\\\run-1791454864998\\\\allowed'\n]\n",
  "limitation": "These six executed cases cover only one package version, environment and configuration. They do not establish OS-level isolation, audit dependencies, test race conditions, cover every filesystem tool, test client-supplied Roots, or prove that future releases are safe. Synthetic file contents are test fixtures, not fabricated observed responses."
}
