---
ref: tool:typeform/create-form
name: Create a form
company: company:typeform
workflows: []
access: [mcp, api]
tags: [capability:collect-responses, category:forms, has:api, has:mcp]
docs: https://www.typeform.com/developers/create/reference/create-form/
updated: 2026-09-27
---

# Create a form

Creates a typeform in a workspace, an empty draft over MCP or a complete form with fields and logic over the API.

Note: Over MCP the form is empty: add fields with `forms-public_patch_form`, which stay in draft until `forms-public_publish_form`. Over the API, images in the definition must already be in the account.

## Set up

Use the first option your agent supports.

### MCP (official, remote)

Add this server to your agent's MCP settings, then sign in when asked.

```json
{ "mcpServers": { "typeform": { "url": "https://api.typeform.com/mcp" } } }
```

Call the MCP tool `forms-public_create_form`.

Server URL: https://api.typeform.com/mcp

### API (official)

- Base URL: https://api.typeform.com
- Endpoint: `POST /forms`
- Auth: send the header `Authorization: Bearer $TYPEFORM_API_KEY`
- Get a key: https://admin.typeform.com/user/tokens
- Docs: https://www.typeform.com/developers/get-started/

Before anything else, confirm access with the cheapest read-only call, like a list or a search. Never send or change anything to test access.

## Rules

- Ask the user before anything that sends messages, costs money, or changes data, and say how many records it touches. One approval covers a batch the user has seen.
- Never print API keys.
