clipform_update_node
ActiveTool of io.github.Clipform/mcp-server
Update one or more existing nodes' text, type, config, or options. Pass multiple updates in one call instead of separate tool calls. Requires node IDs (returned by clipform_create_form, clipform_add_node, or clipform_get_form). Does not change node positions in the flow. All type definitions and config schemas are derived from @vid-master/config (node-types).
Parameters schema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"form_id",
"updates"
],
"properties": {
"form_id": {
"type": "string",
"format": "uuid",
"description": "The form UUID (returned by clipform_create_form, not the short share_id from the URL)"
},
"updates": {
"type": "array",
"items": {
"type": "object",
"required": [
"node_id"
],
"properties": {
"type": {
"enum": [
"choice",
"open",
"details",
"button",
"redirect",
"file_download",
"end_screen"
],
"type": "string",
"description": "Change the node type"
},
"label": {
"type": "string",
"description": "Short label for the node (used in logic builder)"
},
"config": {
"type": "object",
"description": "Type-specific configuration keyed by node type. Omit to use defaults. Per-type keys, shapes, and defaults are listed in the clipform_create_form description; craft guidance via clipform_get_guide. Merged shallowly into the stored config - only the keys you pass are changed. Set a key to null to delete it; nested objects are replaced wholesale. When type is changed in the same call, config replaces the stored configuration instead of merging.",
"additionalProperties": {}
},
"prompt": {
"type": "string",
"description": "New node prompt text"
},
"node_id": {
"type": "string",
"description": "The node ID to update"
},
"options": {
"type": "array",
"items": {
"type": "object",
"required": [
"content"
],
"properties": {
"score": {
"type": "number",
"description": "Score value for this option (for scored quizzes). Use 1 for correct, 0 for wrong. Scored options automatically enable correct-answer marking (record_scores) on the node."
},
"scores": {
"type": "object",
"description": "Planned feature - category-based scores keyed by category name. Not yet editable in the dashboard.",
"additionalProperties": {
"type": "number"
}
},
"content": {
"type": "string",
"description": "Option text"
}
},
"additionalProperties": false
},
"description": "Replace all options (for choice nodes). Omit to keep existing options."
},
"required": {
"type": "boolean",
"description": "Whether an answer is required"
}
},
"additionalProperties": false
},
"maxItems": 20,
"minItems": 1,
"description": "One or more node updates to apply"
}
},
"additionalProperties": false
}No endpoints wrapped at confidence ≥ 0.70.
Parent server
io.github.Clipform/mcp-server
https://github.com/clipform/mcp-server
1/7 registries