Skip to content

feat(setup): manage MCP servers across agents - #48

Merged
dizys merged 17 commits into
dizys:mainfrom
0libote:feat/shared-mcp-servers
Oct 23, 2026
Merged

dizys merged 17 commits into
dizys:mainfrom
0libote:feat/shared-mcp-servers

Conversation

@0libote

@0libote 0libote commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Adds Setup → MCP servers as a dedicated page under Agents. Shared definitions and servers found only in native settings are shown together, with clear per-agent On, Off, Differs and Own entry states. These describe saved configuration; Setup never starts a command or connects to a server.

The page, inspector and Add/Edit/Share/Remove flows follow the supplied MCP handoff and use the existing Skills matrix, Kit layers, controls and design tokens. Phones get a grouped library, fixed Add action, native policy selects and collapsible review rails. The pinned Server header uses the same Installed agents / All agents radio menu as Skills, with equal-width agent columns and no trailing expansion control. Uninstalled agents’ saved entries are read-only. Polling preserves open menus, focus and drafts. Shared phone agent filters reserve room for complete focus rings and reveal focused chips at either scroll edge, including in Skills.

Native settings changes are reviewed, revision checked, serialized with Skills writes, backed up and published atomically. Differing copies require review/consent, editing preserves per-agent Off, and partial removal keeps the shared definition until every unlink succeeds. The bounded snippet parser accepts the supplied formats without executing input. List responses stay redacted; credential reveal is explicit. No new runtime dependencies.

The MCP guide documents native formats, sign-in, scope and recovery.

Validation

  • 747 Node tests pass, including all 18 supplied parser cases, authenticated API checks, revision conflicts, adoption, format preservation and redaction.
  • MCP browser audit passes in 8 configurations: desktop, phone, embedded desktop and embedded phone, in both themes. Covers stale/late replies, draft preservation, lossless arguments, duplicate submission, replacement consent, partial removal, unreadable stores and Off-preserving Undo. All eight cases also pass through the real Setup server’s unlock/session flow, with the embedding mode checked after sign-in. Column regressions cover keyboard focus, both scroll edges, zero/all installed agents and uninstalled agents with saved settings. Phone filter regressions Tab and Shift+Tab through every chip in normal and forced-color modes, checking the entire focus outline and touch targets.
  • MCP geometry audit: 7 configurations, no findings. Skills browser regression passes in 12 configurations, including phone/tablet and embedded layouts. Same-viewport light/dark comparisons cover the supplied screens and focused chips at both ends of the row.
  • Real native smoke passes for Claude 2.1.309, Codex 0.163.0 and OpenCode 2.1.3 with disposable homes and synthetic local/HTTP servers; includes credential delivery, unlink and fresh Off/On reads. Cursor and Grok binaries are unavailable locally; bundled-provider and architecture coverage runs in image CI. No production configuration was used.
  • JavaScript/shell syntax, shellcheck, harness UI audit and mise generation checks pass. Docker image builds/smoke run in CI.

Library previews

Desktop · light Desktop · dark
MCP library in light appearance MCP library in dark appearance
Phone · light Phone · dark
Phone MCP library in light appearance Phone MCP library in dark appearance
Column visibility

All agents at the right scroll edge keeps the server names and selector in view.

All MCP agent columns at the right edge

Installed agents and All agents radio menu in dark appearance

Phone keyboard focus

Complete focus rings at both scroll edges. The filter row keeps its alignment
with the search and notices, and focused chips scroll fully into view.

First chip · light Last chip · dark
Complete All-chip focus ring Complete last-chip focus ring

Third tab next to Instructions and Skills: one canonical list at
$T3CODE_HOME/setup/mcp/servers.json, linked per provider into each
provider's own config file. Local and remote servers, secrets stay out
of status polling, revision-checked saves like the other two.

Supported: claude, codex, opencode, cursor, antigravity. Grok and Muse
layouts are unverified and reported as unsupported.
@0libote 0libote changed the title feat(context): shared MCP servers feat(context): manage shared MCP servers alongside Skills Oct 20, 2026
@0libote
0libote marked this pull request as ready for review October 20, 2026 09:05
@dizys dizys changed the title feat(context): manage shared MCP servers alongside Skills feat(setup): manage MCP servers across agents Oct 23, 2026
@dizys
dizys merged commit 403f1b6 into dizys:main Oct 23, 2026
7 checks passed
@0libote
0libote deleted the feat/shared-mcp-servers branch October 23, 2026 10:06
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.

2 participants