formstack
What this MCP does
Manages Formstack forms, fields, submissions, folders, prefilled links, notifications, workflows and webhooks.
Tools
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['form_id'], 'properties': {'form_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The form ID.', 'exclusiveMinimum': 0}, 'start_date': {'type': 'string', 'description': 'Date to count from, e.g. 2026-09-01.'}, 'lookback_period': {'type': 'integer', 'maximum': 7, 'minimum': 1, 'description': 'How many days to count backwards (maximum 7).'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': 'Folder name.'}, 'parent': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Parent folder ID (omit for root level).'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['form_id', 'fields'], 'properties': {'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'value'], 'properties': {'id': {'type': ['string', 'number'], 'description': 'The field ID.'}, 'value': {'type': 'object', 'description': 'The field value as an object, shaped by field type: text/email/number/phone/textarea/datetime/radio → {"value":"..."}; name → {"first":"...","last":"..."} (also prefix, middle, initial, suffix); address → {"address","address2","city","state","zip","country"}; checkbox/select → {"subvalues":[{"subvalue":"..."}]}. Use formstack_list_form_fields for field IDs and types.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}}, 'minItems': 1, 'description': 'Field values to prefill.'}, 'form_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The form ID.', 'exclusiveMinimum': 0}, 'incomplete_password': {'type': 'string', 'description': 'Optional password protecting the prefilled entry.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['form_id', 'fields'], 'properties': {'read': {'type': 'boolean', 'description': 'Mark the submission as read on creation.'}, 'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'value'], 'properties': {'id': {'type': ['string', 'number'], 'description': 'The field ID.'}, 'value': {'type': 'object', 'description': 'The field value as an object, shaped by field type: text/email/number/phone/textarea/datetime/radio → {"value":"..."}; name → {"first":"...","last":"..."} (also prefix, middle, initial, suffix); address → {"address","address2","city","state","zip","country"}; checkbox/select → {"subvalues":[{"subvalue":"..."}]}. Use formstack_list_form_fields for field IDs and types.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}}, 'minItems': 1, 'description': 'Field values to submit.'}, 'form_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The form ID.', 'exclusiveMinimum': 0}, 'user_agent': {'type': 'string', 'description': "Submitter's browser user agent to record."}, 'remote_addr': {'type': 'string', 'description': "Submitter's IP address to record."}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['form_id', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'HTTPS URL that receives the submission data.'}, 'name': {'type': 'string', 'description': 'Webhook name.'}, 'form_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The form ID.', 'exclusiveMinimum': 0}, 'hmac_secret': {'type': 'string', 'description': 'Secret used to HMAC-sign each payload.'}, 'content_type': {'enum': ['urlencoded', 'json'], 'type': 'string', 'description': 'Payload encoding.'}, 'error_emails': {'type': 'string', 'description': 'Comma-separated emails to notify on delivery failure.'}, 'file_transfer_type': {'enum': ['downloadLink', 'signedUrl', 'base64encode'], 'type': 'string', 'description': 'How uploaded files are delivered in the payload.'}, 'include_field_type': {'type': 'boolean', 'description': "Include each field's type in the payload."}, 'standardize_values': {'type': 'boolean', 'description': 'Standardize field values for consistency.'}, 'post_data_field_keys': {'enum': ['field_names', 'field_ids', 'api_friendly_field_names', 'internal_labels', 'internal_labels_api_friendly'], 'type': 'string', 'description': 'How fields are keyed in the payload.'}, 'include_subfield_names': {'type': 'boolean', 'description': 'Include subfield names in the payload.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['folder_id'], 'properties': {'folder_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The folder ID.', 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['form_id'], 'properties': {'form_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The form ID.', 'exclusiveMinimum': 0}, 'with_fields': {'type': 'boolean', 'description': "Include the form's fields in the response."}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['submission_id'], 'properties': {'submission_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The submission ID.', 'exclusiveMinimum': 0}, 'encryption_password': {'type': 'string', 'description': "Only for forms with encryption enabled: the form's encryption password, sent as the X-FS-Encryption-Password header."}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['form_id'], 'properties': {'form_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The form ID.', 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number, starting at 1.'}, 'per_page': {'type': 'integer', 'maximum': 500, 'minimum': 10, 'description': 'Folders per page (minimum 10).'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['form_id'], 'properties': {'form_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The form ID.', 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'order': {'enum': ['ASC', 'DESC'], 'type': 'string', 'description': 'Sort direction (default ASC).'}, 'folder': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Only forms in this folder ID.'}, 'search': {'type': 'string', 'description': 'Match forms by name.'}, 'order_by': {'type': 'string', 'description': 'Column to order by, e.g. name, created, updated.'}, 'page_size': {'type': 'integer', 'maximum': 500, 'minimum': 10, 'description': 'Items per page, 10-500 (Formstack default 50).'}, 'page_number': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number, starting at 1.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['form_id'], 'properties': {'order': {'enum': ['ASC', 'DESC'], 'type': 'string', 'description': 'Sort direction (default ASC).'}, 'form_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The form ID.', 'exclusiveMinimum': 0}, 'keyword': {'type': 'string', 'description': 'Match submissions by content across all fields.'}, 'max_time': {'type': 'string', 'description': 'Only entries created on or before this date/time: YYYY-MM-DD or YYYY-MM-DD HH:MM:SS (Eastern Time).'}, 'min_time': {'type': 'string', 'description': 'Only entries created on or after this date/time: YYYY-MM-DD or YYYY-MM-DD HH:MM:SS (Eastern Time).'}, 'page_size': {'type': 'integer', 'maximum': 500, 'minimum': 10, 'description': 'Items per page, 10-500 (Formstack default 50).'}, 'data_format': {'enum': ['legacy', 'standardized'], 'type': 'string', 'description': 'Shape of data: legacy (object keyed by field id) or standardized (array of field objects).'}, 'expand_data': {'type': 'boolean', 'description': 'Include expanded field data with parsed values.'}, 'page_number': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number, starting at 1.'}, 'pretty_name': {'type': 'boolean', 'description': 'Include a human-readable name per submission (from its name/email field).'}, 'include_data': {'type': 'boolean', 'description': "Include each submission's field data."}, 'field_filters': {'type': 'array', 'items': {'type': 'object', 'required': ['field_id', 'value'], 'properties': {'value': {'type': 'string', 'description': 'The value to search for in that field.'}, 'field_id': {'type': ['string', 'number'], 'description': 'The field ID to match.'}}}, 'maxItems': 10, 'description': 'Search specific fields by value (up to 10 criteria, AND-ed).'}, 'encryption_password': {'type': 'string', 'description': "Only for forms with encryption enabled: the form's encryption password, sent as the X-FS-Encryption-Password header."}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['form_id'], 'properties': {'form_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The form ID.', 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['form_id'], 'properties': {'order': {'enum': ['ASC', 'DESC'], 'type': 'string', 'description': 'Sort direction (default ASC).'}, 'form_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The form ID.', 'exclusiveMinimum': 0}, 'keyword': {'type': 'string', 'description': 'Keyword to search.'}, 'max_time': {'type': 'string', 'description': 'Only entries created on or before this date/time: YYYY-MM-DD or YYYY-MM-DD HH:MM:SS (Eastern Time).'}, 'min_time': {'type': 'string', 'description': 'Only entries created on or after this date/time: YYYY-MM-DD or YYYY-MM-DD HH:MM:SS (Eastern Time).'}, 'page_size': {'type': 'integer', 'maximum': 500, 'minimum': 10, 'description': 'Items per page, 10-500 (Formstack default 50).'}, 'expand_data': {'type': 'boolean', 'description': 'Expand data with detailed field information.'}, 'page_number': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number, starting at 1.'}, 'pretty_name': {'type': 'boolean', 'description': 'Include pretty names.'}, 'include_data': {'type': 'boolean', 'description': "Include each partial submission's data."}, 'field_filters': {'type': 'array', 'items': {'type': 'object', 'required': ['field_id', 'value'], 'properties': {'value': {'type': 'string', 'description': 'The value to search for in that field.'}, 'field_id': {'type': ['string', 'number'], 'description': 'The field ID to match.'}}}, 'maxItems': 10, 'description': 'Search specific fields by value (up to 10 criteria, AND-ed).'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['form_id'], 'properties': {'form_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The form ID.', 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['form_id'], 'properties': {'form_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The form ID.', 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['search'], 'properties': {'order': {'enum': ['ASC', 'DESC'], 'type': 'string', 'description': 'Sort direction (default ASC).'}, 'search': {'type': 'string', 'minLength': 1, 'description': 'Search term to match against submission content.'}, 'page_size': {'type': 'integer', 'maximum': 500, 'minimum': 10, 'description': 'Items per page, 10-500 (Formstack default 50).'}, 'page_number': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number, starting at 1.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['form_id'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': 'New form name.'}, 'folder': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Folder ID to move the form into.'}, 'form_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The form ID.', 'exclusiveMinimum': 0}, 'language': {'type': 'string', 'description': 'Form language.'}, 'timezone': {'type': 'string', 'description': 'Form timezone.'}, 'is_active': {'type': 'boolean', 'description': 'Turn the live form on (true) or off (false).'}, 'disabled_message': {'type': 'string', 'description': 'Message shown while the form is inactive.'}, 'submit_button_title': {'type': 'string', 'description': 'Submit button text on the live form.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['submission_id'], 'properties': {'read': {'type': 'boolean', 'description': 'Mark the submission read (true) or unread (false).'}, 'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'value'], 'properties': {'id': {'type': ['string', 'number'], 'description': 'The field ID.'}, 'value': {'type': 'object', 'description': 'The field value as an object, shaped by field type: text/email/number/phone/textarea/datetime/radio → {"value":"..."}; name → {"first":"...","last":"..."} (also prefix, middle, initial, suffix); address → {"address","address2","city","state","zip","country"}; checkbox/select → {"subvalues":[{"subvalue":"..."}]}. Use formstack_list_form_fields for field IDs and types.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}}, 'minItems': 1, 'description': 'Field values to change.'}, 'submission_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'The submission ID.', 'exclusiveMinimum': 0}, 'encryption_password': {'type': 'string', 'description': "Only for forms with encryption enabled: the form's encryption password, sent as the X-FS-Encryption-Password header."}}}
Recent tool changes
Similar MCP servers
freedom-mcp
Supports company operations through commitments, teams, agents, customer evidence, leads, content workflows, spreadsheets, commer…
Stable Baseline
Manages company documents, knowledge graphs, whiteboards, projects, plans, tasks, teams, and improvement workflows.
mcp
Manages Nestr workspaces, roles, circles, tensions, governance proposals, comments, daily plans, graph relationships, agents, and…
TaScan
Manages field-service projects, workers, task lists, subtasks, dispatch, geofenced work zones, inspections, remediation workflows…
Tango
Manages shared work between humans and agents through tasks, leases, handoffs, approvals, artifacts, comments, integrations, prog…
AIOProductOS MCP
Combines customer records, support conversations, feedback, product analytics, roadmaps, tasks, experiments, releases, and retent…
agendaforge
Manages events, agendas, sessions, speakers, attendees, sponsors, forms, contacts, email templates, approvals, and organizer work…
Refine Job Search
Tracks job applications, interviews, offers, recruiter email, and company openings, with Gmail synchronization and workflow actio…