FeedLetter MCP by usefulapi

List surveys, votes and feedback; create surveys and read Wall of Love items in FeedLetter.

¿Debería usar esto?

Calidad y seguridad

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

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

Costo de contexto

~2,107Tokens (definiciones de herramientas)
~5.1 KBTamaño de respuesta típico
Impacto moderado en la atención (1.65% 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": {
    "feedletter": {
      "url": "https://feedletter.usefulapi.io/mcp"
    }
  }
}

Puntos de conexión remotos

https://feedletter.usefulapi.io/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (4)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢feedletter_list_surveys(q, page)

List or search your FeedLetter surveys (newsletter surveys, one-time polls and web rating widgets), newest first, 50 per page. q matches the name, id or external_id. Each item has id, type, name, external_id, public_title and created_at. While has_more is true, call again with page + 1. Read-only. FeedLetter API: GET /v2/surveys.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "q": {
      "description": "Search text: matches name, id or external_id. Omit to list all surveys.",
      "type": "string",
      "maxLength": 255
    },
    "page": {
      "description": "Page number, from 1. Each page holds 50 surveys.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢feedletter_get_survey(survey_id, results_only)

Get one survey by its FeedLetter survey id: settings, placement code (links or embed_html), analytics (votes, daily votes, sentiment) and all feedback. Set results_only to true for just the identity, analytics and feedback. Use the survey id, not the external_id. Read-only. FeedLetter API: GET /v2/surveys/{id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "survey_id": {
      "type": "string",
      "minLength": 1,
      "description": "The survey id returned by feedletter_list_surveys or feedletter_create_survey."
    },
    "results_only": {
      "description": "true returns only identity, analytics and feedback (no settings or placement code).",
      "type": "boolean"
    }
  },
  "required": [
    "survey_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢feedletter_get_wall_of_love(wall_id)

Get the feedback that one Wall of Love shows, to build your own wall. Each item has id, comment, name (when shown), answer_label, created_at and survey_title. Comment and name are HTML-escaped. Business plan only: other plans get 403 plan_required. Read-only. FeedLetter API: GET /v2/walls-of-love/{id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "wall_id": {
      "type": "string",
      "minLength": 1,
      "description": "The Wall of Love id, from its /walloflove/{id} address or embed code."
    }
  },
  "required": [
    "wall_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴feedletter_create_survey(type, name, public_title, external_id, text_template, ...)

Create a newsletter survey, a one-time poll or a web rating widget. Needs a Read & write key. Only type and name are required. Newsletter and poll responses return links (one voting link per answer) and email_html; web ratings return embed_html. Set external_id to your own stable id: a second call with the same external_id returns the existing survey (HTTP 200, already_exists) and changes nothing. Without external_id, each call creates a new survey. Do not combine copy_from with text_template. FeedLetter API: POST /v2/surveys.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "newsletter",
        "poll",
        "web_rating"
      ],
      "description": "Survey type."
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255,
      "description": "Internal name (not shown to respondents)."
    },
    "public_title": {
      "description": "Title on public pages such as the Wall of Love. Defaults to name.",
      "anyOf": [
        {
          "type": "string",
          "maxLength": 1000
        },
        {
          "type": "null"
        }
      ]
    },
    "external_id": {
      "description": "Your stable id for this survey, unique across the account. Reuse it when retrying the same creation.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 255
        },
        {
          "type": "null"
        }
      ]
    },
    "text_template": {
      "description": "Texts style. newsletter_defaults is for newsletters only.",
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "friendly",
            "casual",
            "business",
            "newsletter_defaults"
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "copy_from": {
      "description": "Survey id of a survey of the same type to copy answers and settings from.",
      "anyOf": [
        {
          "type": "string",
          "maxLength": 255
        },
        {
          "type": "null"
        }
      ]
    },
    "satisfaction_survey": {
      "description": "Poll only: enable sentiment and email statistics.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "voting": {
      "description": "Voting block for newsletter and poll surveys. Omit to keep the base answers.",
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "question": {
              "description": "Question shown above the answers (newsletter and poll).",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 1000
                },
                {
                  "type": "null"
                }
              ]
            },
            "introduction": {
              "description": "Text shown above the answer links.",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 1000
                },
                {
                  "type": "null"
                }
              ]
            },
            "answers": {
              "description": "Newsletter: exactly 3, ordered positive, neutral, negative. Poll: 1 to 5 answers (4 and 5 need Pro).",
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 1000
              }
            }
          },
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "rating": {
      "description": "Rating block for web_rating surveys only.",
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "question": {
              "description": "Question shown on the web rating widget.",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 1000
                },
                {
                  "type": "null"
                }
              ]
            },
            "rating_type": {
              "description": "Answer style for a web rating. Default thumbs.",
              "type": "string",
              "enum": [
                "thumbs",
                "five_stars",
                "five_emojis"
              ]
            }
          },
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "extended_feedback_page": {
      "description": "Extended feedback page after voting.",
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "message_after_voting": {
              "description": "Message shown after a vote (Pro).",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 1000
                },
                {
                  "type": "null"
                }
              ]
            },
            "headlines_after_voting": {
              "description": "One headline per answer, in answer order. Must match the answer count when answers are set.",
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 1000
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "comment_prompts": {
              "description": "Web rating only: exactly 3 prompts for thumbs, 5 for stars or emojis, best to worst.",
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 1000
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "comment_field_label": {
              "description": "Comment field label (Pro).",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 1000
                },
                {
                  "type": "null"
                }
              ]
            },
            "comment_box_hint": {
              "description": "Comment box placeholder (Pro).",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 1000
                },
                {
                  "type": "null"
                }
              ]
            },
            "name_placeholder": {
              "description": "Name placeholder. Empty hides the name field.",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 1000
                },
                {
                  "type": "null"
                }
              ]
            },
            "email_placeholder": {
              "description": "Email placeholder. Empty hides the email field.",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 1000
                },
                {
                  "type": "null"
                }
              ]
            },
            "button_text": {
              "description": "Submit button text.",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 1000
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "thank_you_page": {
      "description": "Thank-you page shown after a vote.",
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "headline": {
              "description": "Main thank-you text.",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 1000
                },
                {
                  "type": "null"
                }
              ]
            },
            "subheadline": {
              "description": "Supporting text.",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 1000
                },
                {
                  "type": "null"
                }
              ]
            },
            "show_result": {
              "description": "Show the voting results after a vote (links surveys).",
              "type": [
                "boolean",
                "null"
              ]
            },
            "cta_text": {
              "description": "Call-to-action caption (Pro).",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 1000
                },
                {
                  "type": "null"
                }
              ]
            },
            "cta_url": {
              "description": "Call-to-action link. Empty clears it.",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 2000
                },
                {
                  "type": "null"
                }
              ]
            },
            "x_username": {
              "description": "X username for the share button.",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 1000
                },
                {
                  "type": "null"
                }
              ]
            },
            "x_share_button_text": {
              "description": "X share button caption.",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 1000
                },
                {
                  "type": "null"
                }
              ]
            },
            "redirect_url": {
              "description": "Redirect after voting (Pro). Empty means no redirect.",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 2000
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "advanced": {
      "description": "Advanced settings. Each field inherits its base value when omitted.",
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "enable_extended_feedback_page": {
              "description": "Show the extended feedback page after voting (Pro).",
              "type": [
                "boolean",
                "null"
              ]
            },
            "prefill_email": {
              "description": "Prefill the email from the voting link's e parameter (Pro).",
              "type": [
                "boolean",
                "null"
              ]
            },
            "allow_empty_feedback": {
              "description": "Allow feedback without a comment (Pro).",
              "type": [
                "boolean",
                "null"
              ]
            },
            "require_email": {
              "description": "Require an email on a web rating (Pro).",
              "type": [
                "boolean",
                "null"
              ]
            },
            "show_widget_after_seconds": {
              "description": "Web rating: delay before the widget shows, in seconds (Pro).",
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 3600
                },
                {
                  "type": "null"
                }
              ]
            },
            "enable_review_schema": {
              "description": "Web rating: enable review structured data (Pro).",
              "type": [
                "boolean",
                "null"
              ]
            },
            "show_branding": {
              "description": "Show FeedLetter branding (Pro).",
              "type": [
                "boolean",
                "null"
              ]
            },
            "email_on_new_feedback": {
              "description": "Email address that receives a notice for each new feedback (Pro). Empty disables it.",
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 255
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "type",
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada4 herramientas