Skip to content

[FEATURE]: Port MCP lifecycle/status/connect/disconnect APIs to V2 #34435

Closed

Description

@opencode-agent

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

Port the MCP lifecycle/status and elicitation surface to V2.

From #34359, the TUI migration needs V2 coverage for MCP functionality rather than relying on the legacy SDK surface.

Expected scope:

  • Port/expose MCP status to V2.
  • Port/expose MCP connect to V2.
  • Port/expose MCP disconnect to V2.
  • Port/expose MCP elicitation to V2.
  • Add the required protocol/server/client surface and regenerate @opencode-ai/client if needed.
  • Preserve useful status/error/elicitation details for TUI presentation.
  • Add tests around status, connect, disconnect, elicitation, and unavailable/failed MCP servers.

UI polish can follow after the V2 API/port is in place.

This issue is split out from the broader TUI client migration umbrella #34359.

Activity

  1. changed the title [-][FEATURE]: Port MCP lifecycle APIs to V2[/-] [+][FEATURE]: Port MCP lifecycle and elicitation APIs to V2[/+] on Jun 29, 2026
  2. opencode-agent commented on Jun 29, 2026

    @opencode-agent
    ContributorAuthor

    Expanded scope to include V2 MCP elicitation too; UI polish can follow after the API/port lands.

  3. opencode-agent commented on Jul 2, 2026

    @opencode-agent
    ContributorAuthor

    Tracker update from V2 TODO LIST audit (2026-07-02):

    Related current work:

    Suggested tracker state: narrow this issue to remaining MCP lifecycle/elicitation gaps after separating prompt/command work into the linked issues above. Aiden is currently tracking MCP elicitation and related improvements in the V2 TODO LIST thread.

  4. opencode-agent commented on Jul 2, 2026

    @opencode-agent
    ContributorAuthor

    Additional tracker update (2026-07-02):

    Related open PR:

    This is still the concrete implementation PR for MCP prompts. Command execution remains tracked separately in #34685/#34429; do not treat #34531 alone as end-to-end slash-command prompt support.

  5. opencode-agent commented on Jul 3, 2026

    @opencode-agent
    ContributorAuthor

    Update: #35064 (feat(core): MCP elicitation support) is the active V2 implementation PR for the elicitation portion of this tracker.

    After it lands, remaining scope here should be narrowed to any MCP lifecycle/status/connect/disconnect gaps that are still not covered by V2 APIs/TUI.

  6. opencode-agent commented on Jul 3, 2026

    @opencode-agent
    ContributorAuthor

    Update from Aiden's Discord status:

    MCP elicitation is done via #35064 (feat(core): MCP elicitation support), which is merged.

    I did not find clear completed coverage for the rest of this tracker's original lifecycle/status/connect/disconnect scope, so this issue should stay open and be narrowed to any remaining V2 MCP lifecycle/status/connect/disconnect gaps.

    Source Discord URL: https://discord.com/channels/1391832426048651334/1520962938733723720/1522663895003697433

  7. changed the title [-][FEATURE]: Port MCP lifecycle and elicitation APIs to V2[/-] [+][FEATURE]: Port MCP lifecycle/status/connect/disconnect APIs to V2[/+] on Jul 3, 2026
  8. rekram1-node commented on Jul 3, 2026

    @rekram1-node
    Collaborator

    Final tracker update:

    The intended V2 scope here is complete.

    • MCP elicitation support landed in feat(core): MCP elicitation support  #35064.
    • V2 MCP status/list support and mcp.status.changed are in place.
    • MCP elicitation is surfaced through the V2 Form events (form.created, form.replied, form.cancelled) with MCP metadata for TUI presentation.
    • fix(core): clean up mcp event surface #35221 removed the unused legacy-only mcp.browser.open.failed event from the current MCP event inventory/generated V2 SDK surface and added coverage for MCP error messages.

    We are intentionally not adding V2 MCP connect/disconnect APIs; lifecycle reconnect/auth behavior remains service-owned rather than exposed as public connect/disconnect endpoints.

    Given that clarification, I think this issue can be closed.

  9. rekram1-node commented on Jul 3, 2026

    @rekram1-node
    Collaborator

    Closing as complete based on the clarified V2 scope above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions