# Forms tools

> MCP tools for forms: what each does, the key level it needs, the operation it runs and its input schema. Part of the MISSIN public API: call it with an API…

An operation tool runs one API operation and takes its variables, so the operation's page says what each accepts. Two differences: the server fills in `workspaceId` and `updatedBy`, and `campaignId`, `partnerId`, `formId`, `discountCodeId`, `socialNetworkId`, `waitlistId`, `incentiveId`, `channelId` also take the record's name. A task tool chains several operations and is described here in full. Every tool's input schema, keyed by tool name: [forms.schema.json](https://developer.missin.co.uk/mcp/tools/forms.schema.json).

> **Warning:**
> Destructive: `delete_form`, `remove_form_placement`, `replace_form_triggers`, `rotate_form_public_key`. An agent must say what it will change and wait for the merchant's yes before calling one.

## Operation tools

| Tool | Operation | Access | Toolset | Hints | What it does |
|---|---|---|---|---|---|
| `add_form_placement` | [AddFormPlacement](https://developer.missin.co.uk/reference/forms/add-form-placement.md) | Write | `forms` |  | Place a form on a connection surface (storefront, email or QR). |
| `create_form` | [CreateForm](https://developer.missin.co.uk/reference/forms/create-form.md) | Write | `forms` |  | Create a form; body carries title, surfaces and view type. Invalid input returns userErrors. |
| `delete_form` | [DeleteForm](https://developer.missin.co.uk/reference/forms/delete-form.md) | Write | `forms` | destructive | Delete a form and its placements. Irreversible. |
| `get_form` | [FormBuilder](https://developer.missin.co.uk/reference/forms/form-builder.md) | Read | `core` | read-only, idempotent | Get one form by slug with its placements, draft snapshot and settings. |
| `get_form_channels` | [FormChannels](https://developer.missin.co.uk/reference/forms/form-channels.md) | Read | `forms` | read-only, idempotent | List the surfaces a form can be placed on (storefront, email, QR) per integration. |
| `get_form_incentives` | [FormIncentives](https://developer.missin.co.uk/reference/forms/form-incentives.md) | Read | `forms` | read-only, idempotent | List the incentives attached to the given forms. |
| `get_form_insight_read` | [FormInsightRead](https://developer.missin.co.uk/reference/forms/form-insight-read.md) | Read | `forms` | read-only, idempotent | Insight facts, answers and reasons mined from form responses, with filters. |
| `get_form_install` | [FormInstall](https://developer.missin.co.uk/reference/forms/form-install.md) | Read | `forms` | read-only, idempotent | Install state for one form: its placements and verified storefront domains. |
| `get_form_response` | [FormResponseDetail](https://developer.missin.co.uk/reference/forms/form-response-detail.md) | Read | `forms` | read-only, idempotent | Get one form response with every answer, the verdict that scored it and the order it earned. |
| `get_form_responses_surface` | [FormResponsesSurface](https://developer.missin.co.uk/reference/forms/form-responses-surface.md) | Read | `forms` | read-only, idempotent | Responses for one form in a window: the list, counts by placement and the funnel. |
| `get_form_short_links` | [FormShortLinks](https://developer.missin.co.uk/reference/forms/form-short-links.md) | Read | `forms` | read-only, idempotent | List the short links and QR targets for forms. |
| `list_forms` | [FormsList](https://developer.missin.co.uk/reference/forms/forms-list.md) | Read | `core` | read-only, idempotent | List forms with a filter: slug, title, status, surfaces, tags and A/B share. |
| `get_form_triggers` | [FormTriggers](https://developer.missin.co.uk/reference/forms/form-triggers.md) | Read | `forms` | read-only, idempotent | List the triggers (when to show) for the given forms. |
| `get_promotion_rotation` | [PromotionRotation](https://developer.missin.co.uk/reference/forms/promotion-rotation.md) | Read | `forms` | read-only, idempotent | Which forms rotate on the published surface, and their A/B shares. |
| `publish_form` | [PublishForm](https://developer.missin.co.uk/reference/forms/publish-form.md) | Write | `forms` |  | Publish a form's draft as its live version. |
| `remove_form_placement` | [RemoveFormPlacement](https://developer.missin.co.uk/reference/forms/remove-form-placement.md) | Write | `forms` | destructive | Remove a form placement. Irreversible. |
| `replace_form_triggers` | [ReplaceFormTriggers](https://developer.missin.co.uk/reference/forms/replace-form-triggers.md) | Write | `forms` | destructive | Replace a form's triggers; the old ones are not kept. Irreversible. |
| `rotate_form_public_key` | [RotateFormPublicKey](https://developer.missin.co.uk/reference/forms/rotate-form-public-key.md) | Write | `forms` | destructive | Rotate a form placement's public key; embeds using the old key stop working. Irreversible. |
| `save_form_draft` | [SaveFormDraft](https://developer.missin.co.uk/reference/forms/save-form-draft.md) | Write | `forms` |  | Save a form's draft content. |
| `set_form_placement_copy` | [SetFormPlacementCopy](https://developer.missin.co.uk/reference/forms/set-form-placement-copy.md) | Write | `forms` | idempotent | Set a form placement's copy. |
| `set_form_placement_published` | [SetFormPlacementPublished](https://developer.missin.co.uk/reference/forms/set-form-placement-published.md) | Write | `forms` | idempotent | Publish or unpublish a form placement. |
| `set_form_placement_qr_style` | [SetFormPlacementQrStyle](https://developer.missin.co.uk/reference/forms/set-form-placement-qr-style.md) | Write | `forms` | idempotent | Set a form placement's QR code style. |
| `set_form_promotion` | [SetFormPromotion](https://developer.missin.co.uk/reference/forms/set-form-promotion.md) | Write | `forms` | idempotent | Set which forms rotate on the published surface and their shares. |
| `set_short_link_disabled` | [SetShortLinkDisabled](https://developer.missin.co.uk/reference/forms/set-short-link-disabled.md) | Write | `forms` | idempotent | Enable or disable a short link. |
| `update_form` | [UpdateForm](https://developer.missin.co.uk/reference/forms/update-form.md) | Write | `forms` |  | Update a form's title, surfaces, priority, status or schedule. |
| `verify_form_placement` | [VerifyFormPlacement](https://developer.missin.co.uk/reference/forms/verify-form-placement.md) | Write | `forms` |  | Check that a form placement is installed on the storefront. |

Source: https://developer.missin.co.uk/mcp/tools/forms
