accueil / serveurs / Médias / io.github.Clipform/mcp-server
io.github.Clipform/mcp-server
serveur MCP (Model Context Protocol) · io.github.Clipform/mcp-server 4.2.6
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.Clipform/mcp-server est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.Clipform/mcp-server » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 33 outils
- clipform_add_node≈ 833 tokens
Add a new node to an existing form. Inserted before the end screen by default; after_node_id controls insertion position. Inserting into a linear flow automatically re-links the chain (the node before the insertion point points to the new node, which points to what followed) - you do not need clipform_set_logic for a simple insert. Branching still needs an explicit logic write. Node types and config schemas match clipform_create_form.
Paramètres, retour & exemple (4)
Paramètresnode· object · requis
The node to addcontext· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.form_id· string · requis
The form UUID (returned by clipform_create_form, not the short share_id from the URL)after_node_id· string · optionnel
Insert after this node ID. Omit to append before the end screen.
Exemple d'appel{"name": "clipform_add_node", "arguments": {"node": {}, "context": "texte", "form_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"type": "texte", "node_id": "texte"}} - clipform_attach_node_media≈ 630 tokens
Attach an existing workspace media asset (from clipform_upload_media_asset) to one or more nodes (max 10). Pass one item or many; multiple items attach sequentially. Only works on node types that support media (choice, open, scale, draw, binary, button). A media asset is reusable - attach the same media_asset_id to several nodes.
Paramètres, retour & exemple (3)
Paramètresitems· array · requis
One or more attachments to makecontext· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.form_id· string · requis
The form UUID (returned by clipform_create_form, not the short share_id from the URL)
Exemple d'appel{"name": "clipform_attach_node_media", "arguments": {"items": [], "context": "texte", "form_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"results": []}} - clipform_check_render≈ 713 tokens
Check the status of render jobs started by clipform_render_video_template or clipform_render_composition. Pass job_ids to check a whole batch in ONE call - one line of status per job. Pass job_id for a single job. Returns the output URL for each completed render. Typical render time: 10-60 seconds. Attach is automatic when node_id was provided to the render tool - no need to poll to completion, and the attach outcome is reported here once known.
Paramètres, retour & exemple (3)
Paramètresjob_id· string · optionnel
A single job ID returned by the render toolcontext· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.job_ids· array · optionnel
Multiple job IDs - check the whole batch in one call instead of one call per job
Exemple d'appel{"name": "clipform_check_render", "arguments": {"context": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"jobs": []}} - clipform_complete_media_upload≈ 538 tokens
Confirm a signed-PUT still image upload finished, after PUTting the bytes to the upload_url returned by clipform_upload_media_asset. The API verifies the object actually landed in storage before flipping the asset from processing to ready - call this right after the PUT succeeds, or the asset stays invisible in the library. Not needed for video uploads (they settle automatically).
Paramètres, retour & exemple (3)
Paramètrescontext· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.form_id· string · optionnel
The form this is for (from clipform_create_form) - a routing hint only, to pick the right workspace. The result still lands in the workspace library, not on a node. Required on an anonymous session, or this lands in a different workspace and clipform_attach_node_media will not find it.media_asset_id· string · requis
The media_asset_id returned by clipform_upload_media_asset for the still image
Exemple d'appel{"name": "clipform_complete_media_upload", "arguments": {"context": "texte", "media_asset_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"status": "texte", "media_asset_id": "texte"}} - clipform_create_form≈ 2361 tokens
Create a new Clipform (interactive video-style form). Returns a viewer URL and form ID (an anonymous build's link is a private preview where answers are not saved). When connected via an authenticated MCP client (e.g. claude.ai), the form lands directly in the user's workspace. Anonymous sessions build into a temporary account of their own: forms stay drafts with a private preview link. Some results also include a one-time claim URL that signs the user into that account; relay it when present. If the user hasn't said what to build yet, offer to build their first form and suggest starting points: lead-gen, feedback, quiz, or something else. 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},"randomise_options":false,"show_option_count":false,"option_display":"list"} - open: Free-form text responses from users. Config: formats (array of {format, order}), max_recording_seconds (number, default: 120). 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, document, require_scroll_to_accept}), 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":[]} - payment: Collect a payment from respondents inline, charged to a connected Stripe account. Config: amount (number), currency ("usd"|"eur"|"gbp"|"cad"|"aud", default: "usd"), provider ("stripe"|"paddle", default: "stripe"), workspace_integration_id (string), title (string), description (string). Defaults: {"amount":null,"currency":"usd","provider":"stripe"} - 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."), 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). Defaults: {"title":"Thank you!","message":"Your response has been submitted."} 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!" } ] }
Paramètres, retour & exemple (10)
Paramètrestags· array · optionnel
Tags for indexing (e.g. ['quiz', 'trivia', 'arsenal']). Include format, genre, and topics.nodes· array · requis
Ordered list of nodes/steps for the formtitle· string · requis
Form titlecontext· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.font_family· string · optionnel
AI-PROTECTED: Only set when the user explicitly requests a specific font.workspace_id· string · optionnel
Workspace to act in (id from clipform_whoami workspaces). Omit to use the connection's default workspace.primary_color· string · optionnel
Primary/brand color as 6-digit hex (e.g. '#FF5500'). Used for buttons and accents.background_color· string · optionnel
Background color as 6-digit hex (e.g. '#1A1A2E').show_step_counter· boolean · optionnel
Show step counter (e.g. '1/5'). Set true for quizzes.disable_back_navigation· boolean · optionnel
Prevent going back. Set true for quizzes.
Exemple d'appel{"name": "clipform_create_form", "arguments": {"nodes": [], "title": "texte", "context": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"plan": {}, "nodes": [], "form_id": "texte", "claim_url": "texte", "is_preview": true, "viewer_url": "texte", "preview_url": "texte", "dashboard_url": "texte", "workspace_name": "texte"}} - clipform_delete_form≈ 325 tokens
Move a form and all its nodes to the trash. It stops accepting responses immediately and can be restored later. Requires user confirmation before it runs. Needs a signed-in Clipform account (an anonymous session is asked to sign in).
Paramètres, retour & exemple (3)
Paramètresconfirm· boolean · optionnel
Set to true ONLY after the user has explicitly confirmed this destructive action. Leave unset otherwise - hosts that support confirmation dialogs will prompt the user automatically.context· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.form_id· string · requis
The form UUID to delete (returned by clipform_create_form, not the short share_id from the URL)
Exemple d'appel{"name": "clipform_delete_form", "arguments": {"context": "texte", "form_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - clipform_delete_node≈ 356 tokens
Delete a node from a form. The logic chain is automatically re-linked (the previous node will point to the next one). Cannot delete the start node or the last end screen. On a live form the node stays on the live form until the form is published. Requires user confirmation before it runs.
Paramètres, retour & exemple (4)
Paramètresconfirm· boolean · optionnel
Set to true ONLY after the user has explicitly confirmed this destructive action. Leave unset otherwise - hosts that support confirmation dialogs will prompt the user automatically.context· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.form_id· string · requis
The form UUID (returned by clipform_create_form, not the short share_id from the URL)node_id· string · requis
The node ID to delete
Exemple d'appel{"name": "clipform_delete_node", "arguments": {"context": "texte", "form_id": "texte", "node_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - clipform_delete_node_media≈ 337 tokens
Remove media from a node by unlinking it; the media asset and its files stay in the workspace library and keep working on any other node or live form that uses them. Requires user confirmation before it runs.
Paramètres, retour & exemple (4)
Paramètresconfirm· boolean · optionnel
Set to true ONLY after the user has explicitly confirmed this destructive action. Leave unset otherwise - hosts that support confirmation dialogs will prompt the user automatically.context· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.form_id· string · requis
The form UUID (returned by clipform_create_form, not the short share_id from the URL)node_id· string · requis
The node ID
Exemple d'appel{"name": "clipform_delete_node_media", "arguments": {"context": "texte", "form_id": "texte", "node_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - clipform_fetch_boundary≈ 488 tokens
Fetch a GeoJSON boundary polygon for a country, city, or region. Returns simplified GeoJSON ready to use as the 'boundary' prop in the Map composition. mainlandOnly excludes small islands and overseas territories (e.g. Corsica for France, Hawaii for USA).
Paramètres, retour & exemple (5)
Paramètrestype· string · optionnel · country | city | state | region
Type of place to search forquery· string · requis
Place name (e.g. 'France', 'Paris', 'Tokyo', 'Brazil')context· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.maxPoints· number · optionnel
Maximum points per polygon ring for simplification (default 500, lower = smaller payload)mainlandOnly· boolean · optionnel
Keep only the largest landmass, excluding small islands and overseas territories
Exemple d'appel{"name": "clipform_fetch_boundary", "arguments": {"query": "texte", "context": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"name": "texte", "geojson": "texte", "size_kb": 1, "geometry_type": "Polygon", "mainland_only": true}} - clipform_generate_tts≈ 1301 tokens
Generate narration audio from text with word-level captions. Use this for quiz question narration, survey introductions, form instructions, or any node that benefits from a human voice. Proactively suggest narration for quizzes and content-rich forms - it significantly improves engagement. Available voices: ryan (British male, clear), sonia (British female, warm), andrew (American male, smooth), ava (American female, vibrant), guy (American male, deep). Pick ONE voice that fits the topic - e.g. a London quiz gets ryan or sonia, a US sports quiz gets andrew or guy - and reuse that SAME voice for every item and every call across the whole form. Never mix voices within one form unless the user explicitly asks for multiple voices. Use the tone parameter to direct HOW the voice speaks. Always set a tone that matches the form's mood - e.g. quizzes: "Energetic and playful, like a quiz show host teasing the audience", surveys: "Professional but warm, encouraging honest answers", personality quizzes: "Curious and reflective". This dramatically improves the narration quality. Pass one item or many (max 10) - multiple items run in parallel. Returns audio_url and caption_ref per item - pass caption_ref downstream to clipform_render_composition / clipform_render_video_template / clipform_upload_media_asset to attach this run's word-level captions instead of hand-copying the captions array.
Paramètres, retour & exemple (4)
Paramètresitems· array · requis
One or more TTS items to generatecontext· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.form_id· string · optionnel
The form this is for (from clipform_create_form) - a routing hint only, to pick the right workspace. The result still lands in the workspace library, not on a node. Required on an anonymous session, or this lands in a different workspace and clipform_attach_node_media will not find it.workspace_id· string · optionnel
Workspace to act in (id from clipform_whoami workspaces). Omit to use the connection's default workspace.
Exemple d'appel{"name": "clipform_generate_tts", "arguments": {"items": [], "context": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"results": []}} - clipform_get_form≈ 991 tokens
Retrieve a form's details including all nodes in sequential order and their routing. Returns title, settings, and every node with its options, config, media status, and next node (from clipform_set_logic).
Paramètres, retour & exemple (2)
Paramètrescontext· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.form_id· string · requis
The form UUID (returned by clipform_create_form, not the short share_id from the URL)
Exemple d'appel{"name": "clipform_get_form", "arguments": {"context": "texte", "form_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"urls": {}, "nodes": [], "title": "texte", "form_id": "texte", "is_live": true, "has_unpublished_changes": true}} - clipform_get_guide≈ 504 tokens
Retrieve craft knowledge for building a specific form type. Returns question psychology, difficulty curves, narration style, scoring setup, and writing principles as markdown. Does NOT return a step-by-step build workflow - use clipform_get_workflow for that. Available types: quiz, survey, interview, funnel, testimonial, application, booking, intake, lead-capture. Aliases also accepted: trivia → quiz, test → quiz, exam → quiz, feedback → survey, poll → survey, nps → survey, questionnaire → survey, case-study → interview, callout → interview, lead-gen → funnel, qualification → funnel, lead-magnet → funnel, story → testimonial, review → testimonial, job-application → application, admission → application, enrollment → application, grant → application, registration → booking, signup → booking, event → booking, rsvp → booking, workshop → booking, client-intake → intake, onboarding → intake, enquiry → intake, inquiry → intake, new-client → intake, lead → lead-capture, lead-form → lead-capture, enquiry-form → lead-capture, waitlist → lead-capture, get-a-quote → lead-capture. Quiz variants (optional): personality, comprehension, composition - appends variant-specific addendum to the base quiz guide.
Paramètres, retour & exemple (3)
Paramètrestype· string · requis
Form type to get the craft guide for (accepts aliases like 'feedback' → survey)context· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.variant· string · optionnel · personality | comprehension | composition
Quiz sub-variant. Only used when type is 'quiz'. Omit for a standard scored quiz.
Exemple d'appel{"name": "clipform_get_guide", "arguments": {"type": "texte", "context": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - clipform_get_node_media≈ 390 tokens
Get the media attached to a node, including processing status. Useful for checking if a video upload has finished processing.
Paramètres, retour & exemple (3)
Paramètrescontext· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.form_id· string · requis
The form UUID (returned by clipform_create_form, not the short share_id from the URL)node_id· string · requis
The node ID
Exemple d'appel{"name": "clipform_get_node_media", "arguments": {"context": "texte", "form_id": "texte", "node_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"media": "texte"}} - clipform_get_responses≈ 925 tokens
List a Clipform form's individual responses (submissions) with time filtering - complements clipform_get_results (aggregates). Answers questions like 'what came in during the last 24 hours', 'what's the longest answer', 'what did people say'. Text answers plus a non-PII payment summary (amount and status); contact details, file uploads, and audio/video answers are redacted to placeholders and the customer's payment details stay in the dashboard (the responses URL from clipform_get_form). Responses are sorted newest first unless sort: 'oldest'. Needs a signed-in Clipform account (an anonymous session is asked to sign in).
Paramètres, retour & exemple (7)
Paramètressort· string · optionnel · newest | oldest
Order by submission time. Default: newestlimit· integer · optionnel
Max responses to return (default 20, max 50)query· string · optionnel
Only responses whose text answers contain this string (case-insensitive)since· string · optionnel
Only responses submitted at or after this ISO 8601 time (e.g. '2026-08-29T00:00:00Z')until· string · optionnel
Only responses submitted at or before this ISO 8601 timecontext· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.form_id· string · requis
Form UUID (from clipform_list_forms / clipform_create_form)
Exemple d'appel{"name": "clipform_get_responses", "arguments": {"context": "texte", "form_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"returned": 1, "responses": [], "total_matching": 1, "locked_over_plan_limit": 1}} - clipform_get_results≈ 618 tokens
View response counts, choice/action answer breakdowns, and recent open-text answers for a form. Contact, file, draw, camera, and payment answers are counts only - use the dashboard for per-response detail. Needs a signed-in Clipform account (an anonymous session is asked to sign in).
Paramètres, retour & exemple (2)
Paramètrescontext· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.form_id· string · requis
The form UUID (returned by clipform_create_form, not the short share_id from the URL)
Exemple d'appel{"name": "clipform_get_results", "arguments": {"context": "texte", "form_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"nodes": [], "results_url": "texte", "total_responses": 1}} - clipform_get_workflow≈ 992 tokens
Retrieve a step-by-step build workflow for creating a specific form type. Returns the exact tool sequence, form settings, node configuration, scoring setup, and end screen config as a build recipe. Does NOT return craft knowledge (question psychology, difficulty curves, narration style) - use clipform_get_guide for that. Available types: quiz, survey, interview, testimonial, application, booking, intake, lead-capture. Aliases also accepted: trivia → quiz, test → quiz, exam → quiz, feedback → survey, poll → survey, nps → survey, questionnaire → survey, case-study → interview, callout → interview, lead-gen → funnel, qualification → funnel, lead-magnet → funnel, story → testimonial, review → testimonial, job-application → application, admission → application, enrollment → application, grant → application, registration → booking, signup → booking, event → booking, rsvp → booking, workshop → booking, client-intake → intake, onboarding → intake, enquiry → intake, inquiry → intake, new-client → intake, lead → lead-capture, lead-form → lead-capture, enquiry-form → lead-capture, waitlist → lead-capture, get-a-quote → lead-capture. Quiz variants (optional): personality, comprehension, composition - returns the variant-specific workflow instead of the base quiz workflow. Optional args by type: - quiz: topic, question_count (8) - quiz (variant: personality): topic, categories, question_count (8) - quiz (variant: comprehension): question_count (8), audience - interview: purpose, response_format (all), needs_consent (true) - survey: topic, anonymous (true) - funnel: outcomes, criteria, needs_contact (true) - testimonial: use_case - application: role - booking: event_name, event_type - intake: use_case, response_format (all) - lead-capture: use_case
Paramètres, retour & exemple (18)
Paramètresrole· string · optionnel
What the application is for (application)type· string · requis
Form type to get the build workflow for (accepts aliases like 'feedback' → survey)topic· string · optionnel
Topic or theme (quiz, survey)context· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.purpose· string · optionnel
What you're collecting (interview)variant· string · optionnel · personality | comprehension | composition
Quiz sub-variant. Only used when type is 'quiz'. Omit for a standard scored quiz.audience· string · optionnel
Target audience (quiz variant: comprehension)criteria· string · optionnel
Routing criteria (funnel)outcomes· string · optionnel
Segments or recommendations (funnel)use_case· string · optionnel
What stories to collect (testimonial)anonymous· boolean · optionnel
Anonymous survey (survey)categories· string · optionnel
Comma-separated outcome categories (quiz variant: personality)event_name· string · optionnel
Event or offering name (booking)event_type· string · optionnel
Type of event (booking)needs_consent· boolean · optionnel
Include consent statement (interview)needs_contact· boolean · optionnel
Include contact capture (funnel)question_count· number · optionnel
Number of questions, default 8 (quiz types)response_format· string · optionnel · video | audio | text | all
How respondents reply (interview)
Exemple d'appel{"name": "clipform_get_workflow", "arguments": {"type": "texte", "context": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - clipform_import_form≈ 829 tokens
Convert a public Google Form, Typeform, or Tally form into a new Clipform. Supported URLs: Google Forms (docs.google.com or forms.gle - must be shared as "Anyone with the link"), Typeform (form.typeform.com/to/...), and Tally (tally.so - must be public). The source form must be publicly accessible; a private form's questions cannot be read. The new Clipform is created as a DRAFT - review it, then republish with clipform_update_form (is_live: true) once it's ready. Some question types don't map cleanly to a Clipform node and are skipped rather than guessed at; the result always reports exactly what was imported vs skipped, and why.
Paramètres, retour & exemple (3)
Paramètresurl· string · requis
Public URL of the Google Form, Typeform, or Tally form to importcontext· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.workspace_id· string · optionnel
Workspace to act in (id from clipform_whoami workspaces). Omit to use the connection's default workspace.
Exemple d'appel{"name": "clipform_import_form", "arguments": {"url": "texte", "context": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"form_id": "texte", "viewer_url": "texte", "import_summary": {}, "workspace_name": "texte"}} - clipform_list_assets≈ 404 tokens
List available creative assets (sound effects, animations, fonts) for video compositions.
Paramètres, retour & exemple (2)
Paramètrestype· string · optionnel · sfx | animation | font | all
Asset type to list (default: all)context· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.
Exemple d'appel{"name": "clipform_list_assets", "arguments": {"context": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"sfx": [], "fonts": [], "animations": []}} - clipform_list_compositions≈ 406 tokens
Browse available video compositions and their expected props schemas. Call this before using clipform_render_composition to discover visual styles and their input props. For an image or photo montage, reach for a video template (clipform_list_video_templates + clipform_render_video_template) instead of a composition.
Paramètres, retour & exemple (1)
Paramètrescontext· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.
Exemple d'appel{"name": "clipform_list_compositions", "arguments": {"context": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"compositions": []}} - clipform_list_forms≈ 828 tokens
List forms in your workspace with optional filtering. Returns paginated results (cursor-based). next_cursor is included when more results exist. To find or open a form by name, pass search with part of its title instead of paging through results. Needs a signed-in Clipform account (an anonymous session is asked to sign in).
Paramètres, retour & exemple (9)
Paramètrestag· string · optionnel
Filter by tag name(s), comma-separated. AND logic: only forms with ALL tags are returned.sort· string · optionnel · created_at | updated_at
Sort field (default: created_at)limit· integer · optionnel
Number of forms to return (default 25, max 100)order· string · optionnel · asc | desc
Sort order (default: desc, newest first)cursor· string · optionnel
Pagination cursor from previous response's next_cursorsearch· string · optionnel
Filter to forms whose title contains this text (case-insensitive substring). Use this to resolve a form by name in one call instead of paginating.context· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.published· string · optionnel · true | false
Filter by publish statusworkspace_id· string · optionnel
Workspace to act in (id from clipform_whoami workspaces). Omit to use the connection's default workspace.
Exemple d'appel{"name": "clipform_list_forms", "arguments": {"context": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"forms": [], "next_cursor": "texte"}} - clipform_list_video_templates≈ 470 tokens
Browse available video templates - curated Scene arrangements (bed + overlay + sane defaults) that render through the Scene composition from a small controls object. Call this before clipform_render_video_template to see template names and their exposed controls. For a fully custom layer stack, assemble Scene layers directly via clipform_render_composition instead.
Paramètres, retour & exemple (1)
Paramètrescontext· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.
Exemple d'appel{"name": "clipform_list_video_templates", "arguments": {"context": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"templates": []}} - clipform_log_generation≈ 450 tokens
Internal audit step run by a form-generation workflow. Records a completed generation's content provenance (sources, image attributions) for the flow that just built the form. Not a user action - only call it as the final step of a generation workflow you are running, never in response to a plain create or edit request.
Paramètres, retour & exemple (4)
Paramètrescontext· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.details· object · requis
Content sources and attributionsform_id· string · requis
The form ID (UUID format, not the share ID)summary· string · requis
Short description of what was generated
Exemple d'appel{"name": "clipform_log_generation", "arguments": {"context": "texte", "details": {}, "form_id": "texte", "summary": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - clipform_render_composition≈ 2094 tokens
Render a specialised video composition to MP4 or PNG - custom animated visuals that a video template can't provide, such as geography animations or designed motion graphics. Available composition names and their required input props schemas come from clipform_list_compositions. Output formats: mp4 (H.264, best for social media) or png (single frame). Returns a public URL when complete. For multi-render builds (e.g. one clip per quiz question), pass everything in ONE call via items (max 10): all renders fire in parallel and you get one job ID each - then collect the URLs in a single clipform_check_render call with job_ids. Single render: pass compositionId/inputProps at the top level (wait: true blocks and returns the URL; wait: false returns a job ID). Choosing a render tool: for a recognisable form/quiz beat (guess-the-city, this-or-that, mystery reveal, multiple choice, photo montage...) reach for a video template first (clipform_list_video_templates + clipform_render_video_template) - it is a one-call recipe. For a photo/clip montage, narrated or silent, use the slideshow template (pass audio_url to sync it to a voice track). Use clipform_render_composition only when neither fits and you need a custom layer stack. A render for a form node is not done until it is attached to that node. Pass node_id (and form_id) so the completed render attaches itself automatically - do not poll clipform_check_render to completion or manually chain clipform_upload_media_asset + clipform_attach_node_media; fire the render and move on. In batch mode, set node_id per item (see items) and form_id once at the top level.
Paramètres, retour & exemple (10)
Paramètreswait· boolean · optionnel
Single render only: true (default) blocks until the render is ready and returns its URL; false returns a job ID for clipform_check_render. Batch items always run fire-and-poll.items· array · optionnel
Batch mode: multiple renders in one call. All fire in parallel; returns one job ID per item - collect with clipform_check_render (job_ids). Use this whenever rendering more than one clip.context· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.form_id· string · optionnel
The form UUID - required when node_id is set (single render) or any item sets node_id (batch).node_id· string · optionnel
Single render only: form node to attach this render to automatically once it completes. Requires form_id. For batch mode, set node_id per item instead.captions· array · optionnel
Single render only: word-level captions from clipform_generate_tts, carried onto the attached media asset. Only used when node_id is set. For batch mode, set captions per item instead.inputProps· object · optionnel
Single render: props object matching the composition's schema from clipform_list_compositions. Validated STRICTLY - unknown or missing props fail with the schema in the error, nothing renders silently with defaults. For map compositions (Map), wide shots (camera.zoom < 9) may round lat/lng to 1 decimal place to improve cache hit rates; close shots and pin drops should keep full precision — the pin lands exactly on `target`.caption_ref· string · optionnel
Single render only: caption_ref from clipform_generate_tts - an opaque handle that attaches that TTS run's word-level captions to the media asset, resolved server-side. Preferred over captions. Only used when node_id is set. For batch mode, set caption_ref per item instead.outputFormat· string · optionnel · mp4 | png
Single render: output format (default: mp4)compositionId· string · optionnel
Single render: the composition ID. Call clipform_list_compositions to see available options (e.g. 'Slideshow', 'Map', 'Grid'). Use items instead for multiple renders.
Exemple d'appel{"name": "clipform_render_composition", "arguments": {"context": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"jobs": []}} - clipform_render_video_template≈ 1337 tokens
Render a curated video template (a pre-arranged Scene: bed + overlay + sane defaults) to MP4 or PNG from a small controls object, instead of hand-assembling Scene layers. Call clipform_list_video_templates first for available template names and their controls. Renders through the Scene composition under the hood. Choosing a render tool: for a recognisable form/quiz beat (guess-the-city, this-or-that, mystery reveal, multiple choice, photo montage...) reach for a video template first (clipform_list_video_templates + clipform_render_video_template) - it is a one-call recipe. For a photo/clip montage, narrated or silent, use the slideshow template (pass audio_url to sync it to a voice track). Use clipform_render_composition only when neither fits and you need a custom layer stack. A render for a form node is not done until it is attached to that node. Pass node_id (and form_id) so the completed render attaches itself automatically - do not poll clipform_check_render to completion or manually chain clipform_upload_media_asset + clipform_attach_node_media; fire the render and move on.
Paramètres, retour & exemple (9)
Paramètreswait· boolean · optionnel
true (default) blocks until the render is ready and returns its URL; false returns a job ID for clipform_check_render.context· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.form_id· string · optionnel
The form UUID (required when node_id is set).node_id· string · optionnel
Form node to attach this render to automatically once it completes - skips the manual clipform_upload_media_asset + clipform_attach_node_media steps and republishes the form if it's currently live. Requires form_id.captions· array · optionnel
Word-level captions from clipform_generate_tts - carried onto the attached media asset. Only used when node_id is set.controls· object · requis
Template-specific controls (see clipform_list_video_templates for the exposed control surface).template· string · requis
Video template name (see clipform_list_video_templates).caption_ref· string · optionnel
caption_ref from clipform_generate_tts - an opaque handle that attaches that TTS run's word-level captions to the media asset, resolved server-side. Preferred over captions. Only used when node_id is set. Defaults to controls.audio_url when that is a clipform_generate_tts track (slideshow narration), so narrated montages keep their captions.outputFormat· string · optionnel · mp4 | png
Output format (default: mp4)
Exemple d'appel{"name": "clipform_render_video_template", "arguments": {"context": "texte", "controls": {}, "template": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"job_id": "texte", "status": "rendering", "attached": true, "template": "texte", "public_url": "texte", "republished": true, "attach_error": "texte", "output_format": "texte", "media_asset_id": "texte", "duration_seconds": 1}} - clipform_search_media≈ 668 tokens
Search images or stock video clips. Pass one query or many (max 10) - multiple queries run in one call instead of separate tool calls. Use results to feed into clipform_render_video_template (slideshow) for narrated slideshow videos, or upload directly as still images via clipform_upload_media_asset then clipform_attach_node_media. All results are pre-cleared for commercial use. Results include a description (alt text where the provider has it) - use it to pick visually distinct images. Example: { queries: [{ query: "saturn rings" }, { query: "mars surface", count: 3 }] } returns portrait images for both.
Paramètres, retour & exemple (2)
Paramètrescontext· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.queries· array · requis
One or more search queries to run
Exemple d'appel{"name": "clipform_search_media", "arguments": {"context": "texte", "queries": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"searches": []}} - clipform_search_music≈ 558 tokens
Search for royalty-free music tracks and ambient sounds. Quiz forms especially benefit from background music - it keeps energy up between questions. Also consider it for multi-step surveys and longer forms. Pass the returned URL as the audio for the slideshow video template via clipform_render_video_template. Returns download URLs, duration, artist, and license info.
Paramètres, retour & exemple (7)
Paramètrestags· array · optionnel
Genre/mood tags to filter by. Multiple tags are ANDed together (e.g. ['ambient', 'chill'] matches tracks tagged both).count· integer · optionnel
Max results (default: 5)query· string · requis
What to search for (e.g. 'upbeat quiz background', 'calm ambient', 'playful pizzicato')context· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.maxDuration· number · optionnel
Maximum duration in secondsminDuration· number · optionnel
Minimum duration in secondsinstrumentalOnly· boolean · optionnel
Only instrumental tracks (default: true)
Exemple d'appel{"name": "clipform_search_music", "arguments": {"query": "texte", "context": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"query": "texte", "tracks": []}} - clipform_search_news≈ 413 tokens
Search recent news articles from NewsAPI and The Guardian and return them as structured results. Coverage: recent events, people, and topics (post-May-2025). Does NOT cover timeless topics (history, geography, science). Returns: article title, source, author, date, URL, description, and image URL per result.
Paramètres, retour & exemple (3)
Paramètrescount· number · optionnel
Max results per provider (default 5)query· string · requis
News search query (e.g. 'Iran war 2026', 'Australian Open final', 'UK election')context· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.
Exemple d'appel{"name": "clipform_search_news", "arguments": {"query": "texte", "context": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"query": "texte", "articles": []}} - clipform_set_logic≈ 626 tokens
Set the next node for one or more nodes, wiring a linear route (A to B to C). Pass multiple nodes in one call instead of separate tool calls. Each node routes to exactly one target node. Branching by which option a respondent picks is not configured here; it is set up in the form's Build tab in the dashboard (the builder URL returned by clipform_get_form / clipform_create_form). A call replaces that node's routing entirely - it does not merge with any prior target. Example: nodes: [ { node_id: "q1-id", rules: [{ target_node_id: "q2-id" }] }, { node_id: "q2-id", rules: [{ target_node_id: "q3-id" }] } ]
Paramètres, retour & exemple (3)
Paramètresnodes· array · requis
One or more nodes to set logic oncontext· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.form_id· string · requis
The form UUID (returned by clipform_create_form, not the short share_id from the URL)
Exemple d'appel{"name": "clipform_set_logic", "arguments": {"nodes": [], "context": "texte", "form_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"results": []}} - clipform_update_form≈ 940 tokens
Update a form's title, publish status, settings, or tags. Only sends fields that are provided - omitted fields remain unchanged. AI-PROTECTED parameters have restrictions noted in their descriptions.
Paramètres, retour & exemple (16)
Paramètrestags· array · optionnel
Replace all tags on this form. Pass the full desired set (e.g. ['quiz', 'trivia', 'slug:elephants']). Omit to leave tags unchanged.title· string · optionnel
New form titleauthor· ? · optionnel
AI-PROTECTED: Only set when the user explicitly provides an author name. Set null to clear.context· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.form_id· string · requis
The form UUID (returned by clipform_create_form, not the short share_id from the URL)is_live· boolean · optionnel
Setting true publishes/republishes the snapshot respondents see. Forms are live from creation, but edits and media attached AFTER creation are not visible until you re-send true - republishing is the expected final step of a build, never skip it after attaching media. Setting false takes the form offline (keeps the last published snapshot) - AI-PROTECTED: only take a form offline when the user explicitly asks.logo_url· ? · optionnel
AI-PROTECTED: Only set when the user explicitly provides a logo URL. Set null to clear.brand_name· ? · optionnel
AI-PROTECTED: Custom brand name shown in footer. Only set when user explicitly provides.description· ? · optionnel
SEO description (meta description, og:description). Set null to clear.font_family· string · optionnel
AI-PROTECTED: Only set when the user explicitly requests a specific font.total_steps· ? · optionnel
Override the total step count shown in the step counter. Set null to auto-calculate.primary_color· string · optionnel
Primary/brand color as 6-digit hex (e.g. '#FF5500'). Used for buttons and accents.show_branding· boolean · optionnel
Show Clipform branding. Set false to remove (Pro plan).background_color· string · optionnel
Background color as 6-digit hex (e.g. '#1A1A2E').show_step_counter· boolean · optionnel
Show step counter (e.g. '1/5'). Recommended for quizzes.disable_back_navigation· boolean · optionnel
Prevent respondents from going back. Recommended for quizzes.
Exemple d'appel{"name": "clipform_update_form", "arguments": {"context": "texte", "form_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"form_id": "texte", "updated_fields": []}} - clipform_update_node≈ 916 tokens
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).
Paramètres, retour & exemple (3)
Paramètrescontext· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.form_id· string · requis
The form UUID (returned by clipform_create_form, not the short share_id from the URL)updates· array · requis
One or more node updates to apply
Exemple d'appel{"name": "clipform_update_node", "arguments": {"context": "texte", "form_id": "texte", "updates": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"results": []}} - clipform_upload_media_asset≈ 1590 tokens
Put one or more media files into your workspace media library (max 10, uploaded sequentially). This is step one of attaching media to a node - follow up with clipform_attach_node_media to place the returned media_asset_id on a node. When a public URL is provided, the media is fetched and stored automatically. The API picks where each asset is stored based on its size and type. Word-level captions from clipform_generate_tts enable per-word highlighting in the viewer once attached - pass the caption_ref it returned instead of hand-copying the captions array. PDFs (media_type document) are for consent agreements: they return a document descriptor, not a media_asset_id. Provide media via `items` (explicit type + URL), `files` (files attached by the host client), or both. At least one is required.
Paramètres, retour & exemple (5)
Paramètresfiles· array · optionnel
Files attached by the host client. Each becomes a video or still library asset (or a consent-agreement document for application/pdf) based on its declared mime_type.items· array · optionnel
One or more media items to create as workspace library assetscontext· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.form_id· string · optionnel
The form this is for (from clipform_create_form) - a routing hint only, to pick the right workspace. The result still lands in the workspace library, not on a node. Required on an anonymous session, or this lands in a different workspace and clipform_attach_node_media will not find it.workspace_id· string · optionnel
Workspace to act in (id from clipform_whoami workspaces). Omit to use the connection's default workspace.
Exemple d'appel{"name": "clipform_upload_media_asset", "arguments": {"context": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"results": [], "workspace_name": "texte"}} - clipform_whoami≈ 709 tokens
Show the current identity: auth mode (api key, oauth, session, or anonymous), active workspace, and plan limits. Needs a signed-in Clipform account (an anonymous session is asked to sign in).
Paramètres, retour & exemple (1)
Paramètrescontext· string · requis
Describe the user's underlying goal in one sentence - not the tool you're calling.
Exemple d'appel{"name": "clipform_whoami", "arguments": {"context": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"plan": {}, "links": {}, "notice": "texte", "auth_mode": "api_key", "workspace": "texte", "workspaces": [], "is_authenticated": true, "default_workspace_id": "texte"}} - get_more_tools≈ 131 tokens
Check for additional tools whenever your task might benefit from specialized capabilities - even if existing tools could work as a fallback.
Paramètres, retour & exemple (1)
Paramètrescontext· string · requis
A description of your goal and what kind of tool would help accomplish it.
Exemple d'appel{"name": "get_more_tools", "arguments": {"context": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».