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!
1
0
47