-
Notifications
You must be signed in to change notification settings - Fork 8.9k
Description
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
- Install Claude Desktop on macOS Sequoia 15.6
- Configure
@modelcontextprotocol/server-filesysteminclaude_desktop_config.jsonas shown above - Restart Claude Desktop
- 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_directorywith path/Users/colliand/claude-has-accessread_fileoperations
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:
- Can you confirm this is a known issue?
- Is there a timeline for a fix?
- Are there any available workarounds?
- Should we try the development version from GitHub instead of the npm package?