Hello,
I’m trying to use a third-party MCP server (ICM) in Xcode 27’s new Coding Assistant.
The server appears to start correctly and shows up when I run /mcp, but as soon as an agent tries to use it, Xcode appears to rewrite my config and changes "enabled = true" to "enabled = false".
My configuration looks like this:
[mcp_servers.icm] command = "/opt/homebrew/bin/icm" args = [ "serve", "--no-embeddings", "--db", "/Users/Sam/emdash/worktrees/Castle/emdash/custom-widget-system-5dubi/.icm-xcode/memories.db" ] enabled = true
I’ve spent quite a while debugging this and found some interesting behaviour:
- The MCP server appears when I type /mcp.
- SQLite databases can be created and written inside the current workspace.
- SQLite databases can also be created and written in /tmp.
- SQLite databases outside the workspace (for example in ~/Library/Application Support) fail with readonly/open errors.
- Ordinary file operations outside the workspace still work fine.
What I’m trying to understand is:
- Why is Xcode disabling the MCP server?
- What filesystem access should MCP servers have? Are they intentionally restricted to the workspace and /tmp?
- Is there a supported way to allow an MCP server to access data stored elsewhere on disk?
Has anyone else run into this?
Thanks!