-
Notifications
You must be signed in to change notification settings - Fork 3
plat 477
github-actions[bot] edited this page Oct 4, 2026
·
1 revision
PLAT-477 — trigger_mcp_discovery cannot be called for a private MCP connection (schema declares no name)
| Coordination | Value |
|---|---|
| State | fixed on main; needs a backend restart |
| Date | 2026-10-04 |
| Owner | integrations |
| Related | PLAT-474, PLAT-475 (Upwork connection) |
After the owner's Upwork sign-in, the Upwork Builder chat could not use the connection.
Every Upwork tool call failed with "invalid tool name get_account: invalid resource
name", no discovery ever ran, and trigger_mcp_discovery failed both ways:
{} gave "name is required", {"name":"upwork"} gave "unknown field(s): name".
Two pieces that were never reconciled:
- The tool was registered on 2026-03-26 with a schema of no properties; it discovered the shared connections.
- The per-chat wrapper (2026-09-11) routes it to the user-scoped executor
(
privateMCPTool). On 2026-10-03 (Vault checkpointba931c50b) that executor gained atrigger_mcp_discoverybranch that discovers one private or permitted connection and requiresname, but the declared schema stayed empty. Argument validation rejects a property the schema does not declare, so no call could satisfy both. Nothing tested that a tool's schema and its executor agree. The agent therefore never got the connection's real tool names and guessed (hence the 400).
-
server.go: for the per-chat registration the schema declaresname(and the description says to pass it). The shared fallback is unchanged. -
TestTriggerMCPDiscoverySchemaDeclaresTheConnectionName.
- Not tried live with Upwork; after the restart the upwork chat should call
trigger_mcp_discoverywith{"name":"<connection name from list_mcp_servers>"}. - The other private-connection tools (install, edit, remove, list) declare their arguments; only this one was found out of step.
Auto-synced from docs/ on main. Edit there, not here.