Connect Claude, Cursor, or any MCP-compatible AI assistant to FormHug and manage forms and submissions through natural language.
The FormHug MCP Server lets AI assistants manage your forms and data through natural language. Built on the open Model Context Protocol, it turns any MCP-compatible client into a full FormHug interface — create forms, edit fields, read submissions, and submit entries without opening the dashboard.For the product overview and positioning, see MCP for AI agents. For a narrative walkthrough of the use cases, read FormHug MCP for AI agents.
Create Forms
Describe what you need — AI generates fields and creates the form instantly
Edit Forms
Add or remove fields, update names and descriptions
Why do I need a FormHug account? FormHug uses OAuth 2.1 to authenticate your agent. This links the agent’s actions to your identity, so you control what it creates and submits on your behalf. Without authentication, the agent cannot access any FormHug tools, including filling other people’s forms.
FormHug is built for both human users and AI agents. Forms stay easy for people to fill out, while remaining structured and machine-readable for MCP-compatible tools.With the FormHug MCP server, an authenticated agent can manage forms in your account and submit entries to any published FormHug form.
Authenticated agents can also submit entries to published FormHug forms they do not own. Form creators do not need to configure anything extra.Example:
“Fill in the onboarding form at formhug.ai/f/abc123 using the details from my notes”
Go to Customize → Connectors, click + then Add custom connector.
2
Enter Server URL
Paste the remote MCP server URL and click Add:
https://formhug.ai/mcp
3
Authorize
Authorize and the FormHug tools will be available in your chat.
Team / Enterprise plans: Ask your org Owner to add the connector via Organization settings → Connectors first, then connect from your own Connectors page.
The MCP server cannot transfer file bytes itself. These tools return a one-time upload_id plus a direct upload_url — the client PUTs the raw file bytes to that URL, then references the upload_id in a follow-up tool call.
Tool
What It Does
prepare_image_upload
Start a 2-step upload for a form header or wallpaper background image; reference the returned upload_id in update_form_theme
prepare_entry_attachment_upload
Start a 2-step upload for an attachment field (or a file column inside a table / matrix); reference the returned upload_id in submit_entry so entries can include files
Webhook tools require the integration:read / integration:write scopes on your access token.
Tool
What It Does
list_webhooks
List webhook integrations configured on a form
create_webhook
Create a webhook that delivers a JSON payload on entry_created / entry_updated / entry_paid
update_webhook
Update a webhook’s URL, subscribed trigger events, or enabled flag
delete_webhook
Permanently delete a webhook integration
get_webhook_sample_payload
Preview the JSON payload a webhook would deliver for a given trigger event
delete_form, delete_folder, and delete_webhook are permanent. Deleting a form also deletes every entry it has received. These actions cannot be undone.
Field types use snake_case identifiers. The same set is available when creating fields (create_form, add_fields, update_fields) and when reading or submitting entries.Basic fields
Date / datetime / month / age (controlled by precision)
name
Person name
url
URL
address
Structured postal address
rating
Star / heart / happy scale (3–10 levels)
nps
Net Promoter Score (0–10)
attachment
File upload — submit files via the 2-step prepare_entry_attachment_upload flow
signature
Hand-drawn signature — read-only via MCP
ranking
Drag-to-rank choices
time
Time-of-day picker
location
GPS location
Advanced fieldscascade · matrix · matrix_rating · likert · table · product · booking · linked_formDisplay-only fieldsThese render content but collect no answer, so they never appear in entry values.
Type
Notes
page_break
Splits a classic-layout form into pages (no effect on card layout)
description
A text block / section break — label is an optional heading, notes holds the body text
When submitting entries via submit_entry, call get_form (or get_published_form) first to discover each field’s api_code and type, then pass field_values keyed by api_code. The agent can read formhug://entry-values from the server for the exact value shape per type — including choice objects, phone country codes, and the nested shapes used by matrix, table, and booking.
signature fields are read-only via MCP — skip them when submitting entries. attachment fields are supported through the 2-step prepare_entry_attachment_upload flow, since the MCP server cannot transfer file bytes directly.