Jake Shore 6d342a1545 Phase 1: Tier 2 complete — 13 servers upgraded to gold standard architecture
- 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
2026-02-14 05:47:14 -05:00
..

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

  1. Log in to Typeform Admin
  2. Go to Settings > Personal tokens
  3. Click Generate a new token
  4. Give it a descriptive name (e.g., "MCP Server")
  5. Select required scopes (see below)
  6. Copy the generated token

Required API Scopes

  • forms:read - Read forms
  • forms:write - Create and update forms
  • responses:read - Read form responses
  • responses:write - Delete responses
  • workspaces:read - Read workspaces
  • workspaces:write - Create and manage workspaces
  • themes:read - Read themes
  • themes:write - Create and update themes
  • images:read - Read images
  • images:write - Upload and delete images
  • webhooks:read - Read webhooks
  • webhooks:write - Create and manage webhooks
  • insights: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