MCP Server
Use Clipform from AI assistants like Claude, ChatGPT, Cursor, and more.
Clipform has an MCP server that lets AI assistants create and manage forms through conversation. Describe what you want and the assistant builds it - nodes, media, theming, and more.
Connect your AI assistant
Claude (claude.ai)
- Go to Settings in the sidebar
- Click Connectors then Add custom connector
- Enter
https://mcp.clipform.io - Authorize access to your Clipform workspace when prompted
ChatGPT
Requires ChatGPT Pro, Team, or Enterprise.
- Go to Settings then Connectors
- Click Advanced and enable Developer Mode
- Click Create connector and enter
https://mcp.clipform.io - Authorize access to your Clipform workspace when prompted
Claude Code
Run this in your terminal:
This uses the local stdio transport. Forms are created in anonymous mode - use the dashboard link returned with each form to move it into your Clipform account.
Claude Desktop
Add this to your claude_desktop_config.json:
Forms are created in anonymous mode with the free-tier 3-node limit. Use the dashboard link returned with each form to move it into your account.
Other MCP clients (Cursor, Windsurf, OpenClaw, etc.)
For clients that support OAuth, point them at https://mcp.clipform.io. Discovery, registration, and authentication are handled automatically via RFC 9728, RFC 8414, and RFC 7591.
For clients that use stdio transport (like most desktop tools), use the npx command:
What you can do
Form and node management
| Tool | Description |
|---|---|
clipform_create_form | Create a new form with nodes, theming, and tags in one call |
clipform_get_form | View a form and all its nodes |
clipform_update_form | Change title, live/draft status, or settings |
clipform_delete_form | Delete an unclaimed form |
clipform_add_node | Add a node to an existing form |
clipform_update_node | Update node text, type, config, or options |
clipform_delete_node | Remove a node (logic chain auto-relinks) |
Media and logic
| Tool | Description |
|---|---|
clipform_upload_node_media | Attach video or image to one or more nodes (batch, max 10) |
clipform_get_node_media | View a node's media details |
clipform_delete_node_media | Remove media from a node |
clipform_attach_audio | Attach audio to a still-image node |
clipform_set_logic | Set branching logic on a node |
Creative tools
| Tool | Description |
|---|---|
clipform_generate_tts | Generate narration audio with word-level captions |
clipform_generate_video | Create video from images, audio, and captions |
clipform_generate_slideshow | Create slideshow videos from images and audio |
clipform_search_media | Search royalty-free images and videos |
clipform_search_music | Search royalty-free music and ambient sounds |
clipform_render_composition | Render a Remotion composition to MP4, PNG, or GIF |
clipform_list_compositions | List available compositions and their prop schemas |
clipform_list_assets | List available sound effects, animations, and fonts |
How authentication works
Remote (claude.ai, ChatGPT, etc.)
When you connect via https://mcp.clipform.io, OAuth 2.1 handles everything:
- Your AI client discovers our authorization server automatically
- You sign in to Clipform and approve access to a workspace
- Tokens are audience-bound to
mcp.clipform.ioand scoped tomcponly - Forms are created directly in your workspace with your plan tier limits
Anonymous (no auth)
When you run npx @clipform/mcp-server without an API key:
- Forms are created in a shared anonymous workspace
- The form's UUID acts as the credential - anyone with the ID can edit it
- Free-tier limits apply (3 nodes per form)
- Use the dashboard link returned with each form to move it into your account
Example
Try this prompt with any connected assistant:
Create a Clipform called "Customer Feedback" with a choice question asking "How would you rate our service?" with options Excellent, Good, Fair, Poor, then an open-ended question asking "Any additional comments?", and finish with an end screen saying "Thanks for your feedback!"
npm package
The MCP server is published as @clipform/mcp-server on npm.