Tool results return text content containing formatted JSON and structured content containing the same payload. Tool errors are returned as MCP tool errors with a readable message.
Sensitive capabilities
Treat delete_form as destructive and require explicit user confirmation before a client invokes it. Treat list_form_responses output as sensitive: it can include respondent email addresses and submitted answers. These tools appear only when the user granted forms:delete or responses:read, respectively. Form Service rechecks the capability on every internal operation.
Tools
| Tool | Capability | Input schema | Behavior |
|---|---|---|---|
list_forms | forms:read | listFormsInputSchema | List forms in the authenticated Formlism account. |
get_form | forms:read | getFormInputSchema | Get a full Formlism form payload by form ID. |
create_form | forms:write | createFormInputSchema | Create a new Formlism form from raw Formlism-style fields. |
update_form | forms:write | updateFormInputSchema | Update a Formlism form with raw Formlism-style fields. |
delete_form | forms:delete | deleteFormInputSchema | Move a Formlism form to recoverable trash for 30 days. Requires the exact form ID twice and an explicit confirmation flag. |
duplicate_form | forms:write | getFormInputSchema | Duplicate a Formlism form and create the copy as unpublished. |
publish_form | forms:publish | getFormInputSchema | Publish a Formlism form by form ID. |
unpublish_form | forms:publish | getFormInputSchema | Unpublish a Formlism form by form ID. |
get_form_metadata | forms:read | getFormInputSchema | Get Formlism metadata for a form, including counts and timestamps. |
list_form_responses | responses:read | listFormResponsesInputSchema | List enriched responses for a Formlism form. |
Common IDs
Tools that act on one form accept form_id as a UUID. List tools accept the same paging and filtering values as the developer API.