AI-native survey & form builder. Manage surveys, responses, analytics, and webhooks.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Create a new survey. Returns the survey details including share_url. Supported question types: short_text, long_text, multiple_choice, checkbox, checkbox_list, numeric, star_rating, picture_choice, opinion_scale, date, email, contact_info, poll_question, statement.
Survey title
Array of questions
Optional styling configuration for branding and visual design.
Custom variables for scoring, calculations, and recall.
Hidden fields for URL parameters or custom data, passed through the survey URL.
Optional ending screens list.
Optional welcome screen configuration.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Create a new survey. Returns the survey details including share_url. Supported question types: short_text, long_text, multiple_choice, checkbox, checkbox_list, numeric, star_rating, picture_choice, opinion_scale, date, email, contact_info, poll_question, statement.
| Argument | Type | Description |
|---|---|---|
| title* | string | Survey title |
| styles | object | Optional styling configuration for branding and visual design. |
| settings | object | |
| questions* | array | Array of questions |
| variables | array | Custom variables for scoring, calculations, and recall. |
| hidden_fields | array | Hidden fields for URL parameters or custom data, passed through the survey URL. |
| ending_screens | array | Optional ending screens list. |
| welcome_screen | object | null | Optional welcome screen configuration. |
{
"type": "object",
"required": [
"title",
"questions"
],
"properties": {
"title": {
"type": "string",
"description": "Survey title"
},
"styles": {
"type": "object",
"properties": {
"logo": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"size": {
"enum": [
"sm",
"md",
"lg"
],
"type": "string"
},
"alignment": {
"enum": [
"left",
"center",
"right"
],
"type": "string"
}
}
},
"title_size": {
"enum": [
"xl",
"2xl",
"4xl",
"6xl"
],
"type": "string"
},
"font_family": {
"type": "string"
},
"rtl_enabled": {
"type": "boolean"
},
"corner_radius": {
"enum": [
"none",
"medium",
"large"
],
"type": "string"
},
"question_size": {
"enum": [
"base",
"xl",
"2xl"
],
"type": "string"
},
"background_color": {
"type": "string",
"description": "Hex color, e.g. #FFFFFF"
},
"next_button_text": {
"type": "string"
},
"show_next_button": {
"type": "boolean"
},
"option_text_color": {
"type": "string",
"description": "Hex color"
},
"use_number_labels": {
"type": "boolean"
},
"submit_button_text": {
"type": "string"
},
"question_text_color": {
"type": "string",
"description": "Hex color"
},
"submit_button_color": {
"type": "string",
"description": "Hex color, e.g. #4F46E5"
},
"submit_button_text_color": {
"type": "string",
"description": "Hex color, e.g. #FFFFFF"
}
},
"description": "Optional styling configuration for branding and visual design."
},
"settings": {
"type": "object",
"properties": {
"is_open": {
"type": "boolean",
"description": "Whether survey accepts responses (default: true)"
},
"is_published": {
"type": "boolean",
"description": "Whether survey is publicly published"
},
"allow_multiple_submissions": {
"type": "boolean",
"description": "Allow multiple submissions per user"
}
}
},
"questions": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"text"
],
"properties": {
"text": {
"type": "string",
"description": "Question text"
},
"type": {
"type": "string",
"description": "Question type (e.g. multiple_choice, short_text, opinion_scale)"
},
"logic": {
"type": "object",
"properties": {
"rules": {
"type": "array",
"items": {
"type": "object",
"required": [
"rule_type",
"result_type",
"result_name"
],
"properties": {
"rule_id": {
"type": "string"
},
"rule_type": {
"enum": [
"if",
"always"
],
"type": "string"
},
"target_id": {
"type": "string"
},
"result_name": {
"enum": [
"goto",
"add",
"devide",
"subtract",
"multiply"
],
"type": "string"
},
"result_type": {
"enum": [
"logic",
"calculation"
],
"type": "string"
},
"target_type": {
"enum": [
"question",
"ending"
],
"type": "string"
},
"result_value": {
"type": "number"
},
"target_variable": {
"type": "string"
},
"matching_conditions": {
"type": "array",
"items": {
"anyOf": [
{
"enum": [
"and",
"or"
],
"type": "string"
},
{
"type": "object"
}
]
},
"description": "Array of condition objects or 'and'/'or' strings"
}
}
}
},
"default_target": {
"type": "string",
"description": "Default target question/ending ID"
},
"default_target_type": {
"enum": [
"question",
"ending"
],
"type": "string"
}
},
"description": "Per-question branching logic (goto / calculation)."
},
"options": {
"type": "array",
"items": {
"type": "string"
},
"description": "Options for multiple_choice, checkbox_list, poll_question"
},
"required": {
"type": "boolean",
"description": "Whether the question is required"
},
"scale_end": {
"type": "number",
"description": "Opinion scale end value (opinion_scale only)"
},
"button_text": {
"type": "string",
"description": "Continue button text for statement questions"
},
"description": {
"type": "string",
"description": "Optional help text"
},
"placeholder": {
"type": "string",
"description": "Optional placeholder for input questions"
},
"scale_start": {
"type": "number",
"description": "Opinion scale start value (opinion_scale only)"
},
"contact_fields": {
"type": "array",
"items": {
"type": "object",
"required": [
"label"
],
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"label": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"required": {
"type": "boolean"
},
"placeholder": {
"type": "string"
}
}
},
"description": "Contact info fields (contact_info only)"
},
"scale_end_label": {
"type": "string",
"description": "Opinion scale end label (opinion_scale only)"
},
"scale_start_label": {
"type": "string",
"description": "Opinion scale start label (opinion_scale only)"
}
}
},
"description": "Array of questions"
},
"variables": {
"type": "array",
"items": {
"type": "object",
"required": [
"name"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string",
"description": "Variable name"
},
"type": {
"enum": [
"number",
"text"
],
"type": "string"
},
"default_value": {
"type": "number",
"description": "Default value"
}
}
},
"description": "Custom variables for scoring, calculations, and recall."
},
"hidden_fields": {
"type": "array",
"items": {
"type": "object",
"required": [
"name"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string",
"description": "Field name (used as URL param name)"
},
"source": {
"enum": [
"url_param",
"manual"
],
"type": "string"
},
"default_value": {
"type": "string"
}
}
},
"description": "Hidden fields for URL parameters or custom data, passed through the survey URL."
},
"ending_screens": {
"type": "array",
"items": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"buttons": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string"
},
"text": {
"type": "string"
},
"style": {
"enum": [
"primary",
"secondary"
],
"type": "string"
}
}
}
},
"button_url": {
"type": "string"
},
"is_default": {
"type": "boolean"
},
"button_text": {
"type": "string"
},
"description": {
"type": "string"
},
"score_range": {
"type": "object",
"properties": {
"max": {
"type": "number"
},
"min": {
"type": "number"
}
}
},
"overlay_color": {
"type": "string"
},
"overlay_opacity": {
"type": "number"
},
"background_image": {
"type": "string"
},
"background_video": {
"type": "string"
},
"background_alignment": {
"enum": [
"cover",
"left",
"right"
],
"type": "string"
},
"background_alignment_mobile": {
"enum": [
"cover",
"top",
"bottom"
],
"type": "string"
}
}
},
"description": "Optional ending screens list."
},
"welcome_screen": {
"type": [
"object",
"null"
],
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"button_text": {
"type": "string"
},
"description": {
"type": "string"
},
"overlay_color": {
"type": "string"
},
"estimated_time": {
"type": "string"
},
"overlay_opacity": {
"type": "number"
},
"background_image": {
"type": "string"
},
"background_video": {
"type": "string"
},
"show_estimated_time": {
"type": "boolean"
},
"background_alignment": {
"enum": [
"cover",
"left",
"right",
"inline"
],
"type": "string"
},
"show_submissions_count": {
"type": "boolean"
},
"background_alignment_mobile": {
"enum": [
"cover",
"top",
"bottom",
"inline"
],
"type": "string"
}
},
"description": "Optional welcome screen configuration."
}
}
}Register a webhook to receive notifications when survey events occur.
| Argument | Type | Description |
|---|---|---|
| url* | string | Webhook URL to receive POST requests |
| events | array | Events to subscribe to (default: response.completed) |
| secret | string | Secret for HMAC-SHA256 webhook signatures |
| survey_id | string | Specific survey ID or '*' for all surveys |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Webhook URL to receive POST requests"
},
"events": {
"type": "array",
"items": {
"enum": [
"response.completed",
"response.created",
"survey.opened",
"survey.closed"
],
"type": "string"
},
"description": "Events to subscribe to (default: response.completed)"
},
"secret": {
"type": "string",
"description": "Secret for HMAC-SHA256 webhook signatures"
},
"survey_id": {
"type": "string",
"description": "Specific survey ID or '*' for all surveys"
}
}
}Permanently delete a survey and all its responses.
| Argument | Type | Description |
|---|---|---|
| survey_id* | string | The survey ID to delete |
{
"type": "object",
"required": [
"survey_id"
],
"properties": {
"survey_id": {
"type": "string",
"description": "The survey ID to delete"
}
}
}Delete a registered webhook.
| Argument | Type | Description |
|---|---|---|
| webhook_id* | string | The webhook ID to delete |
{
"type": "object",
"required": [
"webhook_id"
],
"properties": {
"webhook_id": {
"type": "string",
"description": "The webhook ID to delete"
}
}
}Create a copy of an existing survey with all its questions, styles, logic, and screens. Returns the new survey details including share_url.
| Argument | Type | Description |
|---|---|---|
| title | string | Optional title for the copy (defaults to 'Original Title (Copy)') |
| survey_id* | string | The survey ID to duplicate |
{
"type": "object",
"required": [
"survey_id"
],
"properties": {
"title": {
"type": "string",
"description": "Optional title for the copy (defaults to 'Original Title (Copy)')"
},
"survey_id": {
"type": "string",
"description": "The survey ID to duplicate"
}
}
}Get analytics summary for a survey (views, responses, completion rate).
| Argument | Type | Description |
|---|---|---|
| survey_id* | string | The survey ID |
{
"type": "object",
"required": [
"survey_id"
],
"properties": {
"survey_id": {
"type": "string",
"description": "The survey ID"
}
}
}Get a single response by ID.
| Argument | Type | Description |
|---|---|---|
| survey_id* | string | The survey ID |
| response_id* | string | The response ID |
{
"type": "object",
"required": [
"survey_id",
"response_id"
],
"properties": {
"survey_id": {
"type": "string",
"description": "The survey ID"
},
"response_id": {
"type": "string",
"description": "The response ID"
}
}
}Get full details of a specific survey including all questions.
| Argument | Type | Description |
|---|---|---|
| survey_id* | string | The survey ID |
{
"type": "object",
"required": [
"survey_id"
],
"properties": {
"survey_id": {
"type": "string",
"description": "The survey ID"
}
}
}List images from the account's media library, including brandkits, uploaded media, logos, and theme backgrounds.
| Argument | Type | Description |
|---|---|---|
| limit | number | Max images to return (default 100, max 500). |
| search | string | Optional search term to filter images by name/URL. |
{
"type": "object",
"properties": {
"limit": {
"type": "number",
"description": "Max images to return (default 100, max 500)."
},
"search": {
"type": "string",
"description": "Optional search term to filter images by name/URL."
}
}
}List responses for a survey with pagination and filters. Returns response metadata and answers.
| Argument | Type | Description |
|---|---|---|
| page | number | Page number (default: 1) |
| since | string | ISO date - only responses after this date |
| until | string | ISO date - only responses before this date |
| status | string | Filter by response status (default: completed) |
| per_page | number | Results per page (default: 20, max: 50) |
| survey_id* | string | The survey ID |
{
"type": "object",
"required": [
"survey_id"
],
"properties": {
"page": {
"type": "number",
"description": "Page number (default: 1)"
},
"since": {
"type": "string",
"description": "ISO date - only responses after this date"
},
"until": {
"type": "string",
"description": "ISO date - only responses before this date"
},
"status": {
"enum": [
"completed",
"partial",
"all"
],
"type": "string",
"description": "Filter by response status (default: completed)"
},
"per_page": {
"type": "number",
"description": "Results per page (default: 20, max: 50)"
},
"survey_id": {
"type": "string",
"description": "The survey ID"
}
}
}List all surveys in your PollBolt account with pagination.
| Argument | Type | Description |
|---|---|---|
| page | number | Page number (default: 1) |
| status | string | Filter by status |
| per_page | number | Results per page (default: 20, max: 100) |
{
"type": "object",
"properties": {
"page": {
"type": "number",
"description": "Page number (default: 1)"
},
"status": {
"enum": [
"open",
"closed",
"all"
],
"type": "string",
"description": "Filter by status"
},
"per_page": {
"type": "number",
"description": "Results per page (default: 20, max: 100)"
}
}
}List all registered webhooks for your account.
| Argument | Type | Description |
|---|---|---|
| survey_id | string | Optional: filter by survey ID |
{
"type": "object",
"properties": {
"survey_id": {
"type": "string",
"description": "Optional: filter by survey ID"
}
}
}Submit a response to a survey programmatically. Answers is a map of question_id to answer value.
| Argument | Type | Description |
|---|---|---|
| answers* | object | Map of question_id -> answer value |
| user_id | string | Optional user identifier |
| survey_id* | string | The survey ID |
| completion_time | number | Completion time in milliseconds |
{
"type": "object",
"required": [
"survey_id",
"answers"
],
"properties": {
"answers": {
"type": "object",
"description": "Map of question_id -> answer value"
},
"user_id": {
"type": "string",
"description": "Optional user identifier"
},
"survey_id": {
"type": "string",
"description": "The survey ID"
},
"completion_time": {
"type": "number",
"description": "Completion time in milliseconds"
}
}
}Update a survey's title, questions, settings, styles, screens, or logic. Providing questions replaces all existing questions.
| Argument | Type | Description |
|---|---|---|
| title | string | New title |
| styles | object | Partial styling update. Only provided fields are changed. |
| settings | object | |
| questions | array | Replacement questions array (replaces all questions) |
| survey_id* | string | The survey ID |
| variables | array | Replace all variables. |
| hidden_fields | array | Replace all hidden fields. |
| ending_screens | array | Replace all ending screens. |
| welcome_screen | object | null | Replace welcome screen (set null to remove). |
Update a webhook's URL, events, active status, or secret.
| Argument | Type | Description |
|---|---|---|
| url | string | |
| events | array | |
| secret | string | |
| is_active | boolean | |
| webhook_id* | string | The webhook ID |
{
"type": "object",
"required": [
"webhook_id"
],
"properties": {
"url": {
"type": "string"
},
"events": {
"type": "array",
"items": {
"enum": [
"response.completed",
"response.created",
"survey.opened",
"survey.closed"
],
"type": "string"
}
},
"secret": {
"type": "string"
},
"is_active": {
"type": "boolean"
},
"webhook_id": {
"type": "string",
"description": "The webhook ID"
}
}
}{
"type": "object",
"required": [
"survey_id"
],
"properties": {
"title": {
"type": "string",
"description": "New title"
},
"styles": {
"type": "object",
"properties": {
"logo": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"size": {
"enum": [
"sm",
"md",
"lg"
],
"type": "string"
},
"alignment": {
"enum": [
"left",
"center",
"right"
],
"type": "string"
}
}
},
"title_size": {
"enum": [
"xl",
"2xl",
"4xl",
"6xl"
],
"type": "string"
},
"font_family": {
"type": "string"
},
"rtl_enabled": {
"type": "boolean"
},
"corner_radius": {
"enum": [
"none",
"medium",
"large"
],
"type": "string"
},
"question_size": {
"enum": [
"base",
"xl",
"2xl"
],
"type": "string"
},
"background_color": {
"type": "string"
},
"next_button_text": {
"type": "string"
},
"show_next_button": {
"type": "boolean"
},
"option_text_color": {
"type": "string"
},
"use_number_labels": {
"type": "boolean"
},
"submit_button_text": {
"type": "string"
},
"question_text_color": {
"type": "string"
},
"submit_button_color": {
"type": "string"
},
"submit_button_text_color": {
"type": "string"
}
},
"description": "Partial styling update. Only provided fields are changed."
},
"settings": {
"type": "object",
"properties": {
"is_open": {
"type": "boolean"
},
"is_published": {
"type": "boolean"
},
"allow_multiple_submissions": {
"type": "boolean"
}
}
},
"questions": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"text"
],
"properties": {
"text": {
"type": "string"
},
"type": {
"type": "string"
},
"logic": {
"type": "object",
"properties": {
"rules": {
"type": "array",
"items": {
"type": "object",
"required": [
"rule_type",
"result_type",
"result_name"
],
"properties": {
"rule_id": {
"type": "string"
},
"rule_type": {
"enum": [
"if",
"always"
],
"type": "string"
},
"target_id": {
"type": "string"
},
"result_name": {
"enum": [
"goto",
"add",
"devide",
"subtract",
"multiply"
],
"type": "string"
},
"result_type": {
"enum": [
"logic",
"calculation"
],
"type": "string"
},
"target_type": {
"enum": [
"question",
"ending"
],
"type": "string"
},
"result_value": {
"type": "number"
},
"target_variable": {
"type": "string"
},
"matching_conditions": {
"type": "array",
"items": {
"anyOf": [
{
"enum": [
"and",
"or"
],
"type": "string"
},
{
"type": "object"
}
]
}
}
}
}
},
"default_target": {
"type": "string"
},
"default_target_type": {
"enum": [
"question",
"ending"
],
"type": "string"
}
}
},
"options": {
"type": "array",
"items": {
"type": "string"
}
},
"required": {
"type": "boolean"
},
"scale_end": {
"type": "number"
},
"button_text": {
"type": "string"
},
"description": {
"type": "string"
},
"placeholder": {
"type": "string"
},
"scale_start": {
"type": "number"
},
"contact_fields": {
"type": "array",
"items": {
"type": "object",
"required": [
"label"
],
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"label": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"required": {
"type": "boolean"
},
"placeholder": {
"type": "string"
}
}
}
},
"scale_end_label": {
"type": "string"
},
"scale_start_label": {
"type": "string"
}
}
},
"description": "Replacement questions array (replaces all questions)"
},
"survey_id": {
"type": "string",
"description": "The survey ID"
},
"variables": {
"type": "array",
"items": {
"type": "object",
"required": [
"name"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"enum": [
"number",
"text"
],
"type": "string"
},
"default_value": {
"type": "number"
}
}
},
"description": "Replace all variables."
},
"hidden_fields": {
"type": "array",
"items": {
"type": "object",
"required": [
"name"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"source": {
"enum": [
"url_param",
"manual"
],
"type": "string"
},
"default_value": {
"type": "string"
}
}
},
"description": "Replace all hidden fields."
},
"ending_screens": {
"type": "array",
"items": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"buttons": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string"
},
"text": {
"type": "string"
},
"style": {
"enum": [
"primary",
"secondary"
],
"type": "string"
}
}
}
},
"button_url": {
"type": "string"
},
"is_default": {
"type": "boolean"
},
"button_text": {
"type": "string"
},
"description": {
"type": "string"
},
"score_range": {
"type": "object",
"properties": {
"max": {
"type": "number"
},
"min": {
"type": "number"
}
}
},
"overlay_color": {
"type": "string"
},
"overlay_opacity": {
"type": "number"
},
"background_image": {
"type": "string"
},
"background_video": {
"type": "string"
},
"background_alignment": {
"enum": [
"cover",
"left",
"right"
],
"type": "string"
},
"background_alignment_mobile": {
"enum": [
"cover",
"top",
"bottom"
],
"type": "string"
}
}
},
"description": "Replace all ending screens."
},
"welcome_screen": {
"type": [
"object",
"null"
],
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"button_text": {
"type": "string"
},
"description": {
"type": "string"
},
"overlay_color": {
"type": "string"
},
"estimated_time": {
"type": "string"
},
"overlay_opacity": {
"type": "number"
},
"background_image": {
"type": "string"
},
"background_video": {
"type": "string"
},
"show_estimated_time": {
"type": "boolean"
},
"background_alignment": {
"enum": [
"cover",
"left",
"right",
"inline"
],
"type": "string"
},
"show_submissions_count": {
"type": "boolean"
},
"background_alignment_mobile": {
"enum": [
"cover",
"top",
"bottom",
"inline"
],
"type": "string"
}
},
"description": "Replace welcome screen (set null to remove)."
}
}
}