Forms On Fire / Appenate MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.8.4Updated Nov 7, 2026

Read mobile forms, entries, users and tasks; create confirmed draft or sent tasks for field workers.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableProductivity & WorkflowBusiness & Commerce

Overview

AI-generated overview

Connects an assistant to Forms On Fire / Appenate mobile forms: list forms, search submitted entries and tasks, and create draft or sent tasks for field…

What you can do
  • List forms and read a form's definition, including field names used for prefilled answers
  • Search submitted entries by form, version and date range, with answers, submitter and GPS location
  • Search and read tasks with assignee, status, activities and history
  • Create a task for a field worker with one form to fill out, as a draft or sent immediately
  • List users, user groups and data sources, and read a data source's columns and rows
When to use it
Useful when you want to ask questions about field data collected through Forms On Fire or Appenate — how many inspections came in this week, who submitted them, what the latest answers were — or when you want an assistant to assign form-filling tasks to field workers.
Requirements
Remote MCP endpoint added by URL only; the server signs in with OAuth and the login page asks for Forms On Fire / Appenate credentials. The account's platform (Forms On Fire, Appenate or Appenate EU), CompanyId and an API key from Organization Setup are needed; a restricted user-level key is recommended. A free tier allows 50 tool calls per month.
Before you install
Creating a task writes data; with send_immediate=true it also notifies the worker, and repeating the call can create duplicate tasks or notifications. Forms, answers, locations, users and task records are sent to your AI client and LLM provider, so connect only data you are authorized to process there. Paid plans are billed through a Stripe checkout link, and cancellation gives no refund for the current period. Revoke the API key in the vendor dashboard to stop access.

Installation

In SourceWeft

  1. Open Forms On Fire / Appenate 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%2Fforms-on-fire/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": {
    "forms-on-fire-appenate-by-usefulapi": {
      "type": "http",
      "url": "https://forms-on-fire.usefulapi.io/mcp"
    }
  }
}

README

Forms On Fire / Appenate MCP server

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://forms-on-fire.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http forms-on-fire https://forms-on-fire.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": {    "forms-on-fire": {      "url": "https://forms-on-fire.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 Forms On Fire / Appenate credentials.

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

Tools

ToolTypeWhat it does
formsonfire_list_formsreadList forms
formsonfire_get_formreadGet form definition
formsonfire_search_entriesreadSearch form entries
formsonfire_search_tasksreadSearch tasks
formsonfire_get_taskreadGet task
formsonfire_create_taskwriteCreate task
formsonfire_list_usersreadList users
formsonfire_get_userreadGet user
formsonfire_list_groupsreadList user groups
formsonfire_list_data_sourcesreadList data sources
formsonfire_get_data_sourcereadGet data source
formsonfire_usage_statusmetaUsage status (free-tier meter)
formsonfire_request_featuremetaRequest a missing feature
formsonfire_upgrademetaUpgrade to Pro or Pro+
formsonfire_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 (per platform and organization)$050 tool calls / month
Pro (per platform and organization)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with formsonfire_upgrade (it returns a Stripe Checkout link). Cancel any time with formsonfire_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running formsonfire_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT

Account access and data

Select the platform that hosts your account: Forms On Fire, Appenate or Appenate EU. Copy CompanyId and an API key from Organization Setup. Prefer a restricted user-level key with only the permissions needed. This is an independent customer-authorized connection; no partner approval or reseller status is claimed. Your vendor subscription, API eligibility and quotas remain separate.

The key is encrypted for authorized calls. Requested forms, answers, locations, users and task records reach your chosen AI client and LLM provider. Connect only data you are authorized to process there. Credential fields and connected-key values are removed from results. Revoke the key in the vendor dashboard to stop access; disconnect UsefulAPI to stop this connection. Billing follows the platform plus CompanyId, normally including key rotation.

Task creation requires explicit confirmation, a recipient, form external id and due time. It creates a draft by default. Setting send_immediate=true sends the task and can notify the worker. Repeating the call can create duplicate tasks or notifications; check the platform after a timeout or uncertain response. No vendor operation is automatically replayed. These tools do not send, update or delete existing tasks.

Search entries by form or a complete date range. Task and user details require their record ids. Search results include a next-page hint when more may remain. Single-entry retrieval and data-source writes are withheld pending verified contracts.

All 11 tools were checked against current vendor definitions and local mocks. Our synthetic EU trial confirmed read and task-response shapes; one draft task assigned to our own user was created, read and deleted with sending disabled. No customer data, customer notifications or paid operations were tested.

Source: servers/forms-on-fire/README.md at commit 4046075

Tools

11

formsonfire_list_forms

List forms

List the forms (screens) in the organization with id, name, version and status. Use a form id with formsonfire_get_form or formsonfire_search_entries. GET /screen/form/search.

Parameterspage_nopage_size

formsonfire_get_form

Get form definition

One form's definition: name, version, status and its fields (names and types, which are the names to use for prefilled answers). Give the form's id (GUID) or its external id. GET /screen/form.

Parametersidstatusversionexternal_id

formsonfire_search_entries

Search form entries

Search submitted form entries (the completed forms your team sent in): who filled them, when, where (GPS) and every answer. Filter by form id or external id, version and a date range (by received time, or complete time via order_by). Returns the page of Entries with TotalRows. GET /formentry/search.

Parametersfieldsform_idpage_noto_dateorder_byfrom_datepage_sizedate_orderform_versionmedia_as_urlanswer_formatform_external_id

formsonfire_search_tasks

Search tasks

Search tasks (jobs assigned to field workers, each with one or more activities such as filling out a form): status, assignee, due time, activities and history. Filter by assignee, status, name, task template and date range. Returns the page of Tasks with TotalRows. GET /task/search.

Parametersnamestatuspage_noto_datefrom_datepage_sizeuser_emailtemplate_idanswer_formatretrieve_entriesuser_external_id

formsonfire_get_task

Get task

One task by its id (GUID), with activities and history. GET /task.

Parametersidrequiredanswer_formatretrieve_entries

formsonfire_create_task

Create task

WRITE: create a task for a field worker with one form to fill out, optionally with prefilled answers. By default it remains a draft; send_immediate=true sends it and notifies the worker. Identify the worker by email, user id or external id (list_users). The form is identified by its external id (formsonfire_get_form shows field names for the prefilled answers). Requires confirm=true and a due time. Not idempotent: calling twice creates two tasks. POST /task.

Parametersiconnameanswersconfirmrequireduser_idstart_byuser_emailcomplete_byrequiredinstructionsend_immediateadditional_infoform_external_idrequired+1 more

formsonfire_list_users

List users

List the organization's users (field workers and admins): name, email, status, groups, website role and last activity. Passwords and keys are never returned. GET /user/search.

Parameterspage_nopage_size

formsonfire_get_user

Get user

One user by id (GUID): name, status, groups, folders, role and registered devices. GET /user.

Parametersidrequired

formsonfire_list_groups

List user groups

List user groups with their id, name and member user ids. Filter by name or external id. Returns UserGroups with TotalRows. GET /usergroup/search.

Parametersnamepage_nopage_sizeexternal_id

formsonfire_list_data_sources

List data sources

List the data sources (lookup tables that feed dropdowns and prefill in forms, such as customers, sites or products): id, external id, name and row count. Use formsonfire_get_data_source for the rows. GET /datasource/search.

Parametersnamepage_nopage_size

formsonfire_get_data_source

Get data source

One data source by id (GUID) or external id: its column headers, TotalRows and (with return_rows) a page of rows. Rows are only returned when return_rows is true; page through them with page_no. GET /datasource.

Parametersidpage_nopage_sizeexternal_idreturn_rows

Version history

10
  1. v1.8.4LatestNov 7, 2026
  2. v1.7.3Nov 5, 2026
  3. v1.7.2Nov 5, 2026
  4. v1.7.1Nov 4, 2026
  5. v1.7.0Nov 3, 2026
  6. v1.6.1Nov 3, 2026
  7. v1.5.0Nov 1, 2026
  8. v1.3.0Oct 31, 2026
  9. v1.2.0Oct 31, 2026
  10. v1.1.0Oct 31, 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