# FORMLOVA

Chat-first form service with 127 MCP tools across 25 categories. Create, manage, analyze forms, send emails, set up workflows — all through natural conversation. Supports OAuth 2.1. Works with Claude…

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y @smithery/cli@latest mcp add shining55-peach-p0lb/formlova

# Browse available tools
npx -y @smithery/cli@latest tool list shining55-peach-p0lb/formlova

# Get full schema for a tool
npx -y @smithery/cli@latest tool get shining55-peach-p0lb/formlova list_templates

# Call a tool
npx -y @smithery/cli@latest tool call shining55-peach-p0lb/formlova list_templates '{}'
```

## Direct MCP Connection

Endpoint: `https://formlova.run.tools`

## Tools (127)

- `list_templates` — List available form templates with field counts. Filterable by category (event, business, survey, education, community).
- `create_from_template` — Create an unpublished draft from a system template. Fields are auto-configured from the template; title, access type, a…
- `list_forms` — List all user's forms with title, publish status, response count, capacity, and dates. Start here when the user hasn't …
- `create_form` — Create a new unpublished draft from scratch with custom fields, design, and settings. Supports all field types, conditi…
- `clone_form_from_url` — Create a new unpublished draft by inspecting a public form URL and recreating its visible items. It can also apply the …
- `get_form` — Get full form details: title, URL, status, access type, response count, capacity, dates, and all field definitions with…
- `update_form` — Update form settings: title, description, access type, capacity, deadline, event date, locale, design, paid settings, c…
- `update_form_design` — Update form visual design. Three methods: (1) preset (business/casual/minimal), (2) individual properties, (3) both com…
- `extract_design_from_url` — Extract design elements (colors, fonts, border-radius, spacing) from a web page URL. Returns detected palette, fonts, a…
- `extract_design_from_image` — Extract core design cues from a public image URL such as a screenshot, mockup, poster, banner, or flyer. It infers the …
- `set_form_image` — Set or remove the header image for a form. Supports cover (full-width crop) and contain (show entire image) display mod…
- `generate_iframe_code` — Generate website embed code for a published form. Supports inline (within page) and popup (button-triggered overlay) st…
- `publish_form` — Publish a form to make it accessible via URL. Runs a server-side publish gate that does not rely on the client to manag…
- `unpublish_form` — Unpublish a form so it is no longer accessible via URL. Existing responses are preserved.
- `delete_form` — Marks a form as deleted (recoverable). Unpublishes it and hides it from your list. Response data is preserved but recov…
- `update_form_fields` — Add, update, or delete form fields in a single call. Fields with an existing number are updated, without a number are a…
- `set_conditional_logic` — Set or remove conditional logic on a single form field. Supports show_field (visibility), skip_page (page jump), and en…
- `duplicate_form` — Duplicate an existing form. Copies fields, design, and email templates. Does NOT copy reminders, event dates, or respon…
- `set_thank_you_page` — Set up the thank-you page shown after form submission. Saves the config and returns a preview URL. Always show the retu…
- `set_duplicate_prevention` — Configure duplicate response prevention. Methods: email (one submission per email address), cookie (one per browser), o…
- `generate_qr_code` — Generate a QR code PNG image for a form URL. Customizable size (100-1000px) and margin. Returns image data ready to use…
- `preview_form` — Generate a time-limited preview URL for an unpublished form. Preview mode does not save responses. URL expires in 1 hou…
- `set_notification` — Configure notification triggers for a form. Trigger types: milestone (response count thresholds), capacity (capacity re…
- `get_notifications` — List all notification triggers configured for a form, including their status, configuration, and last triggered time.
- `set_waitlist` — Enable or disable the waitlist feature for a form. When capacity is reached, new respondents join a waitlist instead of…
- `set_custom_css` — Apply custom CSS to a form for advanced styling beyond design properties. Unsafe patterns are blocked for security. Max…
- `schedule_email` — Schedule an email to specified recipients at a future date/time. The email is sent automatically at the scheduled time.…
- `archive_form` — Archive or unarchive a form. Archived forms are hidden from list_forms by default but preserved with all data and respo…
- `get_form_history` — View the change history of a form. Shows version numbers, change summaries, authors, and timestamps.
- `restore_form_version` — Restore a form to a previous version. Saves the current state as a new version before restoring.
- `copy_fields` — Copy fields from one form to another. Copies field definitions (label, type, options, validation) without overwriting e…
- `translate_form` — Create a duplicate of a form prepared for translation. Duplicates the form with a language label and returns the fields…
- `get_responses` — Retrieve form responses. Supports loading more results in batches. form_id is auto-selected if omitted.
- `export_responses` — Export all form responses in CSV, JSON, or Excel format. form_id is auto-selected if omitted.
- `get_form_analytics` — Get basic response statistics: total count, daily breakdown (last 30 days), and selection field distribution. Start her…
- `get_auto_insights` — Run automated deep analysis on form responses: 7-day period comparison, unusual value detection, and relationship stren…
- `get_cross_form_analysis` — Compare response distributions across 2-10 forms. Auto-matches fields with the same name and type, then compares their …
- `generate_report` — Generate a downloadable PDF report containing daily response chart, field distributions, and optionally auto insights. …
- `get_cross_tabulation` — Build a two-way breakdown table from two fields within a single form. Rows = field A values, columns = field B values, …
- `analyze_free_text` — Analyze a single text/textarea/email field: empty rate, character count stats, length distribution, and frequent keywor…
- `get_email_analytics` — Get AGGREGATE email delivery statistics for a form: sent/opened/clicked/bounced counts, rates, and daily breakdown. Thi…
- `get_traffic_sources` — Analyze form view traffic sources from UTM parameters and referrers. Shows which channels drive the most views and conv…
- `get_profile` — Retrieve your profile information including name, email, organization, language, timezone, and current plan.
- `update_profile` — Update your profile information. Only specify the fields you want to change (name, organization, language, timezone, de…
- `check_onboarding` — Check whether initial onboarding setup is complete. Returns setup prompts if not done, or contextual suggestions if com…
- `complete_onboarding` — Complete initial onboarding by saving display name, organization, language, and timezone.
- `set_brand_defaults` — Save default design settings that are automatically applied when creating new forms. Accepts a preset (business/casual/…
- `get_plan_capabilities` — Show all features available on your current plan, monthly email limit usage (used/remaining), and features unlocked by …
- `get_feature_details` — Get detailed information about a specific feature: description, usage example, related tools, and plan requirement. Acc…
- `set_email_branding` — Customize email branding: sender name, reply-to, logo, colors, and footer text. Settings are applied to all outgoing em…
- `get_email_branding` — View your current email branding settings (sender name, reply-to, logo, colors, footer text).

---
*Response truncated. Use `npx -y @smithery/cli@latest` for complete data.*
