Skip to content

feat(mcp): add scoped chat discovery and mention capsules - #2989

Merged
kev1n77 merged 1 commit into
GCWing:mainfrom
kev1n77:fmy/compatibility
Sep 13, 2026
Merged

kev1n77 merged 1 commit into
GCWing:mainfrom
kev1n77:fmy/compatibility

Conversation

@kev1n77

@kev1n77 kev1n77 commented Sep 12, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add an MCP catalog scoped to the active chat mode and workspace.
  • Let users select MCP servers from the @ picker, with the entry hidden in Minimal mode.
  • Render MCP references as capsules in the composer, sent messages, and restored history.
  • Constrain the picker width and truncate long names to prevent horizontal overflow.

Type and Areas

Type: Feature, bug fix, UI/UX

Areas: Rust core, desktop/Tauri, CLI peer host, web UI, remote capability contracts, localization

Motivation / Impact

Users can discover and mention available MCP servers directly from chat. The picker shows server-level entries, and selected references display readable server names while retaining their underlying identifiers.

MCP capsules remain consistent after sending messages or reopening history. Long picker entries no longer stretch the popup across the viewport.

Verification

Checks completed during implementation; not rerun when preparing this PR description:

  • cargo test --locked -p openbitfun-core --no-default-features --features mcp-runtime,git --lib agentic::tools::product_runtime:: — 28 passed.
  • cargo test --locked -p openbitfun-cli --bin openbitfun peer_host::commands::tests — 2 passed.
  • cargo test --locked -p openbitfun-product-domains --no-default-features remote_surface — 19 passed.
  • cargo check --locked -p openbitfun-desktop — passed.
  • pnpm run check:web — passed.
  • pnpm run icons:check — passed.
  • pnpm run capabilities:check — passed.
  • Focused frontend regression tests covered picker behavior, capsule editing, sent messages, and legacy message restoration.
  • git diff --cached --check — passed before commit.

Limitations:

  • Desktop registry tests compiled but could not start because of the known Windows/Tauri loader error (0xc0000139).
  • The core boundary check was blocked by an existing broken HarmonyOS symlink.
  • Full application interaction and live remote scenarios were not exercised.

Reviewer Notes

Catalog policy lives in the shared core and is exposed through thin desktop and CLI adapters.

Peer access uses capability negotiation; older peers receive an explicit unsupported state. Remote workspace discovery is explicitly unsupported.

MCP references retain the existing text representation. Capsule rendering does not introduce a persisted schema change or require migration, and historical text references remain readable.

Checklist

  • This PR is focused and does not include secrets, temporary prompts, generated scratch files, or unrelated artifacts.
  • Relevant verification is recorded above, or skipped checks are explained.
  • User-facing strings, docs, and locales are updated where applicable.

@kev1n77
kev1n77 force-pushed the fmy/compatibility branch 2 times, most recently from 8481898 to c191593 Compare September 12, 2026 14:37
Expose a mode- and workspace-scoped MCP catalog through desktop and negotiated peer capabilities. Add server mentions to the chat picker, preserve capsule rendering in input and sent messages, and constrain the picker width.
@kev1n77
kev1n77 merged commit daa589c into GCWing:main Sep 13, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant