pollbolt

AI-native survey & form builder. Manage surveys, responses, analytics, and webhooks.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
97%
Integridad del esquema
97%
Calidad de los nombres
99%
Riesgo de envenenamiento
100%
Coincidencia de permisos
80%
Cumplimiento del protocolo
100%

Hallazgos (2)

  • LOWTool 'list_webhooks' suggests web access but openWorldHint=falseen list_webhooks
  • LOWTool 'delete_webhook' suggests web access but openWorldHint=falseen delete_webhook

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~3,961Tokens (definiciones de herramientas)
~2.8 KBTamaño de respuesta típico
Impacto significativo en la atención (3.09% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "pollbolt": {
      "url": "https://api.pollbolt.com/mcp"
    }
  }
}

Puntos de conexión remotos

https://api.pollbolt.com/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (15)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟡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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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).

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "webhook_id": {
      "type": "string",
      "description": "The webhook ID to delete"
    }
  },
  "required": [
    "webhook_id"
  ]
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada15 herramientas
verificadoversión no registrada15 herramientas
verificadoversión no registrada15 herramientas