MCP Server · Tools Reference
Brieform MCP Tools Reference
Parameters, return values, and example prompts for every tool in the Brieform MCP server.
create_formCreate form
Create a new draft form. Pass a full structured form definition for precise control, or pass a natural language prompt and Brieform generates the structure for you. The form starts as a draft and is not publicly accessible until you call publish_form.
Parameters
formobjectFull form definition: title, description, fields (with types, labels, options, conditional logic), theme, steps, successMessage, redirectUrl. Preferred — gives you precise control with no AI cost.
promptstringNatural language description of the form. Used only when form is not provided. Brieform's AI generates the structure.
Returns
form_id, title, status ("draft"), field_count, preview_url (signed, 24h), summary.
Notes
At least one of form or prompt is required. Field types: text, email, tel, textarea, select, radio, checkbox, rating, date, number, url, password, gdpr.
Example prompts
update_formUpdate form
Modify an existing form. Structured mode (preferred): fetch the form with get_form, apply your changes, and send the full updated structure — this gives precise, reliable results. Prompt mode (fallback): describe the change in natural language; Brieform's AI applies it using the current form as context.
Parameters
form_idstringrequiredID of the form to update.
formobjectFull updated form structure. PUT semantics: replaces all fields, theme, and settings. Include each field's id from get_form to preserve response history.
promptstringNatural language description of the change (e.g. "add a budget dropdown"). Used only when form is not provided.
Returns
form_id, title, status, field_count, preview_url, summary. summary includes a warning if the form was live when updated.
Notes
If the form is currently published, changes go live immediately. The returned summary includes a warning. Use structured mode for precise edits — prompt mode may inadvertently change unrelated fields.
Example prompts
get_formGet form
Fetch the complete structure and metadata of a form. Use this before updating a form in structured mode so you have the current field IDs and configuration.
Parameters
form_idstringrequiredID of the form to fetch.
Returns
Full form definition including form_id, title, description, fields (with ids), theme, steps, status, public_url (if published), preview_url, response_count.
Example prompts
list_formsList forms
List all forms belonging to the authenticated user. Filter by status, search by title, and paginate through large collections.
Parameters
status"draft" | "published"Filter by form status. Omit to return all.
searchstringCase-insensitive title search.
limitnumberResults per page. Default 20, max 100.
cursorstringPagination cursor from the previous response's next_cursor.
Returns
forms[] (each with form_id, title, status, field_count, response_count, public_url if published), next_cursor, total.
Example prompts
publish_formPublish form
Make a form publicly accessible. A URL-friendly slug is auto-generated from the form title if you don't provide one. Idempotent — calling it on an already-published form returns the existing URL.
Parameters
form_idstringrequiredID of the form to publish.
slugstringCustom URL slug (e.g. "my-contact-form" → brieform.app/f/my-contact-form). Auto-generated if omitted.
regenerate_slugbooleanForce a new slug even if the form is already published.
Returns
form_id, status ("published"), slug, public_url, share_url.
Example prompts
unpublish_formUnpublish form
Take a form offline. The form returns to draft status and is no longer accessible at its public URL. All responses are preserved.
Parameters
form_idstringrequiredID of the form to unpublish.
Returns
form_id, status ("draft").
Example prompts
set_form_themeSet form theme
Change the visual theme of a form. Three modes: apply a named preset (fastest, no AI cost), pass a full custom theme object, or describe the look you want in natural language.
Parameters
form_idstringrequiredID of the form to retheme.
preset_idstringNamed preset: modern-blue, slate-professional, vibrant-green, elegant-violet, warm-rose, sunset-orange, corporate-neutral, minimal-stone.
themeobjectFull custom theme object with primaryColor, backgroundColor, textColor, fontFamily, borderRadius.
promptstringNatural language theme description (e.g. "dark background, orange accent"). Brieform's AI generates the theme.
Returns
form_id, title, theme_summary, preview_url.
Notes
Pass exactly one of preset_id, theme, or prompt.
Example prompts
get_responsesGet responses
Fetch submissions for a form. For large datasets or when exporting to another tool (Notion, Google Sheets, etc.), use format: "csv_url" to get a signed download link instead of inline JSON — this avoids filling your context window.
Parameters
form_idstringrequiredID of the form.
limitnumberResponses per page. Default 50, max 200.
cursorstringISO timestamp cursor from previous response's next_cursor for pagination.
sincestring (ISO datetime)Return only responses submitted at or after this time.
format"json" | "csv_url"json: inline data. csv_url: returns a signed URL (1h TTL) to a CSV file. Recommended for 50+ responses.
Returns
responses[] (each with response_id, submitted_at, fields keyed by label), next_cursor, total, csv_url (if csv_url format).
Example prompts
duplicate_formDuplicate form
Create a copy of an existing form. The duplicate is created as a draft with all fields, theme, and settings copied. It does not copy existing responses.
Parameters
form_idstringrequiredID of the form to duplicate.
new_titlestringTitle for the new form. Defaults to "Copy of [original title]".
Returns
Same shape as create_form: form_id, title, status ("draft"), field_count, preview_url, summary.
Example prompts
delete_formDelete form
Permanently delete a form and all its responses. This is irreversible. Requires confirm: true as a safety gate.
Parameters
form_idstringrequiredID of the form to delete.
confirmtruerequiredMust be exactly true. Safety gate — deletion is permanent.
Returns
deleted (true), form_id.
Notes
All responses are deleted with the form. Export responses with get_responses before deleting if you want to keep them.
Example prompts
get_form_analyticsGet form analytics
Return view, submission, and conversion metrics for a form over the chosen period. Includes a daily breakdown, top traffic sources, and a step-by-step funnel for multi-step forms. Use when the user asks how their form is performing.
Parameters
form_idstringrequiredID of the form to fetch analytics for.
period"7d" | "30d" | "90d"Time window. Defaults to "30d".
Returns
form_id, period, total_views, total_submissions, conversion_rate (0..1), daily[] (date/views/submissions), top_referrers[] (source/count, up to 10), funnel[] (step_id/step_title/step_order/viewed/completed/drop_off_pct) or null for single-step forms.
Notes
Requires Starter plan or higher. Free-plan users get a QUOTA_EXCEEDED error.
Example prompts
Start using the MCP server
Free account. 60 seconds to connect. Works with Claude, ChatGPT, and more.
No credit card · Works with Claude, ChatGPT, Cursor
