Serveur MCP

wufoo

io.usefulapi/wufoo
Entreprise et opérations Outils développeur Public et accessible MCP 2026-07-28

Ce que fait ce MCP

Reads Wufoo forms, fields, entries, reports and comments, submits form entries, and manages form webhooks.

wufoo_add_webhook
Add a webhook
WRITE: adds a webhook to a form, so Wufoo POSTs every new entry to the given URL. Idempotent per URL: calling again with the same URL updates its handshake key / metadata setting instead of adding a duplicate. Forms allow at most 10 integrations. Returns WebHookPutResult.Hash — keep it, it is needed to delete the webhook. Wufoo: PUT /forms/{identifier}/webhooks.json.
Destructif
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['form', 'url'], 'properties': {'url': {'type': 'string', 'pattern': '^https?:\\/\\/\\S+$', 'maxLength': 2048, 'description': 'The URL Wufoo will POST each new entry to.'}, 'form': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Form identifier: its permanent hash (e.g. s1afea8b1vk0jf7) or its URL title (e.g. wufoo-api-example). See wufoo_list_forms.'}, 'metadata': {'type': 'boolean', 'description': 'Include form/field structure in each POST (Wufoo default false).'}, 'handshakeKey': {'type': 'string', 'maxLength': 255, 'description': 'Shared secret Wufoo includes in each POST so the receiver can reject unwanted requests.'}}}
wufoo_count_form_comments
Count entry comments
Count all comments on a form's entries. Returns {Count}. Wufoo: GET /forms/{identifier}/comments/count.json.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['form'], 'properties': {'form': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Form identifier: its permanent hash (e.g. s1afea8b1vk0jf7) or its URL title (e.g. wufoo-api-example). See wufoo_list_forms.'}}}
wufoo_count_form_entries
Count form entries
Count a form's entries — all of them, or only those matching filters (same filter format as wufoo_list_form_entries). Useful to plan paging. Returns {EntryCount}. Wufoo: GET /forms/{identifier}/entries/count.json.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['form'], 'properties': {'form': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Form identifier: its permanent hash (e.g. s1afea8b1vk0jf7) or its URL title (e.g. wufoo-api-example). See wufoo_list_forms.'}, 'match': {'enum': ['AND', 'OR'], 'type': 'string', 'description': 'Combine filters: AND (all must match, default) or OR (any).'}, 'filters': {'type': 'array', 'items': {'type': 'object', 'required': ['field', 'operator'], 'properties': {'field': {'type': 'string', 'pattern': '^[A-Za-z][A-Za-z0-9_]*$', 'description': 'Field API ID to filter on (Field105, EntryId, DateCreated…). See wufoo_get_form_fields.'}, 'value': {'type': ['string', 'number'], 'description': 'Value to compare with. Omit only for Is_not_NULL. Dates/times: "YYYY-MM-DD HH:MM:SS", read by Wufoo as US Pacific time.'}, 'operator': {'enum': ['Contains', 'Does_not_contain', 'Begins_with', 'Ends_with', 'Is_less_than', 'Is_greater_than', 'Is_on', 'Is_before', 'Is_after', 'Is_not_equal_to', 'Is_equal_to', 'Is_not_NULL'], 'type': 'string', 'description': 'Comparison operator.'}}}, 'maxItems': 10, 'description': 'Entry Manager-style filters (up to 10), sent as Filter1, Filter2…'}}}
wufoo_count_report_entries
Count report entries
Count the entries in a report. Returns {EntryCount}. Wufoo: GET /reports/{identifier}/entries/count.json.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['report'], 'properties': {'report': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Report identifier: its permanent hash (e.g. qa4d98l1ib9or7) or its URL title. See wufoo_list_reports.'}}}
wufoo_delete_webhook
Delete a webhook
WRITE: removes a webhook from a form; the receiving URL stops getting new entries immediately. Needs the webhook hash returned by wufoo_add_webhook (Wufoo has no endpoint to list webhooks). Wufoo: DELETE /forms/{identifier}/webhooks/{webhookHash}.json.
Destructif
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['form', 'hash'], 'properties': {'form': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Form identifier: its permanent hash (e.g. s1afea8b1vk0jf7) or its URL title (e.g. wufoo-api-example). See wufoo_list_forms.'}, 'hash': {'type': 'string', 'pattern': '^[A-Za-z0-9]+$', 'description': 'Webhook hash (WebHookPutResult.Hash from wufoo_add_webhook).'}}}
wufoo_get_form
Get one form
Fetch one form's settings by hash or URL title — name, description, confirmation message, notification emails, public flag, language, start/end dates, entry limit and links. Wufoo: GET /forms/{identifier}.json.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['form'], 'properties': {'form': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Form identifier: its permanent hash (e.g. s1afea8b1vk0jf7) or its URL title (e.g. wufoo-api-example). See wufoo_list_forms.'}, 'includeTodayCount': {'type': 'boolean', 'description': 'Include EntryCountToday.'}}}
wufoo_get_form_fields
Get form fields
The field structure of a form: each field's Title, Type, API ID (Field###, used for filters, sorting and submissions), required flag, default value and page. Checkbox, name, address and likert fields list SubFields with their own IDs; multiple-choice, dropdown and likert fields list Choices. Admin-only fields are not returned. Wufoo: GET /forms/{identifier}/fields.json.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['form'], 'properties': {'form': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Form identifier: its permanent hash (e.g. s1afea8b1vk0jf7) or its URL title (e.g. wufoo-api-example). See wufoo_list_forms.'}, 'system': {'type': 'boolean', 'description': 'Include system metadata (IP, LastPage, CompleteSubmission, payment Status/PurchaseTotal/Currency/TransactionId/MerchantType).'}}}
wufoo_get_labeled_entries
Get entries keyed by field title
Fetch a page of a form's entries with every Field### key replaced by the field's human title — e.g. "Email", or "Title — Label" for sub-fields of checkbox, name, address and likert fields ("Name — First", "Address — City"). EntryId, DateCreated and the other default/system keys stay as they are. Empty values are dropped unless includeEmpty is set. Also returns fieldIds (title → API ID) for building filters or submissions. Takes the same paging, sorting and filter arguments as wufoo_list_form_entries. Wufoo: GET /forms/{identifier}/fields.json + /entries.json.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['form'], 'properties': {'form': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Form identifier: its permanent hash (e.g. s1afea8b1vk0jf7) or its URL title (e.g. wufoo-api-example). See wufoo_list_forms.'}, 'sort': {'type': 'string', 'pattern': '^[A-Za-z][A-Za-z0-9_]*$', 'description': 'Field API ID to sort by (e.g. EntryId, DateCreated, Field105).'}, 'match': {'enum': ['AND', 'OR'], 'type': 'string', 'description': 'Combine filters: AND (all must match, default) or OR (any).'}, 'system': {'type': 'boolean', 'description': 'Include system metadata (IP, LastPage, CompleteSubmission, payment Status/PurchaseTotal/Currency/TransactionId/MerchantType).'}, 'filters': {'type': 'array', 'items': {'type': 'object', 'required': ['field', 'operator'], 'properties': {'field': {'type': 'string', 'pattern': '^[A-Za-z][A-Za-z0-9_]*$', 'description': 'Field API ID to filter on (Field105, EntryId, DateCreated…). See wufoo_get_form_fields.'}, 'value': {'type': ['string', 'number'], 'description': 'Value to compare with. Omit only for Is_not_NULL. Dates/times: "YYYY-MM-DD HH:MM:SS", read by Wufoo as US Pacific time.'}, 'operator': {'enum': ['Contains', 'Does_not_contain', 'Begins_with', 'Ends_with', 'Is_less_than', 'Is_greater_than', 'Is_on', 'Is_before', 'Is_after', 'Is_not_equal_to', 'Is_equal_to', 'Is_not_NULL'], 'type': 'string', 'description': 'Comparison operator.'}}}, 'maxItems': 10, 'description': 'Entry Manager-style filters (up to 10), sent as Filter1, Filter2…'}, 'pageSize': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Entries per page (1-100; Wufoo default 25).'}, 'pageStart': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Zero-based index of the first entry to return (default 0).'}, 'includeEmpty': {'type': 'boolean', 'description': 'Keep empty-string and null values (default false: they are omitted).'}, 'sortDirection': {'enum': ['ASC', 'DESC'], 'type': 'string', 'description': 'ASC (default) or DESC. Only applies together with sort.'}}}
wufoo_get_report
Get one report
Fetch one report by hash or URL title. Wufoo: GET /reports/{identifier}.json.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['report'], 'properties': {'report': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Report identifier: its permanent hash (e.g. qa4d98l1ib9or7) or its URL title. See wufoo_list_reports.'}}}
wufoo_get_report_fields
Get report fields
The field structure of the form a report is built on (same shape as wufoo_get_form_fields). Wufoo: GET /reports/{identifier}/fields.json.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['report'], 'properties': {'report': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Report identifier: its permanent hash (e.g. qa4d98l1ib9or7) or its URL title. See wufoo_list_reports.'}, 'system': {'type': 'boolean', 'description': 'Include system metadata (IP, LastPage, CompleteSubmission, payment Status/PurchaseTotal/Currency/TransactionId/MerchantType).'}}}
wufoo_list_form_comments
List entry comments
List the comments team members left on a form's entries in the Entry Manager: CommentId, EntryId, Text, CommentedBy, DateCreated. Optionally only for one entry. Page with pageStart/pageSize (max 100). Wufoo: GET /forms/{identifier}/comments.json.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['form'], 'properties': {'form': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Form identifier: its permanent hash (e.g. s1afea8b1vk0jf7) or its URL title (e.g. wufoo-api-example). See wufoo_list_forms.'}, 'entryId': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Only comments on this EntryId.', 'exclusiveMinimum': 0}, 'pageSize': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Comments per page (1-100; Wufoo default 25).'}, 'pageStart': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Zero-based index of the first comment (default 0).'}}}
wufoo_list_form_entries
List form entries
List a form's submitted entries (as in the Entry Manager), keyed by field API ID (Field105…) plus EntryId, DateCreated, CreatedBy, DateUpdated, UpdatedBy. Filter like the Entry Manager (Filter1=Field105 Contains foo, combined with match AND/OR), sort by any field ID, and page with pageStart/pageSize (max 100). For entries keyed by human field titles use wufoo_get_labeled_entries. Wufoo: GET /forms/{identifier}/entries.json.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['form'], 'properties': {'form': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Form identifier: its permanent hash (e.g. s1afea8b1vk0jf7) or its URL title (e.g. wufoo-api-example). See wufoo_list_forms.'}, 'sort': {'type': 'string', 'pattern': '^[A-Za-z][A-Za-z0-9_]*$', 'description': 'Field API ID to sort by (e.g. EntryId, DateCreated, Field105).'}, 'match': {'enum': ['AND', 'OR'], 'type': 'string', 'description': 'Combine filters: AND (all must match, default) or OR (any).'}, 'system': {'type': 'boolean', 'description': 'Include system metadata (IP, LastPage, CompleteSubmission, payment Status/PurchaseTotal/Currency/TransactionId/MerchantType).'}, 'filters': {'type': 'array', 'items': {'type': 'object', 'required': ['field', 'operator'], 'properties': {'field': {'type': 'string', 'pattern': '^[A-Za-z][A-Za-z0-9_]*$', 'description': 'Field API ID to filter on (Field105, EntryId, DateCreated…). See wufoo_get_form_fields.'}, 'value': {'type': ['string', 'number'], 'description': 'Value to compare with. Omit only for Is_not_NULL. Dates/times: "YYYY-MM-DD HH:MM:SS", read by Wufoo as US Pacific time.'}, 'operator': {'enum': ['Contains', 'Does_not_contain', 'Begins_with', 'Ends_with', 'Is_less_than', 'Is_greater_than', 'Is_on', 'Is_before', 'Is_after', 'Is_not_equal_to', 'Is_equal_to', 'Is_not_NULL'], 'type': 'string', 'description': 'Comparison operator.'}}}, 'maxItems': 10, 'description': 'Entry Manager-style filters (up to 10), sent as Filter1, Filter2…'}, 'pageSize': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Entries per page (1-100; Wufoo default 25).'}, 'pageStart': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Zero-based index of the first entry to return (default 0).'}, 'sortDirection': {'enum': ['ASC', 'DESC'], 'type': 'string', 'description': 'ASC (default) or DESC. Only applies together with sort.'}}}
wufoo_list_forms
List forms
List the forms the API key's user can access: name, description, hash (permanent identifier), URL title, public/private, start/end dates, entry limit, created/updated timestamps. Set includeTodayCount to add EntryCountToday. Wufoo: GET /forms.json.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number (default 1).'}, 'limit': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Forms per page (1-1000; Wufoo default 1000).'}, 'includeTodayCount': {'type': 'boolean', 'description': 'Include EntryCountToday, the number of entries received today.'}}}
wufoo_list_report_entries
List report entries
The entries that make up a report — what its datagrid widget or an export would show, keyed by field API ID. Wufoo documents no paging or filter parameters for this endpoint. Wufoo: GET /reports/{identifier}/entries.json.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['report'], 'properties': {'report': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Report identifier: its permanent hash (e.g. qa4d98l1ib9or7) or its URL title. See wufoo_list_reports.'}, 'system': {'type': 'boolean', 'description': 'Include system metadata (IP, LastPage, CompleteSubmission, payment Status/PurchaseTotal/Currency/TransactionId/MerchantType).'}}}
wufoo_list_reports
List reports
List the reports the API key's user can access: name, description, hash, URL title, public flag and created/updated timestamps. Wufoo: GET /reports.json.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
wufoo_list_report_widgets
List report widgets
The chart, graph (pie/bar/line) and big-number widgets on a report: Name, Type, TypeDesc, Size and Hash (the hash embeds the widget). Text and datagrid widgets are not returned. Wufoo: GET /reports/{identifier}/widgets.json.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['report'], 'properties': {'report': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Report identifier: its permanent hash (e.g. qa4d98l1ib9or7) or its URL title. See wufoo_list_reports.'}}}
wufoo_list_users
List account users
List the account's users: name, email, timezone, company, owner/admin flags and create-forms/reports/themes permissions. Each user's API key is redacted from the result. Wufoo: GET /users.json.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
wufoo_submit_entry
Submit a form entry
WRITE: submits a new entry to a form, exactly as if someone filled it in — it is stored and triggers the form's notifications, webhooks and integrations. Keys are field API IDs from wufoo_get_form_fields (Field1, Field105…); fields with sub-fields (name, address, checkbox) take one key per sub-field ID. Dates must be YYYYMMDD. Field validation and form limits still apply: a rejected submission returns each field error. Limited by Wufoo to 50 submissions per user per 5 minutes. Wufoo: POST /forms/{identifier}/entries.json.
Destructif
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['form', 'fields'], 'properties': {'form': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Form identifier: its permanent hash (e.g. s1afea8b1vk0jf7) or its URL title (e.g. wufoo-api-example). See wufoo_list_forms.'}, 'fields': {'type': 'object', 'description': 'Values keyed by field API ID, e.g. {"Field1": "Ada", "Field2": "Lovelace", "Field217": "20260315"}.', 'propertyNames': {'type': 'string', 'pattern': '^Field\\d+$'}, 'additionalProperties': {'type': 'string'}}}}
Ajouté
wufoo_delete_webhook
2 October 2026 02:40
Ajouté
wufoo_add_webhook
2 October 2026 02:40
Ajouté
wufoo_submit_entry
2 October 2026 02:40
Ajouté
wufoo_list_users
2 October 2026 02:40
Ajouté
wufoo_list_report_widgets
2 October 2026 02:40
Ajouté
wufoo_count_report_entries
2 October 2026 02:40
Ajouté
wufoo_list_report_entries
2 October 2026 02:40
Ajouté
wufoo_get_report_fields
2 October 2026 02:40
Ajouté
wufoo_get_report
2 October 2026 02:40
Ajouté
wufoo_list_reports
2 October 2026 02:40
Ajouté
wufoo_count_form_comments
2 October 2026 02:40
Ajouté
wufoo_list_form_comments
2 October 2026 02:40
Ajouté
wufoo_count_form_entries
2 October 2026 02:40
Ajouté
wufoo_get_labeled_entries
2 October 2026 02:40
Ajouté
wufoo_list_form_entries
2 October 2026 02:40
Ajouté
wufoo_get_form_fields
2 October 2026 02:40
Ajouté
wufoo_get_form
2 October 2026 02:40
Ajouté
wufoo_list_forms
2 October 2026 02:40