Skip to content

[Feature Request]: Desktop app needs a GUI for managing plugins, MCP servers, and LSP servers — hand-editing opencode.jsonc is too hard for desktop users #41037

Description

Summary

The OpenCode Desktop app is great, but installing/configuring plugins, MCP servers, and LSP servers currently requires hand-editing opencode.jsonc (e.g. %USERPROFILE%\.config\opencode\opencode.jsonc). For desktop users this is a major pain point:

  • Plugins: you must know the exact package spec (e.g. superpowers@git+https://github.com/obra/superpowers.git vs the plain npm name oh-my-openagent, where a wrong guess pulls an unrelated placeholder package from npm, e.g. the superpowers@0.0.2 squat). One wrong string = silent load failure.
  • MCP servers: local servers need exact command arrays (binary path, args, env vars, timeouts) and remote ones need URL + OAuth + header handling. There is no discoverable, validated UI — a typo in the JSONC silently breaks it.
  • LSP servers: need the exact binary path + --stdio args + file-extension mapping, hand-written per language.
  • There is no error surfacing either — a bad plugin/MCP/LSP entry causes silent failures with no dialog in the Desktop UI (users only find out via log files).

Proposal

Add a management UI in the Desktop app, ideally under a "Settings" or "Extensions" section:

  1. Plugins tab — list installed plugins, add via a documented format, toggle enable/disable, show load status with visible errors (not silent).
  2. MCP tab — form-based add/edit: type (local/remote), command parts, env vars, enabled toggle; list configured servers with a "Test connection" button.
  3. LSP tab — form for language, command, extensions; default presets for common languages.

It would also help to surface plugin load failures in the UI instead of only log files.

Environment

  • OpenCode Desktop v1.18.15, Windows 11
  • Real-world pain point: today I installed Superpowers — the plugin entry cannot simply be "plugin": ["superpowers"] (npm superpowers@0.0.2 is an unrelated placeholder), so the user must understand superpowers@git+https://github.com/obra/superpowers.git. A GUI with a validated add-flow would eliminate this entire class of mistakes.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions