improvement(workflow-mcp): single-source MCP tool params, deploy status, chip styling by waleedlatif1 · Pull Request #5029 · simstudioai/sim
…us, chip styling - Make the start block input format the single source of truth for MCP tool parameter descriptions; the deploy modal writes them back collaboratively so they persist with the workflow and survive redeploys (fixes descriptions getting wiped on workflow edits) - Derive the tool parameter schema from the deployed workflow instead of the draft, so a saved tool can never advertise params the running workflow lacks - Add a Live / Update deployment status badge to the MCP tab, mirroring A2A - Swap the legacy Textarea for ChipTextarea on the tool Description - Extract the duplicated isDefaultDescription helper into one shared util
Bot
reviewed
…aram descriptions updateFieldDescription read only from the subblock store, but the display memo falls back to the block's persisted inputFormat when the store entry is empty. For workflows whose fields are hydrated from block defaults, editing a description would have written [] and wiped every input field. Extract a shared resolveInputFormatFields helper used by both the memo and the writer, and guard against ever persisting an empty list.
… descriptions Map over the raw input-format array instead of the normalized one so editing a parameter description no longer drops unnamed/in-progress fields from the start block.
…le on the start block Align the copilot deploy_mcp tool with the UI's single-source model: per-parameter descriptions are now persisted onto the workflow's draft start block input format (their durable home) so a later redeploy regenerates the tool schema from them instead of wiping them. The tool schema is still set directly so descriptions take effect immediately without a redeploy; both paths converge on the next deploy. Also consolidate the duplicated socket-notify into a shared notifyWorkflowUpdated helper used by the deploy handler, the workflow mutation handlers, and edit-workflow.
Adds deploy.test.ts (the handler previously had no test) covering: descriptions written to the draft start block + socket notify, no-op when none supplied, no-op when unchanged, and ignoring descriptions for fields absent from the start block.
…y fallback Tools saved before descriptions moved to the start block store them only on the tool schema. Show those as a fallback when the start block field has none, so they stay visible; editing one writes through to the start block (migrating it durably).
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