mcpbeat Sign in

Clipform MCP Server

answering

Clipform is answering right now. Last checked 15 min ago. 2 473 installs a week from npm. It exposes 33 tools. Last commit 6 Nov 2026.

Interactive video forms that capture authentic responses. Build engaging forms in minutes.

Installs per day peak 1 104 · avg 234 · -16% w/w
a month agotoday
Uptime history 91 days of history · worst day 93%
91 days agonow
100.0%
Uptime 24h
91 of 91 checks
33
Tools
read from the server
178 ms
Response time
average over 24h
2 473
Installs / week
npm and PyPI

What changed 220

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 10 August 2026. No other catalogue keeps this.

7 Nov a tool description was rewritten clipform_create_form
7 Nov a tool changed version
5 Nov 2 tools changed the parameters they ask for clipform_add_node, clipform_create_form
5 Nov a tool changed version
2 Nov a tool changed version
1 Nov 2 tools changed the parameters they ask for clipform_add_node, clipform_create_form
1 Nov a tool changed version
30 Oct 2 tool descriptions were rewritten clipform_get_responses, clipform_get_results
30 Oct a tool changed version
29 Oct a tool changed version3 times that day
and 207 more, back to 10 August 2026

Tools have disappeared from this server

A tool that vanishes takes a piece of your agent with it, and the change arrives silently. Watch this server and every such change lands in your inbox.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 15 min ago.

run in your terminal
claude mcp add mcp-server --transport http https://mcp.clipform.io
Settings → Connectors → Add custom connector, then paste this address
https://mcp.clipform.io
~/.codex/config.toml
[mcp_servers.mcp-server]
url = "https://mcp.clipform.io"
.cursor/mcp.json
{
  "mcpServers": {
    "mcp-server": {
      "url": "https://mcp.clipform.io"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "mcp-server": {
      "type": "http",
      "url": "https://mcp.clipform.io"
    }
  }
}

Available tools 33

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

clipform
clipform_add_node
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.
clipform_attach_node_media
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.
clipform_check_render
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.
clipform_complete_media_upload
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).
clipform_create_form
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 build into a temporary account of their own: guests connected through a chat app (ChatGPT, Claude) get a form that goes live, takes up to 3 responses and goes offline after 7 days unless the user signs up, with steps that need an account (such as payments and uploads) switched off until sign-up; other anonymous channels stay private previews. 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: quiz, survey, interview, testimonial, application, booking, client intake, lead capture, 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. Standard fields keep their names (no label needed); for other wording or a non-English form, add a custom field ({ id, is_custom: true, label, type }). Defaults: {"fields":[{"id":"first_name","required":true},{"id":"email","required":true}],"consent_items":[]} - draw: Drawing canvas; respondents draw and it is saved as a PNG image. Config: title (string), description (string), paper_color (string, default: "#FAF9F6"), diagram ({opacity, scale, preset}). Defaults: {"paper_color":"#FAF9F6","stroke_colors":["#1F2937","#EF4444","#3B82F6","#22C55E","#FACC15"],"stroke_widths":[3,6,12],"diagram":{"opacity":1,"scale":1}} - camera: Capture a photo or video from the device camera. Config: title (string), description (string), camera_facing ("user"|"environment", default: "user"), allowed_capture (array of "photo"|"video"), camera_capture (array of "photo"|"video"), allow_library_upload (boolean, default: true), capture_order (array of "photo"|"video"|"library"), max_files (number, default: 1), min_files (number, default: 1) - 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!" } ] }
clipform_delete_form
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).
clipform_delete_node
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.
clipform_delete_node_media
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.
clipform_fetch_boundary
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).
clipform_generate_tts
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.
clipform_get_form
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).
clipform_get_guide
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.
clipform_get_node_media
Get the media attached to a node, including processing status. Useful for checking if a video upload has finished processing.
clipform_get_responses
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); booking, contact details, file upload, drawing, and camera answers and audio/video recordings 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).
clipform_get_results
View response counts, choice/action answer breakdowns, and recent open-text answers for a form. Answers to booking, contact details, file upload, drawing, camera, and payment nodes are counts only - use the dashboard for per-response detail. Needs a signed-in Clipform account (an anonymous session is asked to sign in).
clipform_get_workflow
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
clipform_import_form
Copies the questions from a public Google Form, Typeform, or Tally form into a new Clipform draft. The source form and its responses stay where they are. 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.
clipform_list_assets
List available creative assets (sound effects, animations, fonts) for video compositions.
clipform_list_compositions
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.
clipform_list_forms
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).
clipform_list_video_templates
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.
clipform_log_generation
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.
clipform_render_composition
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.
clipform_render_video_template
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.
clipform_search_media
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.
clipform_search_music
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.
clipform_search_news
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.
clipform_set_logic
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" }] } ]
clipform_update_form
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.
clipform_update_node
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).
clipform_upload_media_asset
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.
clipform_whoami
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).
more
get_more_tools
Check for additional tools whenever your task might benefit from specialized capabilities - even if existing tools could work as a fallback.

Tools removed

Tools this server used to expose. Anything built against them stopped working on the day they went.

clipform_youtube_transcript
removed 20 Aug 2026
clipform_generate_video
removed 1 Oct 2026

Endpoints

URLTransportStateLatencyChecked
https://mcp.clipform.io streamable-http answering 338 ms 15 min ago

Alternatives to Clipform

same job, measured the same way
Typeform
by typeform

Build and edit forms, manage automations and contacts, and analyze responses.

answering
DemoMagic
by demomagic

Guides for making interactive videos & AI product demos that answer viewers' questions.

85 installs/wk local only
Docmino
by docmino

Create, edit, organize, and share interactive guides, lessons, forms, and client plans in Docmino.

26 tools answering
trulyform
by trulyform

Build, edit and publish forms and read their responses from your AI assistant.

answering
GuiaFlow
by guiaflow

Build interactive product demos: guided tours, lead capture, WhatsApp CTA, AI copy/voice, analytics.

answering
Mermaid MCP App
by finfin

MCP App that renders Mermaid diagrams as interactive UI in Claude, VS Code and other MCP clients

71 installs/wk local only
MailInApp
by mailinapp

Build and send interactive email campaigns: studio editing, contacts, sending, results.

answering
Spain Legal by Legal Fournier
by legalfournier

Spain legal screening, articles, videos, interactive apps, public skills, and consent-based contact.

13 tools answering

Clipform — questions

Answers built from our own checks of this server.

What can Clipform do?
It exposes 33 tools, read directly from the server on our last check. Among them: clipform_add_node, clipform_attach_node_media, clipform_check_render, clipform_complete_media_upload, clipform_create_form, clipform_delete_form and 27 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Clipform working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 178 ms. The bar chart above shows every period we have measured.
Did Clipform ever remove tools?
Yes. clipform_youtube_transcript, clipform_generate_video are no longer exposed — we recorded the date each one disappeared. A tool vanishing usually means a breaking change for anything that depended on it.
How do I connect Clipform?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Clipform need an API key?
No. Clipform completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 33 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Clipform?
It answers our handshake in 178 ms on average, which is faster than 78% of all working MCP servers we measure. That puts it in the quick quarter of the ecosystem. The comparison comes from our own checks across the whole registry, every 15 minutes.
How many people use Clipform?
The npm package @clipform/mcp-server was installed 2 473 times in the last week. Week over week that is -16%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Clipform open source?
The code is open source: it is published under the MIT licence, 0 stars on GitHub and 2 open issues. The licence covers the code in the repository, not the hosted service at mcp.clipform.io, which runs on its operator's own terms.