[FEATURE]: MCP manager - per-server output panel with clickable local panel URLs #58652
Description
- I have verified this feature I'm about to request hasn't been suggested before.
Describe the enhancement you want to request
Many MCP servers ship their own local web UI and print its URL to stdout/stderr on startup
(a config panel, a DB browser, a graph UI). OpenCode logs that stream undifferentiated, so the
only way a user ever sees the URL is by scrolling the global MCP log with several servers'
lines interleaved.
Real case from our setup: codebase-memory-mcp runs through a PowerShell wrapper whose only
extra job is to print the panel URL, because nothing else surfaces it:
"codebase-memory-mcp": {
"type": "local",
"command": [
"powershell.exe", "-NoProfile", "-Command",
"[Console]::Error.WriteLine(' Codebase Memory UI:\n http://127.0.0.1:9749'); & codebase-memory-mcp --ui=true --port=9749"
]
}Request: render http://localhost / http://127.0.0.1 URLs found in a server's stdout/stderr -
or declared through an optional links field next to that server's config - as a per-server,
clickable output section in the MCP manager area (/mcps and the desktop/web MCP panel),
filtered per server instead of mixed into the global log. Keeping the last N lines of that
server's own output there would also solve the debug problem raised in #50710, where a failing
server's stderr is truncated before the chained cause.
Why is this needed?
Three cooperating agents and one human share ~30 MCP servers on this machine; four of them
expose local panels. Today those URLs are copy-pasted out of a raw log, and one config carries
a wrapper that exists purely to make its URL visible - a workaround that only works because we
control that config file.
Related issues
- [FEATURE]: MCP manager UX - per-server output links (web panel URLs), placeholder prompts with secure secret storage, a full config editor, and richer ask/mention inputs #58243 (parent feature request: MCP manager UX)
- mcp: Windows service registers zero MCP servers from global config #50710 (global-config servers invisible to the CLI / Windows service)
Additional context
- opencode v2.1.4, Windows 11, PowerShell; CLI surface and official MCP reference measured/read 2026-10-24.
- Split out of [FEATURE]: MCP manager UX - per-server output links (web panel URLs), placeholder prompts with secure secret storage, a full config editor, and richer ask/mention inputs #58243 (item 1) following the triage bot's mapping.
Activity
opencode-agent commentedon Oct 24, 2026
Thanks for splitting this out of #58243! You're asking for the MCP manager (
/mcpsin the TUI and the desktop/web MCP panel) to show each local server's own recent stdout/stderr, filtered to that server. Anyhttp://localhost/http://127.0.0.1URLs in that output, or declared in an optionallinksfield in the server config, would be clickable. That way you don't have to dig local panel URLs out of the global log or print them from a wrapper script. Maintainers will consider it.At the moment a local MCP server's stderr goes only to the debug log. A short tail is kept only to explain an unexpected exit. Plugins can't read that output or add to the MCP manager, so a plugin can't do this today.
Related issues:
arin8513 commentedon Oct 24, 2026
Clarifying the user-facing intent of this request, because that is the part that matters in practice.
The point is not only that the panel URL appears somewhere log-like - it is that a user who runs an MCP server sees that server's own panel link inside the manager surface and can click it, in the same places a user already manages servers: the TUI manager and the desktop/web MCP panel (
/mcpsincluded). Clicking it should open the panel the way any other link in the app opens - no copy-pasting out of a log stream, and no wrapper hack like the one in the config example.Concretely, per server:
This is item 1 of #58243, split out per the triage bot's suggestion; the same wording ("the user sees it and clicks it") applies to the desktop and web clients, not only a terminal log pane.