Description
Zed's settings.json has two different sections for MCP servers:
context_servers — Zed's older extension-based server API
assistant.mcp_servers — the newer HTTP MCP protocol key
The desktop client writes Edison's MCP entry to assistant.mcp_servers (see the module header at packages/desktop/src/main/clients/zed/index.ts:5), and the Clients-tab status check reads from that same location.
However, parseZedSettingsJson() in packages/desktop/src/main/clients/zed/discovery.ts:31 only reads json.context_servers (line 38). So discoverZed() / discoverMcpServers() never surface the Edison Watch entry in the general server-discovery results for Zed.
The inconsistency is visible within a single file — line 12 documents the path as "Zed config path (MCP servers in assistant.mcp_servers)", while the parser 20 lines below reads context_servers.
Impact
- The Clients tab correctly shows Zed as Configured (reads
assistant.mcp_servers)
- The discovered-servers list shows 0 Zed servers for Edison Watch (reads
context_servers only)
This is a visibility inconsistency, not a broken-connection issue.
Files to update
packages/desktop/src/main/clients/zed/discovery.ts — parseZedSettingsJson() should scan assistant.mcp_servers in addition to context_servers and merge the results.
packages/desktop/src/main/__tests__/mcpDiscovery.test.ts — existing coverage is context_servers-only (parses Zed settings.json with context_servers, handles missing context_servers key). Add cases for assistant.mcp_servers and for both keys present.
History
Originally filed in the private backend repo as Edison-Watch/edison-watch#610 (2026-04-08), against client_2/src/main/mcpDiscovery.ts, before the desktop client moved to this repository. Re-filed here with updated paths; the original has been closed as moved.
Verified still present at 0ff6668. Identified during review of an earlier PR — a pre-existing gap, not introduced by it.
Description
Zed's
settings.jsonhas two different sections for MCP servers:context_servers— Zed's older extension-based server APIassistant.mcp_servers— the newer HTTP MCP protocol keyThe desktop client writes Edison's MCP entry to
assistant.mcp_servers(see the module header atpackages/desktop/src/main/clients/zed/index.ts:5), and the Clients-tab status check reads from that same location.However,
parseZedSettingsJson()inpackages/desktop/src/main/clients/zed/discovery.ts:31only readsjson.context_servers(line 38). SodiscoverZed()/discoverMcpServers()never surface the Edison Watch entry in the general server-discovery results for Zed.The inconsistency is visible within a single file — line 12 documents the path as "Zed config path (MCP servers in
assistant.mcp_servers)", while the parser 20 lines below readscontext_servers.Impact
assistant.mcp_servers)context_serversonly)This is a visibility inconsistency, not a broken-connection issue.
Files to update
packages/desktop/src/main/clients/zed/discovery.ts—parseZedSettingsJson()should scanassistant.mcp_serversin addition tocontext_serversand merge the results.packages/desktop/src/main/__tests__/mcpDiscovery.test.ts— existing coverage iscontext_servers-only (parses Zed settings.json with context_servers,handles missing context_servers key). Add cases forassistant.mcp_serversand for both keys present.History
Originally filed in the private backend repo as
Edison-Watch/edison-watch#610(2026-04-08), againstclient_2/src/main/mcpDiscovery.ts, before the desktop client moved to this repository. Re-filed here with updated paths; the original has been closed as moved.Verified still present at
0ff6668. Identified during review of an earlier PR — a pre-existing gap, not introduced by it.