anomalyco / anomalyco/opencode

[FEATURE]: Surface MCP tool progress in the TUI (revive #32480 with a dedicated progress event)

Open
#49,929 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
209k
Forks
27.5k
PR merge metrics
PR metrics pending

Description

Feature hasn't been suggested before.
  • I have verified this feature I'm about to request hasn't been suggested before.
Describe the enhancement you want to request

MCP servers commonly emit notifications/progress for long-running tools (30–180 s search over a large index, reindex, etc.). Since #32477 the client receives those notifications and resets the per-request timeout, but nothing is shown in the UI: the tool card keeps a bare spinner, so users can't tell "working" from "hung". Verified on 1.18.31 against a local streamable-http server — the server sees _meta.progressToken and its notifications are delivered, the TUI just ignores them.

What I'd like: render the running tool's progress in the TUI (e.g. In progress [N/M] · message on the tool card), using a dedicated event so it isn't confused with streamed partial tool output (session.next.tool.progress).

Prior art: #26328 (design + plan, closed by the stale bot) and #32480 (implementation, auto-closed during PR cleanup — the open question there was exactly the event name). Happy to rebase #32480 with a renamed event if a maintainer confirms the shape.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the implementation history in #32480 and the notification handling described in #32477. Trace how MCP notifications reach the TUI and how the tool card handles streamed partial output. Done means the TUI displays MCP tool progress distinctly from partial tool output, with the event shape resolved.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
50/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.