The MCP server itself expects an array, but Claude Desktop's config parser expects a string. This is a mismatch between how Claude Desktop handles environment variables and how the MCP server parses them.
Config according to docs:
"DISABLE_TOOLS": ["delete-item", "update-field", "create-field"]
Error Message on Claude startup:
Could not load app settings
There was an error reading or parsing claude_desktop_config.json: [
{
"code": "invalid_type",
"expected": "string",
"received": "array",
"path": [
"mcpServers",
"directus",
"env",
"DISABLE_TOOLS"
],
"message": "Expected string, received array"
}
]
Tried a couple of variations suggested by Claude, but no luck.