Repository navigation
fix(app,tui): hide MCP integrations from the connect menu - #60675
Merged
Merged
Conversation
There was a problem hiding this comment.
Looks good. On the base, the TUI /connect menu lists a configured remote MCP server under an "MCP" group; with this PR it doesn't. Signing in from the MCP dialog is unaffected: it opens DialogIntegration with integrationID and no onConnected, so dropping the MCP check in connected() changes nothing there. In the app, no other caller pre-selects an MCP integration, so removing the MCP branch from ProviderConnection is safe. The TUI dialog tests pass, the new menu test fails on the base, and tsc -b passes for packages/tui and packages/app. I didn't run the app's e2e tests.
The public API is unchanged (client UI only).
sharunkumar
added a commit
to sharunkumar/opencode
that referenced
this pull request
Oct 30, 2026
Brings in 113 upstream commits (upstream tip bf5d12c "fix(app,tui): hide MCP integrations from the connect menu (anomalyco#60675)"). Note on history: a `git pull --rebase` (gpa) flattened the previous, unpushed upstream merge, so 6 upstream commits now also exist on dev as rebased copies (84ac67f..cfdd05e). Merging upstream again made git apply those changes twice. That caused the mock-server.ts and pty.ts conflicts and a silent double-merge in mock-api.ts. All three files are taken as upstream has them; the fork never changed them. Conflict resolutions ==================== - .github/workflows/release.yml: kept the fork's release workflow. - packages/app/e2e/utils/mock-server.ts, packages/client/src/solid/pty.ts: upstream's version (rebase duplicates, no fork changes). - packages/app/e2e/utils/mock-api.ts: merged without conflict markers but declared PersistentPtyUnavailable, PersistentPtyMissing and PersistentPtyUpdate twice (oxlint errors). Took upstream's version. - packages/core/src/plugin/internal.ts: kept the fork's CancelTool and added upstream's new ArtifactTools. - packages/core/src/database/migration.gen.ts: the fork's session_roots stays m50; upstream's new 20261030054400_job migration is m59. - packages/core/schema.json: new snapshot id with prevIds [fork 8aa4d526..., upstream 4f6e16c6...]. DDL has both the fork's `roots` column and upstream's `job` table. `bun script/migration.ts --check` reports no pending changes. - packages/tui/src/component/prompt/index.tsx: kept the fork's provider/keyword color imports and took upstream's useCursorStyle. - packages/tui/src/component/session-tabs.tsx: upstream's only change was "span vertical session tab pulse across full tab width" (anomalyco#60338), plus formatting. Kept the fork's vertical tab layout (project groups, child rows, wrapped titles, compact layout) and applied upstream's change: removed `indicatorWidth` and every `width={indicatorWidth}` on TabPulse. - packages/protocol/openapi.json and the generated client: regenerated (both move and root endpoints present). Follow-up fix - packages/core/test/tool-cancel.test.ts (fork test): upstream moved background jobs from KV to a SQLite job table (anomalyco#60491), so Job now needs Database, and Tool now depends on Permission. The test layer now uses Database.node + Global.node instead of KV.node and replaces Permission with permissionLayer(), matching upstream's job and tool registry tests. Verification - bun install - bun turbo typecheck: 35/35 packages - oxlint: 0 errors - bun script/migration.ts --check: no schema changes - make tests: tui 187, core 456, schema 7, sdk 3 pass, 0 fail
1 task
1 task
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.


Issue for this PR
Closes #
Type of change
What does this PR do?
The connect menu in both clients listed every integration from
/api/integration, which includes MCP servers (metadata.source === "mcp") and showed them in their own "MCP" group. MCP servers already have their own place to connect and manage them, so the connect menu now leaves them out.ProviderPickerinproviders/connect/dialog.tsxdrops MCP integrations. I also removed the MCP group, the MCP server sync and the MCP "needs sign-in" check that only the picker used, the MCP branch inProviderConnection, and the unuseddialog.provider.group.mcpstring. The MCPs dialog and Settings › Extensions sign in throughuseMcpToggleand don't change.DialogIntegrationdrops MCP integrations when it's opened as the menu (/connect, the model dialog, the prompt). It still shows them when the MCP dialog opens it with anintegrationIDto sign a server in. I also removed the MCP sort priority, the "MCP" category and the MCP branch inconnected().How did you verify your code works?
bun run checktest/cli/tui/dialog-integration.test.tsxcheck that the menu leaves out an MCP integration and thatintegrationIDstill shows it. I confirmed the first test fails without the filter.e2e/regression/settings.spec.ts. The connect-dialog test now includes an MCP integration and checks it isn't listed; I confirmed this fails without the filter. The Extensions MCP test now tags its integration as MCP, and its sign-in still works.Visual
Screenshots / recordings
Verified locally: the app connect dialog shows only Connected › OpenAI and Popular › Anthropic, with no MCP group, and the TUI
/connectmenu doesn't list the MCP integration.Checklist