# Forms On Fire / Appenate MCP by usefulapi (remote · forms-on-fire.usefulapi.io)

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

- Trust score: 18/100 (low)
- Change this week: −46
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-07

## Components

- remote · `forms-on-fire.usefulapi.io`: 18/100 (this document), [markdown](https://verifymcp.io/servers/io-usefulapi-forms-on-fire/forms-on-fire.md), [page](https://verifymcp.io/servers/io-usefulapi-forms-on-fire/forms-on-fire)

## Channel facts

- Endpoint: `https://forms-on-fire.usefulapi.io/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.8.3`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-07.

- **Endpoint Security**: 46/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not yet verified: we couldn't confirm whether this endpoint requires it.
  - HTTPS enforcement could not be verified: the plaintext port redirected somewhere other than https, so enforcement is unproven.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 0/100
  - Transport check failed: declared streamable-http, but the endpoint redirected instead of responding directly.
- **Schema Quality & AI Usability**: 0/100
  - Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 0/100
  - Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
- **Tool Safety**: 0/100
  - Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
- **Capabilities**: 0/100
  - Capabilities not yet verified: we couldn't read the endpoint's capabilities.

**Unverified: 5 categories.** Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

## Install

### How do I install the Forms On Fire / Appenate MCP by usefulapi server?

Forms On Fire / Appenate MCP by usefulapi is a hosted endpoint at https://forms-on-fire.usefulapi.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http io-usefulapi-forms-on-fire 'https://forms-on-fire.usefulapi.io/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "io-usefulapi-forms-on-fire": {
      "url": "https://forms-on-fire.usefulapi.io/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "io-usefulapi-forms-on-fire": {
      "type": "http",
      "url": "https://forms-on-fire.usefulapi.io/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.io-usefulapi-forms-on-fire]
url = "https://forms-on-fire.usefulapi.io/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-usefulapi-forms-on-fire": {
      "type": "remote",
      "url": "https://forms-on-fire.usefulapi.io/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add io-usefulapi-forms-on-fire --url 'https://forms-on-fire.usefulapi.io/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  io-usefulapi-forms-on-fire:
    url: "https://forms-on-fire.usefulapi.io/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "io-usefulapi-forms-on-fire": {
      "Transport": "http",
      "Url": "https://forms-on-fire.usefulapi.io/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add io-usefulapi-forms-on-fire -t streamable-http -u 'https://forms-on-fire.usefulapi.io/mcp'
```

### Other

```json
{
  "mcpServers": {
    "io-usefulapi-forms-on-fire": {
      "type": "http",
      "url": "https://forms-on-fire.usefulapi.io/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-06 (score 18, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-11-01 (score 18, −46)

- [security regression] Endpoint reachability: reachable → not serving MCP
- [security regression] Tool safety: pass → unverified
- [security regression] Authorization: pass → unverified
- [functional regression] Schema quality: 100 → unverified
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified

### 2026-10-31 (score 64)

First indexed and scored.

## MCP tools (11)

### `formsonfire_list_forms` (~100 tokens)

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.

Input parameters:

- `page_no` (integer): Page number, starting at 0 (default 0). Pass the previous reply's next_page_no.
- `page_size` (integer): Results per page, 1-250 (default 50).

### `formsonfire_get_form` (~108 tokens)

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.

Input parameters:

- `external_id` (string): Form external id.
- `id` (string): Form id (GUID).
- `status` (string): Form status (default: Published).
- `version` (integer): Form version (default: the latest published).

### `formsonfire_search_entries` (~394 tokens)

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.

Input parameters:

- `answer_format` (string): How form answers are shaped: Flat (one value per field, easiest to read), Rich (typed values) or Raw (as stored). Default: the vendor's default.
- `date_order` (string): Sort direction (default Ascending, oldest first).
- `fields` (string): Comma-separated field names to return (works with answer_format Flat).
- `form_external_id` (string): Only entries of the form with this external id.
- `form_id` (string): Only entries of this form (id, GUID).
- `form_version` (integer): Form version; 0 or omitted = the latest published version, -1 = all versions.
- `from_date` (string): ISO 8601 UTC date (2026-10-01) or date-time (2026-10-01T08:00:00Z).
- `media_as_url` (boolean): Return photos/signatures as URLs instead of embedded data.
- `order_by` (string): Sort and date-filter by ReceivedTime (default) or CompleteTime (when the form was completed on the device).
- `page_no` (integer): Page number, starting at 0 (default 0). Pass the previous reply's next_page_no.
- `page_size` (integer): Results per page, 1-250 (default 50).
- `to_date` (string): ISO 8601 UTC date (2026-10-01) or date-time (2026-10-01T08:00:00Z).

### `formsonfire_search_tasks` (~332 tokens)

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.

Input parameters:

- `answer_format` (string): How form answers are shaped: Flat (one value per field, easiest to read), Rich (typed values) or Raw (as stored). Default: the vendor's default.
- `from_date` (string): ISO 8601 UTC date (2026-10-01) or date-time (2026-10-01T08:00:00Z).
- `name` (string): Task name.
- `page_no` (integer): Page number, starting at 0 (default 0). Pass the previous reply's next_page_no.
- `page_size` (integer): Results per page, 1-250 (default 50).
- `retrieve_entries` (boolean): Also return the form entries completed by the task's activities.
- `status` (string): Only tasks in this status.
- `template_id` (string): Only tasks created from this task template id.
- `to_date` (string): ISO 8601 UTC date (2026-10-01) or date-time (2026-10-01T08:00:00Z).
- `user_email` (string): Only tasks of the user with this email.
- `user_external_id` (string): Only tasks of the user with this external id.

### `formsonfire_get_task` (~100 tokens)

Get task

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

Input parameters:

- `answer_format` (string): How form answers are shaped: Flat (one value per field, easiest to read), Rich (typed values) or Raw (as stored). Default: the vendor's default.
- `id` (string, required): Task id (GUID).
- `retrieve_entries` (boolean): Also return the form entries completed by the task's activities.

### `formsonfire_create_task` (~355 tokens)

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.

Input parameters:

- `additional_info` (string): Free-text instructions shown with the task.
- `answers` (array): Prefilled answers: field data name and value.
- `complete_by` (string, required): Due time (ISO 8601 UTC).
- `confirm` (boolean, required): Set true only after the user approved creating the task and any requested notification.
- `form_external_id` (string, required): External id of the form the worker has to fill out.
- `icon` (string): Task icon name (vendor icon list), e.g. Clock.
- `instruction` (string): Instruction shown for this form activity.
- `name` (string): Task name shown on the device, e.g. 'Site inspection - Acme'.
- `send_immediate` (boolean): Notify the worker right away (vendor default applies when omitted).
- `start_by` (string): When the task should be started (ISO 8601 UTC).
- `user_email` (string): Email of the worker (user) the task is assigned to.
- `user_external_id` (string): External id of the worker the task is assigned to.
- `user_id` (string): Id (GUID) of the worker the task is assigned to.

### `formsonfire_list_users` (~96 tokens)

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.

Input parameters:

- `page_no` (integer): Page number, starting at 0 (default 0). Pass the previous reply's next_page_no.
- `page_size` (integer): Results per page, 1-250 (default 50).

### `formsonfire_get_user` (~46 tokens)

Get user

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

Input parameters:

- `id` (string, required): User id (GUID).

### `formsonfire_list_groups` (~112 tokens)

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.

Input parameters:

- `external_id` (string): Group external id.
- `name` (string): Group name.
- `page_no` (integer): Page number, starting at 0 (default 0). Pass the previous reply's next_page_no.
- `page_size` (integer): Results per page, 1-250 (default 50).

### `formsonfire_list_data_sources` (~122 tokens)

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.

Input parameters:

- `name` (string): Data source name.
- `page_no` (integer): Page number, starting at 0 (default 0). Pass the previous reply's next_page_no.
- `page_size` (integer): Results per page, 1-250 (default 50).

### `formsonfire_get_data_source` (~156 tokens)

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.

Input parameters:

- `external_id` (string): Data source external id.
- `id` (string): Data source id (GUID).
- `page_no` (integer): Page number, starting at 0 (default 0). Pass the previous reply's next_page_no.
- `page_size` (integer): Rows per page, 1-1250 (default 50).
- `return_rows` (boolean): Also return the rows (default false: headers and total only).

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/io-usefulapi-forms-on-fire/forms-on-fire#diagnostics

## Score history

- 2026-11-07: 18
- 2026-11-06: 18
- 2026-11-05: 18
- 2026-11-04: 18
- 2026-11-03: 18
- 2026-11-02: 18
- 2026-11-01: 18
- 2026-10-31: 64

## Common questions

### What is the Forms On Fire / Appenate MCP by usefulapi server?

Forms On Fire / Appenate MCP by usefulapi is listed in the public MCP registry as io.usefulapi/forms-on-fire. Read mobile forms, entries, users and tasks; create confirmed draft or sent tasks for field workers. This page covers its hosted endpoint (https://forms-on-fire.usefulapi.io/mcp).

### Is the Forms On Fire / Appenate MCP by usefulapi server safe to use?

Forms On Fire / Appenate MCP by usefulapi scores 18 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Forms On Fire / Appenate MCP by usefulapi server expose?

Forms On Fire / Appenate MCP by usefulapi exposes 11 tools: formsonfire_list_forms, formsonfire_get_form, formsonfire_search_entries, formsonfire_search_tasks, formsonfire_get_task, and 6 more. Their descriptions and schemas cost roughly 1,921 tokens of context every time the server is loaded.

### Does the Forms On Fire / Appenate MCP by usefulapi server require authentication?

Its publisher declares no required credentials for Forms On Fire / Appenate MCP by usefulapi. We have not been able to confirm that against the live endpoint, and a server can require authorisation without declaring it here.

### Is the Forms On Fire / Appenate MCP by usefulapi server still maintained?

Forms On Fire / Appenate MCP by usefulapi is still listed as active in the MCP registry. We last reached this channel on 7 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What did VerifyMCP test on the Forms On Fire / Appenate MCP by usefulapi server?

VerifyMCP ran 4 checks on Forms On Fire / Appenate MCP by usefulapi, covering TLS certificate, HSTS header, DNSSEC and Transport. 7 items could not be completed, a gap on our side rather than a finding about Forms On Fire / Appenate MCP by usefulapi: Authorization, HTTPS, Schema quality, Stability and 3 more. 5 categories score 0 for that reason, because we only credit what we can confirm. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.

## Links

- Remote endpoint: https://forms-on-fire.usefulapi.io/mcp
- Repository: https://github.com/m190/usefulapi-mcp
- Website: https://usefulapi.io/forms-on-fire/
- Changelog RSS feed: https://verifymcp.io/servers/io-usefulapi-forms-on-fire/forms-on-fire.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-usefulapi-forms-on-fire/forms-on-fire/changelog.json
- Trust report (JSON): https://verifymcp.io/servers/io-usefulapi-forms-on-fire/forms-on-fire.json
- HTML version of this page: https://verifymcp.io/servers/io-usefulapi-forms-on-fire/forms-on-fire
