clipform_create_form
ActiveTool of io.github.Clipform/mcp-server
Create a new Clipform (interactive video-style form). Returns a viewer URL and form ID. When connected via an authenticated MCP client (e.g. claude.ai), the form lands directly in the user's workspace. Anonymous sessions get a claim URL to transfer ownership later. Node types (omit config to use defaults where shown): - choice: Single or multiple choice node with predefined options (supports options array). Config: choice ({enable_branching, show_answer_feedback, record_scores}), selection_mode ("single"|"multiple", default: "single"), allow_text_response (boolean, default: false), randomise_options (boolean, default: false), show_option_count (boolean, default: false), option_display ("list"|"letters", default: "list"). Defaults: {"selection_mode":"single","choice":{"enable_branching":false,"record_scores":false},"randomise_options":false,"show_option_count":false,"option_display":"list"} - open: Free-form text responses from users. Config: formats (array of {format, order}). Defaults: {"formats":[{"order":0,"format":"text"},{"order":1,"format":"audio"},{"order":2,"format":"video"}]} - details: Collect several fields on one screen - name, email, phone, address, date, and more. Config: title (string), fields (array of {id, type, label, order, required, is_custom}), description (string), consent_items (array of {id, name, label, order, type}), Available field IDs: first_name, last_name, email, phone. Defaults: {"fields":[{"id":"first_name","type":"first_name","label":"First Name","enabled":true,"required":true},{"id":"email","type":"email","label":"Email","enabled":true,"required":true}],"consent_items":[]} - button: Simple button for acknowledgment or navigation (supports options array). Config: button_text (string, default: "Continue"), button_style ("primary"|"secondary"|"outline", default: "primary") - redirect: Redirect users to an external URL. Config: url (string), auto_redirect (boolean, default: true). Defaults: {"url":"","auto_redirect":true} - file_download: Provide a file for respondents to download. Config: files (array of {file_name, display_name, file_path, file_size, mime_type}), button_text (string, default: "Continue"), description (string) - end_screen: Final screen shown when form is completed. Config: title (string, default: "Thank you!"), message (string, default: "Your response has been submitted."), show_score (boolean, default: false), icon ("tick"|"trophy"|"star"|"crown"|"party"|"none", default: "tick"), show_share_button (boolean, default: false), cta_type ("none"|"restart"|"external_link", default: "none"), cta_text (string, default: "Continue"), cta_url (string), score_ranges (array of {min, max, title, message}), scoring_results (array of {category, title, message, cta_url, cta_text}) All type definitions and config schemas are derived from @vid-master/config (node-types). Refer to the config descriptions above for the correct keys and shapes. AI-PROTECTED parameters have restrictions noted in their descriptions. Example: A form that asks a question, collects contact info, then finishes: { title: "Quick Survey", nodes: [ { type: "open", prompt: "What's your biggest challenge?" }, { type: "details", prompt: "Leave your details", config: { fields: [{ id: "first_name", required: true }, { id: "email", required: true }] } }, { type: "end_screen", prompt: "Thanks for your response!" } ] }
Parameters schema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"title",
"nodes"
],
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tags for indexing (e.g. ['quiz', 'trivia', 'arsenal']). Include format, genre, and topics."
},
"nodes": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"prompt"
],
"properties": {
"type": {
"enum": [
"choice",
"open",
"details",
"button",
"redirect",
"file_download",
"end_screen"
],
"type": "string"
},
"label": {
"type": "string",
"description": "Short label for the node (used in logic builder). Defaults to the prompt text."
},
"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.",
"additionalProperties": {}
},
"prompt": {
"type": "string",
"description": "The text shown to the respondent"
},
"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": "Answer options. choice: required, min 1, max 6, content max 36 chars button: required, min 1, max 1, content max 28 chars"
},
"required": {
"type": "boolean",
"default": true
}
},
"additionalProperties": false
},
"minItems": 1,
"description": "Ordered list of nodes/steps for the form"
},
"title": {
"type": "string",
"description": "Form title"
},
"font_family": {
"type": "string",
"description": "AI-PROTECTED: Only set when the user explicitly requests a specific font."
},
"primary_color": {
"type": "string",
"pattern": "^#[0-9A-Fa-f]{6}$",
"description": "Primary/brand color as 6-digit hex (e.g. '#FF5500'). Used for buttons and accents."
},
"background_color": {
"type": "string",
"pattern": "^#[0-9A-Fa-f]{6}$",
"description": "Background color as 6-digit hex (e.g. '#1A1A2E')."
},
"show_step_counter": {
"type": "boolean",
"description": "Show step counter (e.g. '1/5'). Set true for quizzes."
},
"disable_back_navigation": {
"type": "boolean",
"description": "Prevent going back. Set true for quizzes."
}
},
"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