Wufoo MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.39.1Updated Nov 14, 2026

Read forms, fields, entries, reports and comments by field title, and submit entries.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableData & AnalyticsBusiness & Commerce

Overview

AI-generated overview

Hosted MCP server for Wufoo: read forms, fields, entries, comments and reports, submit entries, and manage webhooks.

What you can do
  • List and inspect forms, their fields, sub-fields and choices, plus account users
  • List, filter, sort, page and count form entries, optionally keyed by human field titles
  • List and count comments left on entries
  • List reports, their fields, entries, entry counts and chart widgets
  • Submit new form entries and add or delete form webhooks
  • Check monthly tool-call usage, request features, upgrade or cancel the paid plan
When to use it
Useful when you want an assistant to answer questions about Wufoo form submissions, such as counts, recent entries or report contents, or to file entries and wire up webhooks without opening the Wufoo admin.
Requirements
Remote endpoint at wufoo.usefulapi.io; no local install. Sign-in is by OAuth, and the login page asks for your Wufoo account subdomain and API key, which are stored per user. A free tier allows 50 tool calls per month; paid plans are billed through Stripe Checkout.
Before you install
Write tools submit entries, which are stored and trigger the form's notifications, webhooks and integrations, and add or delete webhooks; confirm before running them. Your Wufoo subdomain and API key are held by the third-party host. Paid plans cost money and are billed per user; cancellation has no refund for the current period.

Installation

In SourceWeft

  1. Open Wufoo MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fwufoo/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "wufoo-by-usefulapi": {
      "type": "http",
      "url": "https://wufoo.usefulapi.io/mcp"
    }
  }
}

README

Wufoo MCP by usefulapi

Use Wufoo from Claude, Cursor, or any MCP client — read forms, fields, entries, reports and comments, get entries keyed by the field titles on the form, and submit entries or manage webhooks. Hosted, no local install: connect with your own Wufoo credentials.

Live endpoint: https://wufoo.usefulapi.io/mcp · Homepage: https://usefulapi.io/wufoo

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://wufoo.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http wufoo https://wufoo.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "wufoo": {      "url": "https://wufoo.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Wufoo credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/wufoo/

On first connect you'll provide your Wufoo account subdomain and API key (Form Manager → Account → API Information). They're validated, stored per-user, and scoped to you — no keys in config files.

Tools

ToolTypeWhat it does
wufoo_list_formsreadList forms
wufoo_get_formreadGet one form
wufoo_get_form_fieldsreadGet form fields
wufoo_list_form_entriesreadList form entries
wufoo_get_labeled_entriesreadGet entries keyed by field title
wufoo_count_form_entriesreadCount form entries
wufoo_list_form_commentsreadList entry comments
wufoo_count_form_commentsreadCount entry comments
wufoo_list_reportsreadList reports
wufoo_get_reportreadGet one report
wufoo_get_report_fieldsreadGet report fields
wufoo_list_report_entriesreadList report entries
wufoo_count_report_entriesreadCount report entries
wufoo_list_report_widgetsreadList report widgets
wufoo_list_usersreadList account users
wufoo_submit_entrywriteSubmit a form entry
wufoo_add_webhookwriteAdd a webhook
wufoo_delete_webhookwriteDelete a webhook
wufoo_usage_statusmetaUsage status (free-tier meter)
wufoo_request_featuremetaRequest a missing feature
wufoo_upgrademetaUpgrade to Pro or Pro+
wufoo_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per user)$9/mo or $90/yr (2 months free)10,000 tool calls / month
Pro+ (per user)$39/mo or $390/yr (2 months free)100,000 tool calls / month

Each paid plan covers this server only. Ask your AI to run wufoo_upgrade and choose Pro or Pro+, billed monthly or yearly (it returns a Stripe Checkout link). If you already have Pro, ask to change it to Pro+. The change requires your confirmation, keeps your billing interval and charges the price difference for the rest of the period immediately. Cancel any time with wufoo_cancel_subscription: your paid plan continues to the end of the paid period, with no refund for the current period, and asking to resume the same plan with wufoo_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT © usefulapi. Not affiliated with or endorsed by Wufoo.

Source: servers/wufoo/README.md at commit f22f848

Tools

18

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.

ParameterspagelimitincludeTodayCount

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.

ParametersformrequiredincludeTodayCount

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.

Parametersformrequiredsystem

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.

ParametersformrequiredsortmatchsystemfilterspageSizepageStartsortDirection

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.

ParametersformrequiredsortmatchsystemfilterspageSizepageStartincludeEmptysortDirection

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.

Parametersformrequiredmatchfilters

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.

ParametersformrequiredentryIdpageSizepageStart

wufoo_count_form_comments

Count entry comments

Count all comments on a form's entries. Returns {Count}. Wufoo: GET /forms/{identifier}/comments/count.json.

Parametersformrequired

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.

Takes no parameters.

wufoo_get_report

Get one report

Fetch one report by hash or URL title. Wufoo: GET /reports/{identifier}.json.

Parametersreportrequired

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.

Parametersreportrequiredsystem

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.

Parametersreportrequiredsystem

wufoo_count_report_entries

Count report entries

Count the entries in a report. Returns {EntryCount}. Wufoo: GET /reports/{identifier}/entries/count.json.

Parametersreportrequired

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.

Parametersreportrequired

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.

Takes no parameters.

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.

Parametersformrequiredfieldsrequired

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.

ParametersurlrequiredformrequiredmetadatahandshakeKey

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.

Parametersformrequiredhashrequired

Version history

25
  1. v1.39.1LatestNov 13, 2026
  2. v1.38.0Nov 12, 2026
  3. v1.37.3Nov 11, 2026
  4. v1.36.5Nov 8, 2026
  5. v1.36.4Nov 7, 2026
  6. v1.35.3Nov 5, 2026
  7. v1.35.2Nov 5, 2026
  8. v1.35.1Nov 4, 2026
  9. v1.35.0Nov 3, 2026
  10. v1.34.1Nov 3, 2026
  11. v1.33.0Nov 1, 2026
  12. v1.31.0Oct 31, 2026
  13. v1.30.0Oct 31, 2026
  14. v1.29.2Oct 30, 2026
  15. v1.29.0Oct 30, 2026
  16. v1.24.0Oct 26, 2026
  17. v1.21.3Oct 25, 2026
  18. v1.21.0Oct 25, 2026
  19. v1.20.0Oct 24, 2026
  20. v1.17.0Oct 23, 2026
  21. v1.16.4Oct 22, 2026
  22. v1.16.3Oct 21, 2026
  23. v1.11.1Oct 9, 2026
  24. v1.10.0Oct 9, 2026
  25. v1.0.0Sep 30, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations