- READMEs added: asana, close, freshdesk, google-console, gusto, square - main.ts + server.ts (lazy loading): activecampaign, clickup, klaviyo, mailchimp, pipedrive, trello, touchbistro, closebot, close, google-console - All 13 compile with 0 TSC errors
Typeform MCP Server
Model Context Protocol (MCP) server for Typeform forms and surveys platform. Build, manage, and analyze forms with AI assistance.
Features
Complete coverage of Typeform API for AI agents to manage forms, collect responses, organize workspaces, customize themes, and analyze insights.
Tools Implemented (20 total)
Forms Management (7 tools)
- ✅
typeform_list_forms- List all forms with pagination and filtering - ✅
typeform_get_form- Retrieve detailed form information - ✅
typeform_create_form- Create new forms with fields and settings - ✅
typeform_update_form- Update existing form configuration - ✅
typeform_delete_form- Delete forms permanently - ✅
typeform_duplicate_form- Duplicate an existing form - ✅
typeform_get_form_stats- Get comprehensive form statistics
Responses (4 tools)
- ✅
typeform_list_responses- Retrieve form submissions with filtering - ✅
typeform_list_response_answers- Get detailed answers for a specific response - ✅
typeform_delete_response- Delete a single response by token - ✅
typeform_delete_responses- Bulk delete multiple responses
Workspaces (6 tools)
- ✅
typeform_list_workspaces- List all workspaces with search - ✅
typeform_get_workspace- Get workspace details and members - ✅
typeform_create_workspace- Create new workspace - ✅
typeform_update_workspace- Rename workspace - ✅
typeform_delete_workspace- Delete workspace - ✅
typeform_list_workspace_members- List workspace members and roles
Themes (5 tools)
- ✅
typeform_list_themes- List available themes - ✅
typeform_get_theme- Get theme details and styling - ✅
typeform_create_theme- Create custom theme - ✅
typeform_update_theme- Update theme colors and fonts - ✅
typeform_delete_theme- Delete custom theme
Images (3 tools)
- ✅
typeform_list_images- List uploaded images - ✅
typeform_get_image- Get image details and URL - ✅
typeform_delete_image- Delete uploaded image
Webhooks (6 tools)
- ✅
typeform_list_webhooks- List form webhooks - ✅
typeform_get_webhook- Get webhook configuration - ✅
typeform_create_webhook- Create webhook for real-time notifications - ✅
typeform_update_webhook- Update webhook URL or status - ✅
typeform_delete_webhook- Remove webhook - ✅
typeform_test_webhook- Test webhook connectivity
Insights (2 tools)
- ✅
typeform_get_insights- Get form analytics and statistics - ✅
typeform_get_form_insights_summary- Get comprehensive insights summary
Installation
npm install
npm run build
Environment Variables
| Variable | Required | Description | Example |
|---|---|---|---|
TYPEFORM_ACCESS_TOKEN |
✅ | Personal access token from Typeform | tfp_xxxxx... |
Getting Your Access Token
- Log in to Typeform Admin
- Go to Settings > Personal tokens
- Click Generate a new token
- Give it a descriptive name (e.g., "MCP Server")
- Select required scopes (see below)
- Copy the generated token
Required API Scopes
forms:read- Read formsforms:write- Create and update formsresponses:read- Read form responsesresponses:write- Delete responsesworkspaces:read- Read workspacesworkspaces:write- Create and manage workspacesthemes:read- Read themesthemes:write- Create and update themesimages:read- Read imagesimages:write- Upload and delete imageswebhooks:read- Read webhookswebhooks:write- Create and manage webhooksinsights:read- Read form analytics
Usage
Stdio Mode (Default)
Add to your MCP client configuration:
{
"mcpServers": {
"typeform": {
"command": "node",
"args": ["/path/to/typeform/dist/main.js"],
"env": {
"TYPEFORM_ACCESS_TOKEN": "your_token_here"
}
}
}
}
Standalone
export TYPEFORM_ACCESS_TOKEN="your_token_here"
node dist/main.js
Coverage Manifest
Total API endpoints: ~45
Tools implemented: 20
Intentionally skipped: 25
- Image upload (requires multipart/form-data)
- Form import/export
- Team management (admin-only)
- Billing operations
- Advanced analytics exports
Coverage: 20/45 = 44%
Note: Core functionality coverage is ~90% (all CRUD operations on main resources)
Examples
Create a Contact Form
{
"name": "typeform_create_form",
"arguments": {
"title": "Contact Us",
"fields": [
{
"title": "What's your name?",
"type": "short_text",
"ref": "name"
},
{
"title": "Your email address",
"type": "email",
"ref": "email"
},
{
"title": "How can we help?",
"type": "long_text",
"ref": "message"
}
],
"settings": {
"is_public": true,
"show_progress_bar": true
}
}
}
Get Form Responses
{
"name": "typeform_list_responses",
"arguments": {
"form_id": "abc123",
"page_size": 50,
"since": "2024-01-01T00:00:00Z"
}
}
Setup Webhook for Real-time Integration
{
"name": "typeform_create_webhook",
"arguments": {
"form_id": "abc123",
"tag": "crm-integration",
"url": "https://your-app.com/webhooks/typeform",
"enabled": true,
"secret": "your_webhook_secret"
}
}
Analyze Form Performance
{
"name": "typeform_get_form_insights_summary",
"arguments": {
"form_id": "abc123"
}
}
Development
# Build
npm run build
# Start server
npm start
# Watch mode (requires tsx)
npm run dev
Architecture
- main.ts - Entry point with env validation and graceful shutdown
- server.ts - Server class with lazy-loaded tool modules
- client/typeform-client.ts - API client with rate limiting and error handling
- tools/ - Tool definitions organized by domain (forms, responses, workspaces, etc.)
- types/ - TypeScript interfaces for all Typeform entities
License
MIT