Referencia · Servidor MCP

Las 26 herramientas del servidor MCP de anota

Esto es exactamente lo que Claude y Claude Code pueden hacer en tu cuenta de anota: cada herramienta, qué necesita y un ejemplo de cómo pedírselo.

Endpoint
https://anota.cloud/mcp
Autenticación
Authorization: Bearer anota_sk_… Tu llave de API de anota.

Formularios

Crear, revisar, editar, publicar y mandar a la papelera. Los cambios se hacen en el borrador hasta que publicas.

list_forms

Solo lectura

Lista los formularios de tu espacio de trabajo (borradores y publicados, sin los archivados) con su estado, número de respuestas y enlace público.

EntradasNinguna

Pídeselo así ¿Qué formularios tengo y cuántas respuestas lleva cada uno?

Detalles técnicos

Descripción que recibe el modelo (en inglés):

Lists all forms in the workspace (drafts and published; archived forms are excluded), most recently updated first. Each row includes the form id to use with the other tools, its status, submission count, and the public fill-out URL.

readOnlyHint: true

get_form

Solo lectura

Muestra la estructura completa del borrador de un formulario: páginas, campos, opciones y reglas de lógica.

Entradas
  • formId

Pídeselo así Muéstrame los campos del formulario de inscripción.

Detalles técnicos

Descripción que recibe el modelo (en inglés):

Gets a form's full structure from its current draft: title, status, PDF template, every page with its fields (id, type, label, required flag, and the option values/labels of choice fields), and every conditional logic rule (id, conditions, actions) currently on the form, plus its email notifications (id, type, enabled flag, recipients) and a note saying who is emailed when a submission arrives.

readOnlyHint: true

formId string · obligatorio
Form id (GUID).

create_form

Modifica datos

Crea un formulario nuevo como borrador privado, con su título y sus campos en una sola página.

Entradas
  • title
  • fields
  • descriptionopcional
  • languageopcional

Pídeselo así Crea un formulario de contacto con nombre, correo y mensaje.

Detalles técnicos

Descripción que recibe el modelo (en inglés):

Creates a new draft form with the given title and fields on a single page. Choice fields (dropdown, radio, checkbox) need 'options'; matrix fields take 'rows' and 'columns'. The form starts as a private draft — the owner can refine it at the returned builder URL, and publishing it makes it publicly fillable.

readOnlyHint: false · destructiveHint: false

title string · obligatorio
Form title shown to respondents, e.g. "Solicitud de empleo".
fields array · obligatorio
Fields to add, in display order.
description string · opcional
Optional intro text shown at the top of the form, under the title.
language string · opcional
The language the title and field texts are written in: "es" (Spanish, the default), "en" (English) or "pt" (Portuguese). It becomes the form's base language, which respondents, emails and PDFs fall back to.

add_fields

Modifica datos

Agrega campos al final del borrador. Funciona también en formularios publicados; los cambios salen en vivo al volver a publicar.

Entradas
  • formId
  • fields

Pídeselo así Agrega un campo de teléfono opcional al formulario de contacto.

Detalles técnicos

Descripción que recibe el modelo (en inglés):

Appends fields to the end of a form's draft (its last page). Uses the same field format as form creation. Changes affect the draft only and go live when the form is published.

readOnlyHint: false · destructiveHint: false

formId string · obligatorio
Form id (GUID).
fields array · obligatorio
Fields to append, in display order.

edit_field

Destructivo

Reemplaza la definición de un campo y conserva su id y su posición. Solo en formularios que nunca se han publicado: al publicar, los campos quedan bloqueados.

Entradas
  • formId
  • fieldId
  • field

Pídeselo así Cambia el campo «Talla» a una lista desplegable con S, M y L.

Detalles técnicos

Descripción que recibe el modelo (en inglés):

Replaces an existing field's definition (type, label, required, options, etc.) in a form's draft, keeping its id and position. Only allowed while the form has never been published — once a form is published its existing fields are locked, since respondents may already have submitted answers shaped by them; appending new fields still works on a published form's draft. Uses the same field format as form creation.

readOnlyHint: false · destructiveHint: true

formId string · obligatorio
Form id (GUID).
fieldId string · obligatorio
Id of the field to replace (e.g. "f_a1b2c3").
field object · obligatorio
The field's new definition, replacing the old one entirely.

delete_field

Destructivo

Quita un campo del borrador y lo retira de las reglas de lógica que lo usaban. Solo en formularios que nunca se han publicado.

Entradas
  • formId
  • fieldId

Pídeselo así Quita el campo «Empresa» del formulario de registro.

Detalles técnicos

Descripción que recibe el modelo (en inglés):

Removes a field from a form's draft. Only allowed while the form has never been published — once a form is published its existing fields are locked, since respondents may already have submitted answers for them. If any logic rule referenced this field, that reference is stripped from the rule (and the rule itself removed if nothing is left of it) rather than blocking the delete.

readOnlyHint: false · destructiveHint: true

formId string · obligatorio
Form id (GUID).
fieldId string · obligatorio
Id of the field to delete (e.g. "f_a1b2c3").

rename_form

Modifica datos

Cambia el título de un formulario. Las respuestas no cambian; el enlace público sigue al nuevo título solo mientras el formulario nunca se ha publicado.

Entradas
  • formId
  • newTitle

Pídeselo así Cambia el nombre de la encuesta a «Encuesta de satisfacción 2026».

Detalles técnicos

Descripción que recibe el modelo (en inglés):

Renames a form. Existing submissions are never affected. The public URL (slug) follows the new title while the form has never been published; once it has been published the URL stays the same, since people may already have the link.

readOnlyHint: false · destructiveHint: false · idempotentHint: true

formId string · obligatorio
Form id (GUID).
newTitle string · obligatorio
The new form title.

clone_form

Modifica datos

Duplica un formulario como borrador nuevo con otro enlace público, sin copiar respuestas. Es la forma de cambiar los campos bloqueados de un formulario publicado.

Entradas
  • formId

Pídeselo así Duplica el formulario de pedidos para poder cambiar sus campos.

Detalles técnicos

Descripción que recibe el modelo (en inglés):

Duplicates a form: the clone is a new Draft with a fresh public URL, copying the source's current draft (pages, fields, logic rules, PDF template). Versions and submissions are not copied. Because the clone has never been published, all of its fields are editable — cloning is the way to "edit" the locked fields of a published form without touching its existing submissions.

readOnlyHint: false · destructiveHint: false

formId string · obligatorio
Form id (GUID).

publish_form

Modifica datos

Publica el borrador para que se pueda llenar en su enlace público. Si ya estaba publicado, sube los cambios como versión nueva y conserva las respuestas.

Entradas
  • formId

Pídeselo así Publica el formulario de inscripción y pásame el enlace.

Detalles técnicos

Descripción que recibe el modelo (en inglés):

Publishes the form's current draft so it can be filled out at its public URL. Publishing an already-published form pushes the latest draft changes live as a new version; existing submissions are kept. Unless the form has an enabled email notification, each submission is emailed to the workspace owner.

readOnlyHint: false · destructiveHint: false

formId string · obligatorio
Form id (GUID).

set_pdf_template

Modifica datos

Elige el diseño PDF con el que se exportan las respuestas del formulario. Con una clave desconocida responde con la lista de claves válidas.

Entradas
  • formId
  • key

Pídeselo así Usa la plantilla PDF «classic» para el formulario de pedidos.

Detalles técnicos

Descripción que recibe el modelo (en inglés):

Sets the PDF layout used when this form's submissions are exported as PDF documents. Pass one of the catalog keys; an unknown key returns the list of valid ones.

readOnlyHint: false · destructiveHint: false · idempotentHint: true

formId string · obligatorio
Form id (GUID).
key string · obligatorio
PDF template key, e.g. "classic".

delete_form

Destructivo

Manda un formulario a la Papelera: deja de aceptar respuestas, pero las respuestas se conservan y puedes restaurarlo desde la aplicación.

Entradas
  • formId

Pídeselo así Manda a la papelera el formulario de prueba.

Detalles técnicos

Descripción que recibe el modelo (en inglés):

Moves a form to the Trash. The form disappears from lists and its public URL stops accepting responses, but nothing is destroyed: submissions are kept and the owner can restore the form from the Trash in the app. It no longer counts against the workspace's plan form limit while trashed.

readOnlyHint: false · destructiveHint: true

formId string · obligatorio
Form id (GUID).

Plantillas

Parte de una plantilla de la galería de anota en lugar de empezar desde cero.

list_templates

Solo lectura

Lista las plantillas públicas en español, inglés o portugués, agrupadas por categoría.

Entradas
  • languageopcional

Pídeselo así ¿Qué plantillas de eventos tienes en inglés?

Detalles técnicos

Descripción que recibe el modelo (en inglés):

Lists the ready-made public form templates available in a language ('es' Spanish — the default, 'en' English, 'pt' Portuguese), grouped by category. Each returned id identifies a template that can be copied into the workspace.

readOnlyHint: true

language string · opcional
Template language: 'es' (default), 'en', or 'pt'.

create_form_from_template

Modifica datos

Crea un borrador en tu espacio de trabajo copiando la estructura completa de una plantilla.

Entradas
  • templateId

Pídeselo así Crea un formulario a partir de la plantilla de solicitud de empleo.

Detalles técnicos

Descripción que recibe el modelo (en inglés):

Creates a new draft form in the workspace by copying a template's full structure. The draft can then be adjusted and published like any other form.

readOnlyHint: false · destructiveHint: false

templateId string · obligatorio
Template id (GUID).

Lógica condicional

Reglas que reaccionan a las respuestas. Se guardan en el borrador; publica para que salgan en vivo.

add_logic_rules

Modifica datos

Agrega reglas condicionales: mostrar u ocultar campos, volverlos obligatorios, saltar a una página, calcular valores, enviar una copia por correo, mostrar un agradecimiento o redirigir.

Entradas
  • formId
  • rules

Pídeselo así Si responden «Sí» a «¿Tienes auto?», muestra el campo «Placa».

Detalles técnicos

Descripción que recibe el modelo (en inglés):

Adds conditional logic rules to a form's draft: when a rule's conditions match the respondent's answers, its actions run (show/hide a field, require/unrequire it, enable/disable it, copy another field's value into it, skip to a page, calculate a numeric field from a formula, route a copy of the submission email to an address, show a conditional thank-you message, or redirect to a URL after submit). Rules run in the order given here, after any rules the form already has; a later rule can override an earlier one's show/hide/require/enable/skipToPage/calculate result for the same target. setThankYou/redirectTo are the exception: the FIRST matching rule wins, later matches are ignored. A rule can be added disabled (kept on the form but never evaluated) via 'disabled'. Works on a published form's draft too; new rules go live when the form is published again.

readOnlyHint: false · destructiveHint: false

formId string · obligatorio
Form id (GUID).
rules array · obligatorio
Rules to add, in the order they should run.

edit_logic_rule

Destructivo

Reemplaza las condiciones, las acciones y el estado activo/inactivo de una regla, conservando su id y su orden.

Entradas
  • formId
  • ruleId
  • rule

Pídeselo así Desactiva la regla que muestra el campo «Placa».

Detalles técnicos

Descripción que recibe el modelo (en inglés):

Replaces an existing logic rule's conditions, actions, and disabled flag, keeping its id and position among the form's rules. Uses the same rule format as adding logic rules.

readOnlyHint: false · destructiveHint: true

formId string · obligatorio
Form id (GUID).
ruleId string · obligatorio
Id of the rule to replace (e.g. "lr_a1b2c3").
rule object · obligatorio
The rule's new definition, replacing the old one entirely.

delete_logic_rule

Destructivo

Elimina una regla de lógica del borrador del formulario.

Entradas
  • formId
  • ruleId

Pídeselo así Borra la regla que redirige al terminar el formulario.

Detalles técnicos

Descripción que recibe el modelo (en inglés):

Removes a logic rule from a form's draft.

readOnlyHint: false · destructiveHint: true

formId string · obligatorio
Form id (GUID).
ruleId string · obligatorio
Id of the rule to delete (e.g. "lr_a1b2c3").

Respuestas

Leer, contar, crear y ordenar las respuestas de tus formularios.

list_submissions

Solo lectura

Lista las respuestas de un formulario, de la más nueva a la más antigua, con paginación y filtros por estado y por pago.

Entradas
  • formId
  • pageopcional
  • pageSizeopcional
  • statusopcional
  • paymentopcional

Pídeselo así Muéstrame las respuestas destacadas del formulario de contacto.

Detalles técnicos

Descripción que recibe el modelo (en inglés):

Lists a form's submissions, newest first, with a short preview of each answer set. Supports paging, an optional status filter and an optional payment filter (by default unpaid Stripe payment submissions are hidden). Each row's id identifies the submission whose full labelled answers can be read.

readOnlyHint: true

formId string · obligatorio
Form id (GUID).
page integer · opcional
1-based page number. Default 1.
pageSize integer · opcional
Rows per page, 1-100. Default 25.
status string · opcional
Optional status filter: New, Read, Flagged, or Spam. Omit for all.
payment string · opcional
Optional payment filter: 'paid' (payment collected) or 'unpaid' (abandoned checkouts, kept 30 days). Omit for the default view, which hides unpaid ones.

get_submission

Solo lectura

Muestra una respuesta completa como pares de pregunta y respuesta legibles.

Entradas
  • submissionId

Pídeselo así Abre la respuesta más reciente del formulario de pedidos.

Detalles técnicos

Descripción que recibe el modelo (en inglés):

Gets one submission's full answers as human-readable label/value pairs, resolved against the form version it was submitted to (composite and choice answers are joined into readable strings).

readOnlyHint: true

submissionId string · obligatorio
Submission id (GUID).

submission_stats

Solo lectura

Estadísticas de un formulario: total, conteo por estado, respuestas por día de los últimos 7 días y pagos (pagados y sin pagar).

Entradas
  • formId

Pídeselo así ¿Cuántas respuestas recibió la encuesta cada día en la última semana?

Detalles técnicos

Descripción que recibe el modelo (en inglés):

Submission statistics for a form: total count, counts per status (New/Read/Flagged/Spam), daily submission counts for the last 7 days (UTC dates, zero-filled), and Stripe payment counts (paid / unpaid). Unpaid payment submissions are excluded from the total, per-status and daily counts.

readOnlyHint: true

formId string · obligatorio
Form id (GUID).

create_submission

Modifica datos

Envía una respuesta a un formulario publicado como si la llenara alguien: se valida, respeta los límites del plan y dispara correos y webhooks. En formularios con pago devuelve un enlace de pago de Stripe, y los correos y webhooks esperan a que se pague.

Entradas
  • formId
  • answers

Pídeselo así Crea una respuesta de prueba en el formulario de pedidos para probar el webhook.

Detalles técnicos

Descripción que recibe el modelo (en inglés):

Creates a submission on a published form, as if a respondent had filled it: answers are validated against the live version (required fields, formats; logic-hidden fields are exempt), plan quotas are enforced, and the normal post-submit pipeline (notification emails, webhooks) runs. Keys are the form's field ids; values are strings, or arrays of strings for multi-choice fields.

readOnlyHint: false · destructiveHint: false

formId string · obligatorio
Form id (GUID).
answers object · obligatorio
Answers keyed by field id, e.g. {"f_a1b2c3": "Ana", "f_d4e5f6": ["A","B"]}.

set_submission_status

Modifica datos

Cambia el estado de una respuesta en la bandeja: nueva, leída, destacada o spam. Las respuestas en sí nunca se modifican.

Entradas
  • submissionId
  • status

Pídeselo así Marca como spam la última respuesta del formulario de contacto.

Detalles técnicos

Descripción que recibe el modelo (en inglés):

Sets a submission's inbox status: New, Read, Flagged, or Spam. Only the status label changes — the submitted answers are never modified.

readOnlyHint: false · destructiveHint: false · idempotentHint: true

submissionId string · obligatorio
Submission id (GUID).
status string · obligatorio
New status: New, Read, Flagged, or Spam.

delete_submission

Destructivo

Borra una respuesta y sus archivos de forma permanente. No se puede deshacer.

Entradas
  • submissionId

Pídeselo así Elimina la respuesta de prueba que creamos antes.

Detalles técnicos

Descripción que recibe el modelo (en inglés):

Permanently deletes a submission and its uploaded files. This cannot be undone — the answers are gone and the storage the files used is released back to the workspace's quota.

readOnlyHint: false · destructiveHint: true

