feat(desktop): support MCP sidecars for custom harnesses - #4078
Open
fredamn76 wants to merge 1 commit into
Open
Conversation
Persist an optional MCP command with custom harness definitions and resolve it through the shared spawn descriptor, catalog summary, and restart hash. Co-authored-by: fredamn76 <8447218+fredamn76@users.noreply.github.com> Signed-off-by: fredamn76 <8447218+fredamn76@users.noreply.github.com>
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Summary
Custom ACP harnesses currently lose the companion MCP server because Desktop derives it only from the built-in runtime catalog. The ACP process can start successfully, but the agent receives no custom tool server (and, for Buzz reply tooling, no authenticated companion).
This keeps the harness definition as the source of truth instead of restoring a stale per-agent snapshot field. Existing custom harness JSON remains compatible because
mcpCommandis optional. Built-in runtimes retain their current catalog-derived MCP command, and the sidecar is started only for agents selecting the custom harness.Related issue
Closes #3385.
Related: #3115 and #3227 cover provisioning and the broader app-agent installation model; this PR is limited to Desktop's custom-harness runtime contract.
Originating Buzz conversation:
recepie-mealie-mcp(34d45264-ea10-4065-82d6-831a43a90c84)0907968b2234880045f1edd8dd8f8a22d4ed32b2e98294361094b9537e8e2ed8Testing
Passed on the code tree now published as commit
ef41e584f78ec1d47fae2344352ee28531f3fcb0:just desktop-checkjust desktop-typecheckjust desktop-buildjust desktop-test— 3908 passedjust desktop-tauri-fmt-checkpnpm -C desktop build:e2eplaywright test tests/e2e/harness-catalog-screenshots.spec.ts --project=smoke— 1 passedgit diff --check origin/main...HEADThe original tested commit was rewritten only to replace a GitHub-blocked private
author email with the account's noreply address. Its tree hash is unchanged at
e443fb05f3bb857927f614cf730d505b5eab821c.Not run locally: the full Tauri Rust test suite. This Linux machine does not have the GLib/GObject/WebKitGTK development packages required by Buzz's documented Tauri setup, and installing system packages requires administrator authentication. GitHub CI should exercise that gate.
Manual verification
UI
Before/after screenshots are posted in the PR comments using the repository's screenshot helper.