You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Desktop v1.15.13: MCP UI shows '未配置 MCPs' despite MCP server running (CLI mcp list shows connected) #30366
After configuring an MCP server (Open Design MCP, stdio local type) in ~/.config/opencode/opencode.json, the OpenCode Desktop app (v1.15.13, macOS) shows "未配置 MCPs" (MCP not configured) in the MCP status popover and the MCP dialog, despite the MCP server process being started and functional.
To Reproduce
Add a local MCP server to ~/.config/opencode/opencode.json:
MCP process confirmed running on system (PID verified, parent PID = desktop sidecar)
MCP tools respond correctly to JSON-RPC requests
Config file validated via schema (mcp.{name}.type=local, command array, enabled=true)
Sidecar server log shows no MCP-related errors
Renderer log only has ResizeObserver warnings, no MCP errors
Environment
OpenCode Desktop version: 1.15.13 (packaged)
macOS version: macOS (Apple Silicon)
Install method: Desktop DMG download from opencode.ai
~/.config/opencode/opencode.json verified correct
User data dir: ~/Library/Application Support/ai.opencode.desktop
Possible Root Cause
The UI reads MCP status from sync.data.mcp, populated by the desktop sidecar server process. The sidecar starts the MCP server process correctly (confirmed via process tree), but the MCP status may not be propagating to sync.data.mcp that the renderer UI reads. CLI opencode mcp list works because it directly reads the config and probes the MCP server independently. Clearing ~/Library/Application Support/ai.opencode.desktop/opencode/ cache did not resolve the issue.
environment vs env fix confirmed - The config key must be "environment" (not "env"). The McpLocalConfig schema only recognizes "environment". When "env" was used, the environment variables were silently dropped.
After fix: env vars are correctly passed - MCP process now receives OD_SIDECAR_IPC_PATH and OD_DATA_DIR as expected.
The desktop sidecar correctly spawns the MCP process and passes environment variables.
MCP server responds correctly - All 8 tools (list_projects, get_file, search_files, create_artifact, etc.) respond to JSON-RPC requests.
Desktop UI still shows "未配置 MCPs" despite all of the above being functional.
Conclusion
The MCP server is fully functional - the sidecar reads the config, starts the process, passes environment variables, and the MCP server connects to the daemon. The CLI opencode mcp list confirms connected.
The only remaining issue is the UI renderer not reflecting MCP state - sync.data.mcp is either not being populated or not synced to the renderer process. This appears to be a frontend-side sync/state bug specific to the Desktop app (v1.15.17).
This issue might be a duplicate of existing issues. Please check:
MCP Broken on v1.15.13 #30265: MCP list is empty after update to v1.15.13 on Windows (same symptom: configured MCPs not appearing in UI despite config being correct)
Activity
zico00 commentedon Jun 2, 2026
Update: Further Investigation
Key findings after deeper debugging:
environmentvsenvfix confirmed - The config key must be"environment"(not"env"). TheMcpLocalConfigschema only recognizes"environment". When"env"was used, the environment variables were silently dropped.After fix: env vars are correctly passed - MCP process now receives
OD_SIDECAR_IPC_PATHandOD_DATA_DIRas expected.MCP process hierarchy confirmed correct:
The desktop sidecar correctly spawns the MCP process and passes environment variables.
MCP server responds correctly - All 8 tools (
list_projects,get_file,search_files,create_artifact, etc.) respond to JSON-RPC requests.Desktop UI still shows "未配置 MCPs" despite all of the above being functional.
Conclusion
The MCP server is fully functional - the sidecar reads the config, starts the process, passes environment variables, and the MCP server connects to the daemon. The CLI
opencode mcp listconfirmsconnected.The only remaining issue is the UI renderer not reflecting MCP state -
sync.data.mcpis either not being populated or not synced to the renderer process. This appears to be a frontend-side sync/state bug specific to the Desktop app (v1.15.17).github-actions commentedon Jun 2, 2026
This issue might be a duplicate of existing issues. Please check:
Hona commentedon Jun 4, 2026
Fixed in next version