submissionId string · obligatorio
Submission id (GUID).

Notificaciones por correo

Decide quién recibe un correo con cada respuesta nueva.

set_email_notification

Modifica datos

Envía cada respuesta nueva por correo a hasta 10 personas, sean o no miembros de tu espacio de trabajo, con el PDF adjunto si quieres. Sin notificaciones, las respuestas le llegan solo al dueño del espacio.

Entradas
  • formId
  • recipients
  • notificationIdopcional
  • enabledopcional
  • subjectopcional
  • attachPdfopcional

Pídeselo así Cada vez que alguien llene el reporte de máquinas, mándalo a estos cinco correos.

Detalles técnicos

Descripción que recibe el modelo (en inglés):

Creates or updates a form's email notification: from then on, every new submission is emailed to the given recipients (any addresses, not only workspace members) as a table of the answers, optionally with the PDF attached. Omit notificationId to add a notification; pass the id of one of the form's existing notifications to replace that one's recipients (and subject/attachPdf when given). Set enabled=false to pause one. By default, with no enabled notification, each submission is emailed to the workspace owner; once an enabled notification exists that default stops, so include the owner in recipients if they should keep receiving submissions.

readOnlyHint: false · destructiveHint: false

formId string · obligatorio
Form id (GUID).
recipients array · obligatorio
Email addresses to notify, one per item, 1-10.
notificationId string · opcional
Id of one of the form's existing email notifications. Omit to create a new one.
enabled boolean · opcional
false pauses the notification without losing its recipients. Default true.
subject string · opcional
Email subject. Omit to keep the current one; empty uses the default "New submission: <form title>" in the form's language.
attachPdf boolean · opcional
Attach the submission's PDF. Omit to keep the current setting (off for a new notification).

Webhooks

Envía cada respuesta nueva a tu propio sistema, firmada para que puedas verificarla.

list_webhooks

Solo lectura

Lista los webhooks de un formulario: URL, eventos, si está activo y solo una pista enmascarada del secreto (whsec_… y sus últimos 4 caracteres).

Entradas
  • formId

Pídeselo así ¿A qué URLs envía sus respuestas el formulario de pedidos?

Detalles técnicos

Descripción que recibe el modelo (en inglés):

Lists a form's webhooks: id, target URL, subscribed events, enabled flag, and a masked hint of the signing secret (whsec_… plus its last 4 characters). The full secret is returned only once, when the webhook is added; to replace a lost secret, delete the webhook and add it again.

readOnlyHint: true

formId string · obligatorio
Form id (GUID).

add_webhook

Modifica datos

Envía cada respuesta nueva como JSON a tu URL HTTPS, firmada con la cabecera X-Anota-Signature (HMAC-SHA256). El secreto se muestra una sola vez, al crearlo.

Entradas
  • formId
  • url

Pídeselo así Envía cada respuesta del formulario de pedidos a https://mi-app.com/hooks/anota.

Detalles técnicos

Descripción que recibe el modelo (en inglés):

Adds a webhook to a form. From then on, every new submission is POSTed as JSON to the given HTTPS URL, with an X-Anota-Signature header (HMAC-SHA256 of the body using the returned secret) so the receiver can verify the payload came from anota. The secret is returned only in this response; listing webhooks shows just a masked hint. Failed deliveries are retried a few times; delivery never blocks or fails the respondent's submission. Payload and signature format: https://docs.p4software.cloud/anota-en/developers-api

readOnlyHint: false · destructiveHint: false

formId string · obligatorio
Form id (GUID).
url string · obligatorio
HTTPS URL to POST each new submission to.

delete_webhook

Destructivo

Elimina un webhook: las entregas se detienen al instante y se borra su historial.

Entradas
  • formId
  • webhookId

Pídeselo así Quita el webhook de pruebas del formulario de pedidos.

Detalles técnicos

Descripción que recibe el modelo (en inglés):

Deletes a webhook from a form. Deliveries stop immediately; past delivery history is removed with it.

readOnlyHint: false · destructiveHint: true

formId string · obligatorio
Form id (GUID).
webhookId string · obligatorio
Webhook id (GUID).

Conéctalo y pruébalo

Crea tu llave de API y sigue la guía de conexión para Claude o Claude Code.

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.