Skip to content

Bug report: keyValidator._parse is not a function error when using @modelcontextprotocol/server-filesystem on macOS #3083

@colliand

Description

@colliand

keyValidator._parse is not a function error when using @modelcontextprotocol/server-filesystem on macOS

Description

The @modelcontextprotocol/server-filesystem MCP server fails with a keyValidator._parse is not a function error when attempting to access directories on macOS through Claude Desktop.

Environment

  • Operating System: macOS Sequoia 15.6
  • Node.js Version: v25.1.0
  • npm Version: 11.6.2
  • Package Version: @modelcontextprotocol/[email protected]
  • Claude Desktop Version: [Add your version from Claude → About Claude]

Configuration

{
  "mcpServers": {
    "claude-has-access": {
      "command": "npx",
      "args": [
        "@modelcontextprotocol/server-filesystem",
        "/Users/colliand/claude-has-access"
      ]
    },
    "obsidian-vault": {
      "command": "npx",
      "args": [
        "@modelcontextprotocol/server-filesystem",
        "/Users/colliand/Obsidian/digital-commons-project-vault"
      ]
    }
  }
}

Steps to Reproduce

  1. Install Claude Desktop on macOS Sequoia 15.6
  2. Configure @modelcontextprotocol/server-filesystem in claude_desktop_config.json as shown above
  3. Restart Claude Desktop
  4. Attempt to use filesystem tools (e.g., list_directory)

Expected Behavior

The MCP server should successfully list directory contents and provide filesystem access through the MCP protocol.

Actual Behavior

All filesystem operations fail immediately with the following error:

keyValidator._parse is not a function

Additional Context

  • This affects multiple filesystem server configurations using the same package
  • The error occurs immediately when attempting any filesystem operation (list_directory, read_file, etc.)
  • Other MCP servers (GitHub, HubSpot, Todoist, Gmail, Google Drive) work correctly in the same Claude Desktop configuration
  • Attempted fix: Updated to latest version using npm install -g @modelcontextprotocol/server-filesystem@latest - issue persists
  • The directory paths exist and have proper read permissions
  • Verified with: ls -la /Users/colliand/claude-has-access - directory is accessible

Error Details

When testing through Claude Desktop's MCP interface, operations like:

  • list_directory with path /Users/colliand/claude-has-access
  • read_file operations

All fail with:

Error: keyValidator._parse is not a function

This suggests a problem with the schema validation layer in the MCP server implementation.

Use Case

I'm using a security-conscious workflow where I symlink project directories into ~/claude-has-access to grant Claude temporary access to specific projects, then revoke access by removing the symlink. The filesystem MCP server is essential for this workflow as it provides controlled, scoped filesystem access.

Impact

This bug completely blocks filesystem access functionality in Claude Desktop on macOS, which is a core feature of the MCP system. Without a working filesystem server:

  • Cannot access project files
  • Cannot read/edit code in local repositories
  • Cannot work with local documentation
  • Cannot leverage Claude Desktop for file-based workflows

Request

Given that filesystem access is fundamental MCP functionality provided by Anthropic's official server implementation:

  1. Can you confirm this is a known issue?
  2. Is there a timeline for a fix?
  3. Are there any available workarounds?
  4. Should we try the development version from GitHub instead of the npm package?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions