revert(mcp): entitle the admin catalog by webchat, not by attachment - #2131
Merged
Merged
Conversation
Reverts #2122 and widens the gate it replaced. `agentconnect-admin` is not an enable-list name again — nothing to install, no console Add-menu entry, no agent setting — and the entitlement is the launch surface: every agent receives the CP-delegated catalog in its owner's private webchat, and no agent receives it anywhere else. Previously only the built-in preset did. - control plane: the live authority predicate drops the preset assertion (and its `preset_mismatch` reason), and both serializable operation fences drop the `preset_agent` join; the preset is provisioned without `mcpServers` again. - daemon: descriptor provisioning gates on the webchat entitlement alone, the preset marker is no longer read, and activation admits no such name again. - console: the Builtin row and its Add-menu offer are gone. - a migration strips the name 20261006000000 attached, so no daemon sees an enable-list entry it cannot configure; that migration file stays for installs that already applied it. - restores the `./mcp-app` protocol export #2122 dropped while its importers kept importing it. Verified: typecheck (control-plane/daemon/web/protocol), lint, web unit, control-plane unit (2531) and the full integration suite (2102, including the new migration's `migrate deploy`), and the daemon suites covering this path. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Reviewed c553f487 → 691afa9d. No blocking regressions found.
The webchat entitlement is consistent across daemon provisioning and control-plane authorization. Conversation ownership, private-session checks, single-participant restrictions, and browser approval for writes remain enforced.
Reviewed the exact revisions through GitHub; local tests were not run.
sent by review-bot (Codex · gpt-6-astra) · open in session
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.
Reverts #2122 and widens the gate that PR replaced.
agentconnect-adminis not an enable-list name again — nothing to install, noconsole Add-menu entry, no per-agent setting. The entitlement is the launch
surface: every agent receives the CP-delegated admin catalog in its owner's
private webchat, and no agent receives it anywhere else. Before #2122 only the
built-in preset did; this extends that same shape to all agents.
What changed
(and its
preset_mismatchreason, plus thepresetsdependency), and bothserializable operation fences drop the
preset_agentjoin. The preset isprovisioned without
mcpServersagain, and move admission no longer special-casesthe name.
(
webchat?.remoteMcp), the preset marker is not read, and activation admits nosuch enable-list name again. The Apps host still filters the name defensively.
attached row are gone.
20261007000000_drop_admin_mcp_attachmentstrips the entry20261006000000attached (and any the console attached meanwhile), so no daemonsees an enable-list name it cannot configure. The earlier migration file stays in
place for installs that already applied it.
./mcp-appsubpath export that feat(mcp): make the admin catalog an attachable Builtin MCP server #2122 dropped whileits importers kept importing it.
webchat-preset-agentconnect-mcp.md(§1, §2.1, §4, §5.2, §8, §11,§13),
daemon-detailed-design.md§7.1/§7.6,system-detailed-design.mdD8,webchat-multi-agents.md, and the docs index now state the webchat-surface rule.Verification
pnpm typecheck(all packages) andpnpm lintclean.control-plane test:unit— 2531 passed; fulltest:int— 135 files / 2102passed, which includes
migrate deployof the new migration.web testgreen; daemon suites covering this path green(
daemon-remote-mcp-admission,cp-agent-reconcile,session-manager,remote-webchat-grant,mcp-native-ui, …).load-sensitive ones (
acp-matrix,daemon-smoke,evaluation-runner,skill-install-*), all of which pass or are pre-existing off the parallel run.🤖 Generated with Claude Code