
FORMLOVA MCP server
Which MCP servers are FORMLOVA's own, from the official registry and from asking its own domain, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.
read 2026-10-10
- Addresshttps://formlova.com/api/mcpnot in the official registry: answered when asked
No entry in the official MCP registry names this server. It answered on formlova.com when the Atlas asked at the address servers are usually mounted on, so it is the vendor's own. Clients and catalogues that list servers from the registry do not show it.
- Stateanswerschecked 2026-10-27
- Tools174
- Server calls itselfformlova
- Server version1.0.0
- Protocol version2025-06-18
On 2026-10-27 the server answered initialize and tools/list without a sign-in. First answer in 320 ms.
- Its tools do create and manage forms from Claude or ChatGPT, but not send form answers to HubSpot or Salesforce.
Once connected
- create_from_template, create_form, update_form, update_form_design, set_form_image change data without a sign-in: anyone with the address can call them.
- Its definitions take about 61630 tokens of context: enable only the tools a task needs.
- Parameters are untyped or undescribed in 60 of 174 tools: check arguments before calling.
Said by rules from the measurements above. The likely first call is a model's pick from the tool list; read its description before relying on it.
- INITE MCP score62 of 100answers 100 · does the job 50 · definitions 94 · context 30 · connects 100 · lowered by the warning signs below
- What an agent can do with it1 of 2 use cases
- Answered100% of days8 of 8 daily checks
- Median first answer449 ms
- Space in an agent's context≈ 61,630 tokensthe definitions of all its tools (174), which an agent carries on every turn
- Tool definitionsA · 94 of 100
- Typed results12 of 174 toolsdeclared outputSchema: results come typed, read once
- Parameters without a description: in 60 of 174
What an agent can do with it
- can do · create and manage forms from Claude or ChatGPT
- not sure · export form responses to CSV or Google Sheets
- cannot · send form answers to HubSpot or Salesforce
Each of the product's use cases, put to Jev against this server's tool list: can an agent do it with these tools?
Worth a look
- Tools that change data, on a server that answers without a sign-in: create_from_template, create_form, update_form, update_form_design, set_form_image
A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The score weighs what was measured and nothing else: answering (25%), doing the product's job (25%), definitions (20%), context (10%), use (10%) and how readily a client connects (10%). A part that was not measured is left out, and a hidden instruction caps the score at 40. The state of vendors' MCP servers: method and numbers →
list_templatesList system form templates with field counts, filterable by category. Use when: user wants to create a form or asks what templates are available. Not for: user's existing forms (list_forms), user-saved templates (list_user_templates).
create_from_templateCreate an unpublished draft from a system template. Fields come from the template; title, access type, and event settings are customizable. Default access is URL-only unless the user explicitly asks for public. Default-workspace setup may…
list_formsList the user's forms, newest first, with title, publish status, response count, capacity, and dates. Use when: user asks to see their forms or asks for the latest ones, or references one without an ID. Not for: field-level details of one…
create_formCreate a new unpublished draft from scratch with custom fields, design, and settings. Supports all field types, conditional display rules, privacy settings, and reverse mode. Default access is URL-only unless the user explicitly asks for…
clone_form_from_urlCreate an unpublished draft by recreating the visible items of a public form URL, optionally applying the source design. Default access is URL-only unless the user explicitly asks for public. Records usage statistics (question types, form…
get_formGet full form details: title, URL, status, access type, response count, capacity, dates, response retention settings and their effective value/source, and all field definitions with numbers (needed for update_form_fields). Use when: user…
update_formUpdate form settings: title, description, access type, capacity, deadline, event date, locale, design, custom URL path, content expiration, form mode (standard or reverse question-selection mode, via form_mode), privacy policy, allowed…
update_form_designUpdate form visual design via preset (business/casual/minimal), individual properties, or both; all plans can use both. Properties also include logoUrl and logoPosition (left/center/right); full list in the properties parameter. Use when…
extract_design_from_urlExtract design elements (colors, fonts, border-radius, spacing) from a public web page URL, with confidence levels; can optionally apply directly to a form. Use when: user wants to match their website's design or sends a public page URL…
extract_design_from_imageExtract main palette and emphasis colors from a public SVG image URL and optionally apply them to a form. Server-side extraction works for SVG URLs only; for raster URLs (PNG/JPEG/GIF/WebP screenshots, mockups, posters, flyers) it…
set_form_imageSet or remove a form's header image. Display modes: cover (full-width crop) or contain (show entire image). Use when: user wants to add or remove a banner/header image. Not for: colors/fonts (update_form_design), logo image…
generate_iframe_codeReturns HTML text for use on an external website; the code is not rendered in the chat. Generate website embed code for a published free form: inline (within page, custom height or auto-resize) or popup (button-triggered overlay)…
publish_formPublish a form to make it accessible via URL. Runs a server-side publish gate that does not rely on the client to manage the flow. The tool always returns the current review state, preview URLs, machine-readable next_required_action, and…
unpublish_formUnpublish a form so it is no longer accessible via URL. Existing responses are preserved. Requires user_confirmed=true and a confirmation token; otherwise returns a prompt with the form name. Use when: user says "unpublish", "take it…
delete_formSoft-deletes a form: marks it deleted, unpublishes it, and hides it from lists. Responses stay stored; no tool restores a deleted form. Requires admin role. Requires user_confirmed=true and a confirmation token; otherwise returns a prompt…
update_form_fieldsAdd, update, or delete form fields in one call: fields with an existing number are updated, fields without one are added, remove_field_ids are deleted. Supports all field types, validation rules, and conditional display rules. dry_run…
set_conditional_logicSet or remove conditional logic on a single field. Actions: show_field (visibility), skip_page (page jump), end_form (early termination), with all/any matching. Use when: user wants to show a field, skip a page, or end the form based on…
duplicate_formDuplicate a form as an unpublished copy with fields, design, and email templates; does NOT copy reminders, event dates, or response data. Default-workspace setup may repair existing memberships, overwriting roles or status. Use when: user…
set_thank_you_pageSet up the thank-you page shown after submission; saves the config and returns a preview URL. Null/omitted config sets a sensible default message. Supports rich block layouts via blocks (text, image, button, link, video, divider; max 20)…
set_duplicate_preventionConfigure duplicate response prevention: email (one submission per email address), cookie (one per browser), or none (no limit). Requires admin role. Use when: user wants to limit submissions to one per person or allow multiple. Not for…
generate_qr_codeGenerate a QR code PNG for a free form URL, with customizable size (100-1000px) and margin; useful for flyers and handouts. Paid-form purchase links are omitted. Use when: user wants a QR code or a printable link for the form. Not for…
preview_formGenerate a time-limited preview URL (expires in 1 hour) for an unpublished form; preview mode does not save responses. Use when: user wants to see the form before publishing. Not for: publishing (publish_form), live URL of a published…
set_notificationConfigure notification triggers for a form: milestone (response count thresholds), capacity (reached), deadline (approaching), pace_drop (response rate decline). Availability depends on signed-in account access. Use when: user wants…
get_notificationsList a form's notification triggers with status, configuration, and last triggered time. Use when: user asks what notifications or alerts are set. Not for: setting up notifications (set_notification), response data (get_responses).
set_waitlistEnable or disable a form's waitlist: at capacity, new respondents join the waitlist instead of being rejected. Offer expiry timeout configurable (1-168 hours). Use when: user wants the waitlist on/off or overflow entries accepted. Not…
set_custom_cssApply custom CSS to a form for styling beyond design properties. Unsafe patterns are blocked; max 50KB; pass null to remove. Use when: user needs fine-grained CSS control. Not for: standard design changes or preset themes…
schedule_emailSchedule an email to specified recipients at a future date/time. The email is sent automatically at the scheduled time. Requires explicit recipient email addresses. Use when: user says "send an email tomorrow", "schedule a reminder for…
archive_formArchive or unarchive a form. Archived forms are hidden from list_forms by default but keep all data and responses. Use when: user wants to archive a form or clean up the form list. Not for: permanent deletion (delete_form), unpublishing…
get_form_historyView a form's change history: version numbers, change summaries, and timestamps. Use when: user asks what was changed in the form and when. Not for: restoring a version (restore_form_version), viewing the current form (get_form).
restore_form_versionRestore a form to a previous version. Saves the current state as a new version before restoring. Use when: user says "revert to version 3", "undo the last change", "go back to previous version". Not for: viewing history…
copy_fieldsCopy field definitions (label, type, options, validation) from one form to another without overwriting the target's existing fields. Use when: user wants to reuse fields from another form. Not for: duplicating an entire form…
duplicate_form_for_translationDuplicate a form prepared for translation: creates an unpublished copy with a language label and returns the original texts to translate; it does not translate them. Resolving the default workspace may repair existing organization-owner…
get_responsesRetrieve one form's responses, oldest first, in pages of up to 100 (default 50): response ID, answers keyed by question label, submitted time, tags, file attachments, and the sales email detection label and score for responses not labeled…
export_responsesExport all form responses as CSV, JSON, or Excel. Use when: "export", "download", "CSV", "Excel", "参加者リスト出して". Not for: CRM-formatted export (export_for_crm).
get_response_filesList one response's file attachments with persistent download URLs. Use when: attachments on a specific response, downloading or sharing uploaded files. Not for: bulk file export across responses (use export_responses) or unrelated form…
download_response_filesDownload a form's uploaded files as a ZIP resource. Use when: bulk downloading uploaded images/files or exporting attachments. Optionally set response_id for one response only.
get_form_analyticsGet basic response statistics: total count, daily breakdown (last 30 days), selection field distribution. Use when: response count, trends, or basic stats. Not for: deep insights (get_auto_insights), text analysis (analyze_free_text)…
get_auto_insightsRun automated deep analysis on responses: 7-day period comparison, unusual value detection, field relationship strength. Availability depends on signed-in account access. Use when: trends, anomalies, correlations, 'analyze deeper'. Not…
get_cross_form_analysisCompare response distributions across 2-10 forms; auto-matches fields with the same name and type. Availability depends on signed-in account access. Use when: comparing multiple forms, e.g. 'event A vs event B'. Not for: single-form…
generate_reportGenerate a downloadable PDF report: daily response chart, field distributions, optional auto insights. Availability depends on signed-in account access. Use when: a report, PDF, or printable summary is requested. Not for: interactive…
get_cross_tabulationBuild a two-way table from two fields in one form: rows = field A, columns = field B, cells = counts, with row/column totals. Availability depends on signed-in account access. Field numbers from get_form_analytics or get_form. Use when…
analyze_free_textAnalyze one text/textarea/email field: empty rate, character stats, length distribution, frequent keywords (word pairs for Japanese, word frequency for English). No external API. Availability depends on signed-in account access. field_id…
get_email_analyticsGet AGGREGATE email delivery statistics for a form: sent/opened/clicked/bounced counts, rates, daily breakdown. Totals only, not per-person detail. Availability depends on signed-in account access. Use when: overall email performance…
get_traffic_sourcesAnalyze form view traffic sources from UTM parameters and referrers: which channels drive views and conversions. Availability depends on signed-in account access. Use when: "where are visitors coming from", "which channels work best". Not…
get_form_ad_attributionAnalyze public form views and responses by ad attribution keys (UTM campaign, Meta campaign/ad set/ad ID). Returns FORMLOVA-side views and responses only, keyed by these IDs; ad spend and delivery metrics are not included. Availability…
get_profileRetrieve your profile: name, email, organization, language, timezone, and account access summary. Use when: "show my profile", "show my account status". Not for: updating profile (update_profile).
update_profileUpdate your profile; specify only fields to change (name, organization, language, timezone). Use when: "change my name", "update language", "set timezone". Not for: brand design defaults (set_brand_defaults), completing onboarding…
check_onboardingCheck whether initial onboarding is complete. Returns setup prompts if not, contextual suggestions if done. Use when: first-time connection, "am I set up", or to determine next actions. Not for: profile details (get_profile), completing…
complete_onboardingComplete initial onboarding by saving display name, organization, language, timezone. Use when: user provides name and preferences during first-time setup. Not for: later profile updates (update_profile), checking status (check_onboarding).
set_brand_defaultsSave default design settings auto-applied to new forms. Accepts a preset (business/casual/minimal) or individual properties. Use when: "set default design", "always use this style". Not for: one form's design (update_form_design), profile…
set_email_brandingCustomize email branding: sender name, reply-to, logo, colors, footer text. Applied to all outgoing emails (auto-reply, reminders, bulk). Availability depends on signed-in account access. Use when: "customize email look", "change email…
get_email_brandingView current email branding settings (sender name, reply-to, logo, colors, footer text). Use when: "show email branding", "what does my email look like". Not for: email templates (get_email_templates), form design (get_form).
submit_feature_requestSave a feature request for functionality that is not available yet; it may also email FORMLOVA's configured administrator. Use when: user requests an unsupported feature, "I wish I could...", "can you add...". Not for: bug reports…
get_email_templatesList a form's email templates (auto_reply, notification, reminder, bulk): subject, locale, enabled status, last updated. Use when: checking current template settings. Not for: editing (update_email_template), rendered preview…
update_email_templateCreate or update a form's email template; same type+language is overwritten, otherwise created. Availability depends on signed-in account access. Use when: customizing subject/body or enabling/disabling a template. Not for: viewing…
get_remindersList a form's reminders: type, offset, scheduled send time, sent status, enabled state. Ordered by scheduled time. Use when: checking reminder settings or status. Not for: creating/updating reminders (set_reminders), email templates…
set_remindersSet a form's reminders, replacing all existing ones. before_event uses event_date, before_deadline uses deadline; offset = minutes before send (1440 = 1 day). Form needs event_date or deadline. Availability depends on signed-in account…
get_mailing_listsList your mailing lists: name, description, contact count, created date. Use when: reviewing lists or finding a list ID before sending. Not for: creating a list (create_mailing_list), adding contacts (import_mailing_list_contacts)…
create_mailing_listCreate an empty mailing list with a name and optional description. Availability depends on signed-in account access. Use when: starting a new list for bulk email campaigns. Not for: listing lists (get_mailing_lists), adding contacts…
import_mailing_list_contactsBulk-add contacts (email + optional name) to a mailing list; duplicate emails are silently skipped. Availability depends on signed-in account access. Use when: user sends a CSV/contact list to add to a mailing list. Not for: creating a…
The first 60 of 174, as the server listed them.
How to connect
Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:
{
"mcpServers": {
"formlova": {
"type": "http",
"url": "https://formlova.com/api/mcp"
}
}
}Add it
Claude Code, in a terminal
claude mcp add --transport http formlova https://formlova.com/api/mcpclaude.ai, ChatGPT and other clients: add https://formlova.com/api/mcp as a custom connector in the settings.
Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.
Before we count this visit
Analytics and ad measurement tell us which pages and which of our ads do their job: Google Analytics and Google Ads, the Meta pixel, Yandex Metrica, and one first-party id of our own. Nothing is stored until you answer, and declining changes nothing about the site.