pollbolt
AI-native survey & form builder. Manage surveys, responses, analytics, and webhooks.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (2)
- LOWin list_webhooks
- LOWin delete_webhook
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"pollbolt": {
"url": "https://api.pollbolt.com/mcp"
}
}
}Remote-Endpunkte
https://api.pollbolt.com/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (15)
🟡create_survey(title, questions, settings, hidden_fields, variables, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Survey title"
},
"questions": {
"type": "array",
"description": "Array of questions",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Question type (e.g. multiple_choice, short_text, opinion_scale)"
},
"text": {
"type": "string",
"description": "Question text"
},
"required": {
"type": "boolean",
"description": "Whether the question is required"
},
"options": {
"type": "array",
"items": {
"type": "string"
},
"description": "Options for multiple_choice, checkbox_list, poll_question"
},
"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)"
},
"scale_end": {
"type": "number",
"description": "Opinion scale end value (opinion_scale only)"
},
"scale_start_label": {
"type": "string",
"description": "Opinion scale start label (opinion_scale only)"
},
"scale_end_label": {
"type": "string",
"description": "Opinion scale end label (opinion_scale only)"
},
"contact_fields": {
"type": "array",
"description": "Contact info fields (contact_info only)",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
},
"placeholder": {
"type": "string"
},
"type": {
"type": "string"
},
"required": {
"type": "boolean"
},
"enabled": {
"type": "boolean"
}
},
"required": [
"label"
]
}
},
"button_text": {
"type": "string",
"description": "Continue button text for statement questions"
},
"logic": {
"type": "object",
"description": "Per-question branching logic (goto / calculation).",
"properties": {
"default_target": {
"type": "string",
"description": "Default target question/ending ID"
},
"default_target_type": {
"type": "string",
"enum": [
"question",
"ending"
]
},
"rules": {
"type": "array",
"items": {
"type": "object",
"properties": {
"rule_id": {
"type": "string"
},
"rule_type": {
"type": "string",
"enum": [
"if",
"always"
]
},
"matching_conditions": {
"type": "array",
"description": "Array of condition objects or 'and'/'or' strings",
"items": {
"anyOf": [
{
"type": "string",
"enum": [
"and",
"or"
]
},
{
"type": "object"
}
]
}
},
"result_type": {
"type": "string",
"enum": [
"logic",
"calculation"
]
},
"result_name": {
"type": "string",
"enum": [
"goto",
"add",
"devide",
"subtract",
"multiply"
]
},
"result_value": {
"type": "number"
},
"target_variable": {
"type": "string"
},
"target_type": {
"type": "string",
"enum": [
"question",
"ending"
]
},
"target_id": {
"type": "string"
}
},
"required": [
"rule_type",
"result_type",
"result_name"
]
}
}
}
}
},
"required": [
"type",
"text"
]
}
},
"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"
}
}
},
"hidden_fields": {
"type": "array",
"description": "Hidden fields for URL parameters or custom data, passed through the survey URL.",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string",
"description": "Field name (used as URL param name)"
},
"default_value": {
"type": "string"
},
"source": {
"type": "string",
"enum": [
"url_param",
"manual"
]
}
},
"required": [
"name"
]
}
},
"variables": {
"type": "array",
"description": "Custom variables for scoring, calculations, and recall.",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string",
"description": "Variable name"
},
"type": {
"type": "string",
"enum": [
"number",
"text"
]
},
"default_value": {
"type": "number",
"description": "Default value"
}
},
"required": [
"name"
]
}
},
"styles": {
"type": "object",
"description": "Optional styling configuration for branding and visual design.",
"properties": {
"font_family": {
"type": "string"
},
"title_size": {
"type": "string",
"enum": [
"xl",
"2xl",
"4xl",
"6xl"
]
},
"question_size": {
"type": "string",
"enum": [
"base",
"xl",
"2xl"
]
},
"submit_button_color": {
"type": "string",
"description": "Hex color, e.g. #4F46E5"
},
"submit_button_text_color": {
"type": "string",
"description": "Hex color, e.g. #FFFFFF"
},
"next_button_text": {
"type": "string"
},
"submit_button_text": {
"type": "string"
},
"background_color": {
"type": "string",
"description": "Hex color, e.g. #FFFFFF"
},
"question_text_color": {
"type": "string",
"description": "Hex color"
},
"option_text_color": {
"type": "string",
"description": "Hex color"
},
"corner_radius": {
"type": "string",
"enum": [
"none",
"medium",
"large"
]
},
"rtl_enabled": {
"type": "boolean"
},
"use_number_labels": {
"type": "boolean"
},
"show_next_button": {
"type": "boolean"
},
"logo": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"size": {
"type": "string",
"enum": [
"sm",
"md",
"lg"
]
},
"alignment": {
"type": "string",
"enum": [
"left",
"center",
"right"
]
}
}
}
}
},
"welcome_screen": {
"type": [
"object",
"null"
],
"description": "Optional welcome screen configuration.",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"button_text": {
"type": "string"
},
"estimated_time": {
"type": "string"
},
"show_estimated_time": {
"type": "boolean"
},
"show_submissions_count": {
"type": "boolean"
},
"background_image": {
"type": "string"
},
"background_video": {
"type": "string"
},
"background_alignment": {
"type": "string",
"enum": [
"cover",
"left",
"right",
"inline"
]
},
"background_alignment_mobile": {
"type": "string",
"enum": [
"cover",
"top",
"bottom",
"inline"
]
},
"overlay_color": {
"type": "string"
},
"overlay_opacity": {
"type": "number"
}
}
},
"ending_screens": {
"type": "array",
"description": "Optional ending screens list.",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"button_text": {
"type": "string"
},
"button_url": {
"type": "string"
},
"buttons": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"text": {
"type": "string"
},
"url": {
"type": "string"
},
"style": {
"type": "string",
"enum": [
"primary",
"secondary"
]
}
}
}
},
"is_default": {
"type": "boolean"
},
"score_range": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
}
},
"background_image": {
"type": "string"
},
"background_video": {
"type": "string"
},
"background_alignment": {
"type": "string",
"enum": [
"cover",
"left",
"right"
]
},
"background_alignment_mobile": {
"type": "string",
"enum": [
"cover",
"top",
"bottom"
]
},
"overlay_color": {
"type": "string"
},
"overlay_opacity": {
"type": "number"
}
},
"required": [
"id"
]
}
}
},
"required": [
"title",
"questions"
]
}🟢list_surveys(page, per_page, status)
List all surveys in your PollBolt account with pagination.
Eingabe-Schema
{
"type": "object",
"properties": {
"page": {
"type": "number",
"description": "Page number (default: 1)"
},
"per_page": {
"type": "number",
"description": "Results per page (default: 20, max: 100)"
},
"status": {
"type": "string",
"enum": [
"open",
"closed",
"all"
],
"description": "Filter by status"
}
}
}🟢get_survey(survey_id)
Get full details of a specific survey including all questions.
Eingabe-Schema
{
"type": "object",
"properties": {
"survey_id": {
"type": "string",
"description": "The survey ID"
}
},
"required": [
"survey_id"
]
}🔴update_survey(survey_id, title, questions, settings, hidden_fields, ...)
Update a survey's title, questions, settings, styles, screens, or logic. Providing questions replaces all existing questions.
Eingabe-Schema
{
"type": "object",
"properties": {
"survey_id": {
"type": "string",
"description": "The survey ID"
},
"title": {
"type": "string",
"description": "New title"
},
"questions": {
"type": "array",
"description": "Replacement questions array (replaces all questions)",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"text": {
"type": "string"
},
"required": {
"type": "boolean"
},
"options": {
"type": "array",
"items": {
"type": "string"
}
},
"description": {
"type": "string"
},
"placeholder": {
"type": "string"
},
"scale_start": {
"type": "number"
},
"scale_end": {
"type": "number"
},
"scale_start_label": {
"type": "string"
},
"scale_end_label": {
"type": "string"
},
"contact_fields": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
},
"placeholder": {
"type": "string"
},
"type": {
"type": "string"
},
"required": {
"type": "boolean"
},
"enabled": {
"type": "boolean"
}
},
"required": [
"label"
]
}
},
"button_text": {
"type": "string"
},
"logic": {
"type": "object",
"properties": {
"default_target": {
"type": "string"
},
"default_target_type": {
"type": "string",
"enum": [
"question",
"ending"
]
},
"rules": {
"type": "array",
"items": {
"type": "object",
"properties": {
"rule_id": {
"type": "string"
},
"rule_type": {
"type": "string",
"enum": [
"if",
"always"
]
},
"matching_conditions": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"enum": [
"and",
"or"
]
},
{
"type": "object"
}
]
}
},
"result_type": {
"type": "string",
"enum": [
"logic",
"calculation"
]
},
"result_name": {
"type": "string",
"enum": [
"goto",
"add",
"devide",
"subtract",
"multiply"
]
},
"result_value": {
"type": "number"
},
"target_variable": {
"type": "string"
},
"target_type": {
"type": "string",
"enum": [
"question",
"ending"
]
},
"target_id": {
"type": "string"
}
},
"required": [
"rule_type",
"result_type",
"result_name"
]
}
}
}
}
},
"required": [
"type",
"text"
]
}
},
"settings": {
"type": "object",
"properties": {
"is_open": {
"type": "boolean"
},
"is_published": {
"type": "boolean"
},
"allow_multiple_submissions": {
"type": "boolean"
}
}
},
"hidden_fields": {
"type": "array",
"description": "Replace all hidden fields.",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"default_value": {
"type": "string"
},
"source": {
"type": "string",
"enum": [
"url_param",
"manual"
]
}
},
"required": [
"name"
]
}
},
"variables": {
"type": "array",
"description": "Replace all variables.",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"number",
"text"
]
},
"default_value": {
"type": "number"
}
},
"required": [
"name"
]
}
},
"styles": {
"type": "object",
"description": "Partial styling update. Only provided fields are changed.",
"properties": {
"font_family": {
"type": "string"
},
"title_size": {
"type": "string",
"enum": [
"xl",
"2xl",
"4xl",
"6xl"
]
},
"question_size": {
"type": "string",
"enum": [
"base",
"xl",
"2xl"
]
},
"submit_button_color": {
"type": "string"
},
"submit_button_text_color": {
"type": "string"
},
"next_button_text": {
"type": "string"
},
"submit_button_text": {
"type": "string"
},
"background_color": {
"type": "string"
},
"question_text_color": {
"type": "string"
},
"option_text_color": {
"type": "string"
},
"corner_radius": {
"type": "string",
"enum": [
"none",
"medium",
"large"
]
},
"rtl_enabled": {
"type": "boolean"
},
"use_number_labels": {
"type": "boolean"
},
"show_next_button": {
"type": "boolean"
},
"logo": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"size": {
"type": "string",
"enum": [
"sm",
"md",
"lg"
]
},
"alignment": {
"type": "string",
"enum": [
"left",
"center",
"right"
]
}
}
}
}
},
"welcome_screen": {
"type": [
"object",
"null"
],
"description": "Replace welcome screen (set null to remove).",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"button_text": {
"type": "string"
},
"estimated_time": {
"type": "string"
},
"show_estimated_time": {
"type": "boolean"
},
"show_submissions_count": {
"type": "boolean"
},
"background_image": {
"type": "string"
},
"background_video": {
"type": "string"
},
"background_alignment": {
"type": "string",
"enum": [
"cover",
"left",
"right",
"inline"
]
},
"background_alignment_mobile": {
"type": "string",
"enum": [
"cover",
"top",
"bottom",
"inline"
]
},
"overlay_color": {
"type": "string"
},
"overlay_opacity": {
"type": "number"
}
}
},
"ending_screens": {
"type": "array",
"description": "Replace all ending screens.",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"button_text": {
"type": "string"
},
"button_url": {
"type": "string"
},
"buttons": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"text": {
"type": "string"
},
"url": {
"type": "string"
},
"style": {
"type": "string",
"enum": [
"primary",
"secondary"
]
}
}
}
},
"is_default": {
"type": "boolean"
},
"score_range": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
}
},
"background_image": {
"type": "string"
},
"background_video": {
"type": "string"
},
"background_alignment": {
"type": "string",
"enum": [
"cover",
"left",
"right"
]
},
"background_alignment_mobile": {
"type": "string",
"enum": [
"cover",
"top",
"bottom"
]
},
"overlay_color": {
"type": "string"
},
"overlay_opacity": {
"type": "number"
}
},
"required": [
"id"
]
}
}
},
"required": [
"survey_id"
]
}🔴delete_survey(survey_id)
Permanently delete a survey and all its responses.
Eingabe-Schema
{
"type": "object",
"properties": {
"survey_id": {
"type": "string",
"description": "The survey ID to delete"
}
},
"required": [
"survey_id"
]
}🟢list_responses(survey_id, page, per_page, status, since, ...)
List responses for a survey with pagination and filters. Returns response metadata and answers.
Eingabe-Schema
{
"type": "object",
"properties": {
"survey_id": {
"type": "string",
"description": "The survey ID"
},
"page": {
"type": "number",
"description": "Page number (default: 1)"
},
"per_page": {
"type": "number",
"description": "Results per page (default: 20, max: 50)"
},
"status": {
"type": "string",
"enum": [
"completed",
"partial",
"all"
],
"description": "Filter by response status (default: completed)"
},
"since": {
"type": "string",
"description": "ISO date - only responses after this date"
},
"until": {
"type": "string",
"description": "ISO date - only responses before this date"
}
},
"required": [
"survey_id"
]
}🟢get_response(survey_id, response_id)
Get a single response by ID.
Eingabe-Schema
{
"type": "object",
"properties": {
"survey_id": {
"type": "string",
"description": "The survey ID"
},
"response_id": {
"type": "string",
"description": "The response ID"
}
},
"required": [
"survey_id",
"response_id"
]
}🟡submit_response(survey_id, answers, user_id, completion_time)
Submit a response to a survey programmatically. Answers is a map of question_id to answer value.
Eingabe-Schema
{
"type": "object",
"properties": {
"survey_id": {
"type": "string",
"description": "The survey ID"
},
"answers": {
"type": "object",
"description": "Map of question_id -> answer value"
},
"user_id": {
"type": "string",
"description": "Optional user identifier"
},
"completion_time": {
"type": "number",
"description": "Completion time in milliseconds"
}
},
"required": [
"survey_id",
"answers"
]
}🟢get_analytics(survey_id)
Get analytics summary for a survey (views, responses, completion rate).
Eingabe-Schema
{
"type": "object",
"properties": {
"survey_id": {
"type": "string",
"description": "The survey ID"
}
},
"required": [
"survey_id"
]
}🟢list_media_library_images(search, limit)
List images from the account's media library, including brandkits, uploaded media, logos, and theme backgrounds.
Eingabe-Schema
{
"type": "object",
"properties": {
"search": {
"type": "string",
"description": "Optional search term to filter images by name/URL."
},
"limit": {
"type": "number",
"description": "Max images to return (default 100, max 500)."
}
}
}🟡duplicate_survey(survey_id, title)
Create a copy of an existing survey with all its questions, styles, logic, and screens. Returns the new survey details including share_url.
Eingabe-Schema
{
"type": "object",
"properties": {
"survey_id": {
"type": "string",
"description": "The survey ID to duplicate"
},
"title": {
"type": "string",
"description": "Optional title for the copy (defaults to 'Original Title (Copy)')"
}
},
"required": [
"survey_id"
]
}🟡create_webhook(url, events, survey_id, secret)
Register a webhook to receive notifications when survey events occur.
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Webhook URL to receive POST requests"
},
"events": {
"type": "array",
"items": {
"type": "string",
"enum": [
"response.completed",
"response.created",
"survey.opened",
"survey.closed"
]
},
"description": "Events to subscribe to (default: response.completed)"
},
"survey_id": {
"type": "string",
"description": "Specific survey ID or '*' for all surveys"
},
"secret": {
"type": "string",
"description": "Secret for HMAC-SHA256 webhook signatures"
}
},
"required": [
"url"
]
}🟢list_webhooks(survey_id)
List all registered webhooks for your account.
Eingabe-Schema
{
"type": "object",
"properties": {
"survey_id": {
"type": "string",
"description": "Optional: filter by survey ID"
}
}
}🟡update_webhook(webhook_id, url, events, is_active, secret)
Update a webhook's URL, events, active status, or secret.
Eingabe-Schema
{
"type": "object",
"properties": {
"webhook_id": {
"type": "string",
"description": "The webhook ID"
},
"url": {
"type": "string"
},
"events": {
"type": "array",
"items": {
"type": "string",
"enum": [
"response.completed",
"response.created",
"survey.opened",
"survey.closed"
]
}
},
"is_active": {
"type": "boolean"
},
"secret": {
"type": "string"
}
},
"required": [
"webhook_id"
]
}🔴delete_webhook(webhook_id)
Delete a registered webhook.
Eingabe-Schema
{
"type": "object",
"properties": {
"webhook_id": {
"type": "string",
"description": "The webhook ID to delete"
}
},
"required": [
"webhook_id"
]
}Community
Nachweis