Repository navigation
fix(mothership): keep integration discovery working when a tagged mcp server fails or lists no tools - #9260
Open
waleedlatif1 wants to merge 1 commit into
Open
fix(mothership): keep integration discovery working when a tagged mcp server fails or lists no tools#9260waleedlatif1 wants to merge 1 commit into
waleedlatif1 wants to merge 1 commit into
Conversation
… server fails or lists no tools
buildTaggedMcpToolSchemas discovered tagged servers with Promise.all and threw
when a server listed no tools, and the integration catalog includes MCP on every
unfiltered request. One deleted, disabled, unreachable, truncated or tool-less
/-tagged server therefore failed every unfiltered integrations list, grep and
search_integration_tools call for the rest of the chat.
Discovery now settles per server and returns { tools, failures }. The catalog
drops failed servers from unfiltered and query results, logging each server id
and reason, and still throws that server's own error when the request targets it
(service mcp:<id>, or a tool id on it that no healthy server provides). The MCP
permission-group check still runs once up front and still throws.
Also removes the unread defer_loading/executeLocally/params fields on MCP
catalog operations, the test-only buildSelectedMcpToolSchemas and
buildOrganizationTaggedMcpToolSchemas with their tests and stale mocks, and
corrects the post.ts comment that said tagged MCP tools ride the tool array.
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Contributor
There was a problem hiding this comment.
All reported issues were addressed across 8 files
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
Contributor
[Medium impact] The PR appears safe to merge; no actionable issues were found. SummaryTagged MCP servers now fail independently, so one broken or empty server no longer removes healthy servers and native operations from broad discovery.
The PR description from
|
6 tasks done
This branch was previously deployed
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
/-tagged MCP server no longer breaks integration discovery for the whole chat. Tagged servers are discovered withPromise.alland a server with no tools throws, and the catalog includes MCP on every unfiltered request. So a deleted, disabled, down or reconnect-needed server, or one with no tools, failed everyintegrations list --queryand search call for every integration, for the rest of the chat (tagging is sticky).mcp:<id>service, or one of its toolIds) still fails with that server's own error. Authorization is unchanged.defer_loading/executeLocally/paramsfields nothing reads, and two builders only tests referenced.Type of Change
Testing
catalog.test.tsnow exercises the realmcp-toolsmodule. With deleted, failing, zero-tool and healthy tagged servers, unfiltered and query requests return native operations plus the healthy server's (these failed before withMCP server not found). Targeting each bad server still fails with its own error.mcp-tools.test.ts: a failing or tool-less server is reported without discarding the others.Checklist