Wufoo MCP by usefulapi
Read forms, fields, entries, reports and comments by field title, and submit entries.
- 1.11.1
- Version
- remote
- Transport
- 18
- Tools
Security review
Partly reviewedReviewed 28m ago.
- tools: 18 tools scanned
- metadata: scanned
- mediumReviewRemote tools take credentials as input
Whatever an agent passes to a remote tool leaves the machine. Never send connection strings, tokens or passwords to a third-party MCP server unless it is the service those credentials belong to.
wufoo_list_forms, wufoo_list_reports, wufoo_list_users
Tools (18)
wufoo_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.
wufoo_get_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.
wufoo_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.
wufoo_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.
wufoo_get_labeled_entries
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.
wufoo_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.
wufoo_list_form_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.
wufoo_count_form_comments
Count all comments on a form's entries. Returns {Count}. Wufoo: GET /forms/{identifier}/comments/count.json.
wufoo_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.
wufoo_get_report
Fetch one report by hash or URL title. Wufoo: GET /reports/{identifier}.json.
wufoo_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.
wufoo_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.
wufoo_count_report_entries
Count the entries in a report. Returns {EntryCount}. Wufoo: GET /reports/{identifier}/entries/count.json.
wufoo_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.
wufoo_list_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.
wufoo_submit_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.
wufoo_add_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.
wufoo_delete_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.