Skip to main content
Glama

Backforms MCP Server (backforms-mcp)

npm version License: MIT Model Context Protocol Edge Ready

Official Model Context Protocol (MCP) server for Backforms. Connect serverless forms, anti-spam shields, and lead telemetry directly to Cursor, Windsurf, Claude Code, and Claude Desktop.


⚡ The Zero-Click Advantage

Instead of leaving your IDE, opening a browser, manually provisioning forms, and copying IDs:

Your AI coding agent executes the complete lifecycle in a single chat prompt:

"Create a Contact Us form in Next.js with honeypot spam protection and connect it to Backforms"

The agent automatically calls create_form, receives the live action URL (https://app.backforms.com/f/[uuid]), and injects ready-to-run HTML or Next.js code directly into your project.


Related MCP server: @lex-tools/codebase-context-dumper

🚀 Quick Setup

1. Get Your API Key

  1. Sign in to your dashboard: Backforms Dashboard → API Keys & MCP.

  2. Click Create API Key and copy your secret personal access token (bf_live_sec_...).


2. Configure Your IDE

Cursor (.cursor/mcp.json or Settings → Features → MCP)

Add to your project's .cursor/mcp.json:

{
  "mcpServers": {
    "backforms": {
      "command": "npx",
      "args": ["-y", "backforms-mcp"],
      "env": {
        "BACKFORMS_API_KEY": "bf_live_sec_your_token_here"
      }
    }
  }
}

Windsurf (~/.codeium/windsurf/mcp_config.json)

{
  "mcpServers": {
    "backforms": {
      "command": "npx",
      "args": ["-y", "backforms-mcp"],
      "env": {
        "BACKFORMS_API_KEY": "bf_live_sec_your_token_here"
      }
    }
  }
}

Claude Desktop (claude_desktop_config.json)

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "backforms": {
      "command": "npx",
      "args": ["-y", "backforms-mcp"],
      "env": {
        "BACKFORMS_API_KEY": "bf_live_sec_your_token_here"
      }
    }
  }
}

Claude Code (CLI)

claude mcp add backforms --env BACKFORMS_API_KEY=bf_live_sec_your_token_here -- npx -y backforms-mcp

🛠️ Complete Tool Catalog

Tool

Parameters

Description

create_form

name, redirect_url?, honeypot_enabled?, allowed_domains?

Provisions a new form endpoint with action URL and JSX snippets.

list_forms

limit?, offset?

Lists all forms in the workspace with throughput metrics.

get_form_details

form_id

Retrieves security config, access keys, and active integrations.

get_form_submissions

form_id, limit?, status? (all, valid, spam)

Retrieves leads, contact inquiries, and spam analysis.

update_form_settings

form_id, name?, redirect_url?, allowed_domains?, is_active?

Modifies form settings, allowed CORS origins, or custom redirects.

setup_webhook

form_id, webhook_url?, webhook_enabled?, notification_email?, secondary_emails?

Configures webhook endpoints and email notification routing.

send_test_submission

form_id, data?

Dispatches an authenticated test submission to verify the live pipeline.

delete_form

form_id

Permanently deletes a form endpoint from the workspace.

check_workspace_usage

(none)

Checks monthly quota consumption, spam blocked, and storage.


🔒 Security & Privacy Architecture

  • Stateless & Serverless: Runs locally via standard I/O (stdio). Zero long-lived streaming overhead.

  • SHA-256 Authentication: Personal Access Tokens are verified with secure hash comparisons.

  • No Sensitive Credential Storage: Tokens and database credentials are never logged or stored in plain text.

  • Strict CORS & Domain Origin Locks: Perimeter origin restrictions protect against unauthorized cross-site form posting.



License

MIT © AC Softworks, LLC (contact: info@acsoftworks.com)

Available Tools

9 tools
check_workspace_usageA

Checks the current workspace submission quota, active plan tier, active forms count, and cloud storage usage.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden. 'Checks' implies a non-mutating read with no parameters, so the risk surface is inherently small, but the description never explicitly states read-only behavior, permission requirements, or whether results are cached/live.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. Every clause names a distinct piece of information the tool returns, so nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description's enumeration of the four returned metrics effectively documents the response shape, which is the main thing an agent needs. Only the absence of usage-timing guidance keeps it short of complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there are no parameter semantics to document. Baseline 4 applies; nothing in the description contradicts or misrepresents the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb ('Checks') plus a clearly scoped resource ('current workspace submission quota, active plan tier, active forms count, cloud storage usage'). The four enumerated metrics leave no ambiguity, and none of the sibling tools (form CRUD, submissions, webhooks) overlap with this usage-reporting purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description never states when to call this tool — no mention of calling it before form creation to check quota, before uploads to check storage, or any other trigger condition. No alternatives exist among siblings, but no usage context is offered either.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_formB

Creates a new serverless form endpoint in Backforms and returns the public action URL along with ready-to-use HTML and Next.js code snippets.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesDescriptive name of the form (e.g. 'Landing Page Contact', 'Waitlist Signup')
redirect_urlNoOptional custom URL to redirect users after successful submission
honeypot_fieldNoName of the hidden honeypot field (default: 'botcheck')
allowed_domainsNoComma-separated list of allowed origin domains for CORS protection (e.g. 'mycompany.com, app.mycompany.com')
honeypot_enabledNoEnable built-in anti-bot honeypot protection (default: true)

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It usefully discloses the return payload (public action URL plus code snippets), but omits that this is a persistent mutation, whether the name must be unique, auth/scope requirements, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tight sentence that front-loads the verb and resource, then supplies the return value. Every clause earns its place with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Because there is no output schema, the description rightly summarizes the response. However, for an unannotated mutation tool it leaves gaps around persistence, permissions, and how creation interacts with workspace usage (see check_workspace_usage).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all five parameters (name, redirect_url, honeypot_field, allowed_domains, honeypot_enabled) are already documented. The description adds no parameter-level meaning beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb and resource ('Creates a new serverless form endpoint in Backforms') and even states what is returned (action URL, HTML/Next.js snippets). This clearly separates it from read/update/delete siblings, though no sibling is named explicitly and there is no scope qualifier.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says only what the tool does, never when to reach for it versus update_form_settings or setup_webhook, nor what prerequisites (workspace, plan limits) apply. No alternatives or exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_formA

Permanently deletes a form endpoint from the Backforms workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
form_idYesUUID of the form endpoint to permanently delete

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It importantly discloses that deletion is permanent and scoped to the Backforms workspace, but it omits permissions required, whether associated submissions or webhooks are also removed, and whether any confirmation is needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is a single, front-loaded sentence with no filler. Every word contributes to stating the action, target, and permanence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter destructive tool, the description covers the core action and irreversibility. However, with no annotations or output schema, it should say more about blast radius and permissions to be fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: form_id is already documented as the UUID of the form endpoint to permanently delete. The description adds no further parameter meaning beyond what the schema provides, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb ("permanently deletes") and resource ("form endpoint") with workspace scope. It distinguishes itself from siblings like create_form, list_forms, update_form_settings, and get_form_details by clearly being the destructive removal operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states what the tool does but offers no guidance on when to use it versus alternatives, no prerequisites, and no when-not-to-use conditions. An agent must infer that this is for removing a form endpoint rather than updating or inspecting it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_form_detailsB

Retrieves complete configuration details, access keys, security settings, and active integrations for a specific form.

ParametersJSON Schema
NameRequiredDescriptionDefault
form_idYesUUID of the form endpoint to inspect

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. 'Retrieves' implies a read-only operation and the enumeration of access keys and security settings usefully signals that sensitive data is returned, but there is no statement about required permissions or the read-only nature being guaranteed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; the enumeration of returned content is the only density cost. Appropriate size for a one-parameter read tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-form read with no output schema, the description does give a high-level inventory of what comes back, which is more than nothing. However, with no annotations and no output schema it could say more about return shape and whether the call is safe/idempotent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

One parameter with 100% schema description coverage ('UUID of the form endpoint to inspect'), so the schema already does the work. The phrase 'a specific form' corroborates form_id but adds no format or scoping detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (retrieves) and resource (form configuration) and enumerates the content categories returned (access keys, security settings, integrations), which separates it from list_forms and get_form_submissions. It stops short of explicitly naming a sibling, so a 4 rather than a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the eight siblings. The agent must infer that this is the inspection tool for a single form's configuration.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_form_submissionsC

Retrieves recent leads, contact inquiries, and submission entries received by a specific form endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of submissions to retrieve (default: 10, max: 50)
statusNoFilter submissions by spam status (default: 'all')
form_idYesUUID of the form endpoint in Backforms

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden, and it says little beyond 'Retrieves'. It does not disclose ordering, pagination, whether spam is included by default, authentication requirements, or what a result entry looks like. 'Recent' is the sole behavioral hint and is vague.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler or repetition of the tool name. The enumerated list ('leads, contact inquiries, and submission entries') is slightly redundant, keeping it just short of ideal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with 100% schema coverage, the description covers the essential purpose and hints at return content. However, with no output schema and no annotations, it should say more about the returned shape, ordering, and pagination than it does, leaving gaps for an agent calling it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters (limit, status, form_id) are already documented in the schema, establishing a baseline of 3. The description adds only that submissions are 'recent' and consist of leads/contact inquiries, which is marginal semantic value over the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Retrieves') and resource ('leads, contact inquiries, and submission entries received by a specific form endpoint'), making clear this is a read of form submissions. It does not explicitly contrast itself with siblings like get_form_details, but no sibling plausibly overlaps, so an agent can still select it confidently.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool versus alternatives, no prerequisites (e.g. needing a valid form_id from list_forms), and no exclusions. The only hint is the word 'recent', which implies a recency-oriented listing but is not framed as usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_formsB

Lists all form endpoints in the Backforms workspace, including their IDs, action URLs, and security configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of forms to retrieve (default: 20, max: 100)
offsetNoPagination offset (default: 0)

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It usefully enumerates the returned payload (including security configuration, which signals sensitive data), but never states that the operation is read-only, how pagination behaves, or what an empty workspace returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with the operation and scope front-loaded and the return inventory following. No filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by describing the return contents, and the schema covers both parameters. Missing only pagination behavior and any read-only/safety note, which is minor for a simple enumeration tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with limit and offset documented including defaults and max. The description adds no parameter detail, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Lists) and resource (form endpoints) with workspace scope, and names the returned fields (IDs, action URLs, security configuration). It does not explicitly contrast with the single-form sibling get_form_details, so sibling differentiation is only implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use statement and no mention of alternatives, despite siblings like get_form_details covering a single form. The agent must infer that this is the bulk-enumeration entry point rather than a targeted lookup.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_test_submissionA

Sends an authenticated test submission to verify that the form endpoint and notification pipeline work end-to-end.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataNoOptional custom key-value payload to submit (e.g. { name: 'Test Lead', email: 'lead@example.com', message: 'Hello' })
form_idYesUUID of the form endpoint to test

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden. It usefully reveals two traits: the call is authenticated and it exercises the notification pipeline (a real side effect, likely sending email/SMS). It does not say whether the test submission is persisted, whether it appears in get_form_submissions or counts toward workspace usage, or how failures are reported — significant gaps for a no-annotation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that states the action, the auth requirement, and the verification purpose with zero filler. Nothing could be removed without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter tool with no output schema, the description covers what it does but leaves key operational questions unanswered: whether the test lead is stored, whether it consumes workspace quota (a listed sibling, check_workspace_usage, tracks usage), and what the caller gets back to confirm success. Adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters (form_id UUID and the optional custom data payload with an example) are already fully documented in the schema. The description adds no format, validation, or default information beyond that, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (sends) and resource (test submission) plus the intent: verifying the form endpoint and notification pipeline end-to-end. This clearly separates it from sibling read tools like get_form_submissions and from configuration tools like create_form/update_form_settings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear context for use — verifying a form endpoint and its notification pipeline work end-to-end — and the word 'test' implies it is not for real lead capture. However, it names no explicit exclusion or alternative (e.g., whether to prefer this over a real submission or how it relates to check_workspace_usage).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

setup_webhookC

Configures or updates custom webhook URL forwarding and email notification destinations for a form endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
form_idYesUUID of the form endpoint
webhook_urlNoDestination URL where submissions should be forwarded via HTTP POST (e.g. n8n, Zapier, Discord, or Slack)
webhook_enabledNoEnable or disable webhook forwarding (default: true)
secondary_emailsNoComma-separated list of secondary CC notification emails
notification_emailNoPrimary destination email address for submission alert notifications

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. 'Configures or updates' hints at upsert semantics, but nothing is said about whether omitted fields are preserved or cleared, what permissions are required, whether the call is idempotent, or what confirmation is returned for this mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that states the action and full scope without filler, covering both the webhook and the email-notification halves of the tool. It is efficient, though it does not use the remaining space to address the obvious behavioral gaps.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter mutation tool with no annotations and no output schema, the description covers the functional scope but omits side-effect and omission behavior that an agent would need to call it safely. Adequate as a minimum viable statement, incomplete as a behavioral guide.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each of the five parameters is already well documented (form_id UUID, webhook_url destinations, webhook_enabled default, notification emails). The description only broadly groups them into 'webhook forwarding' and 'email destinations' and adds no format or constraint detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb pair (configures/updates) and the exact resources affected: custom webhook URL forwarding and email notification destinations for a form endpoint. That is enough to distinguish it from create_form, list_forms, and get_form_submissions, though it does not explicitly contrast itself with the overlapping update_form_settings sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to call this versus update_form_settings or update_form_settings-style config, no prerequisites (e.g. form must already exist), and no mention of what happens if it is called on a form with no existing webhook. The agent must infer usage entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_form_settingsC

Updates settings, redirect URLs, honeypot protection, or CORS domains for an existing form.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoUpdated form name
form_idYesUUID of the form to modify
is_activeNoSet whether the form endpoint accepts new submissions
redirect_urlNoUpdated success redirect URL
allowed_domainsNoUpdated allowed CORS domains
honeypot_enabledNoEnable or disable anti-bot honeypot

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It says "Updates" but never states whether this is a partial patch (omitted fields preserved) or a full overwrite, whether it requires ownership/auth, whether changes are reversible, or what happens on invalid IDs. For an unannotated mutation tool this is a meaningful gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence naming the verb and the affected areas, with no filler. It is efficient, though the enumeration of fields partially duplicates the schema rather than adding new information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations and no output schema, the description should disclose mutation semantics and safety context, and it does not. The schema does document all six parameters, so the gap is behavioral rather than structural, leaving the definition only minimally viable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter already has its own description and the baseline is 3. The description merely groups the same fields at a higher level and adds no format, default, or dependency information beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ("Updates") and resource (settings on "an existing form") and enumerates the affected fields, so the agent knows this is a mutation on a persisted form. It does not name or contrast with siblings like create_form or delete_form, so it falls short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"For an existing form" is the only usage constraint, implying the form must already exist, but there is no explicit when-to-use guidance, no mention of alternatives such as create_form for new forms, and no prerequisites or required permissions stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 9 tool updatesv1.0.3
    • First observedcheck_workspace_usage
    • First observedcreate_form
    • First observeddelete_form
    • First observedget_form_details
    • First observedget_form_submissions
    • First observedlist_forms
    • First observedsend_test_submission
    • First observedsetup_webhook
    • First observedupdate_form_settings

TDQS

A3.5/5.0

Scored across 9 tools

Disambiguation4/5

Most tools target distinct resources and actions (create/list/update/delete form, get submissions, get details, test submission, workspace usage). Minor overlap exists between update_form_settings and setup_webhook (both tweak a form's configuration), and between get_form_details and get_form_submissions, but descriptions clearly separate config from data and add a slight risk of misselection.

Naming Consistency5/5

All nine tools use a consistent snake_case verb_noun pattern (create_form, list_forms, get_form_submissions, update_form_settings, delete_form, get_form_details, setup_webhook, send_test_submission, check_workspace_usage). The convention is predictable and readable throughout.

Tool Count5/5

Nine tools is well-scoped for a serverless form backend, covering the create/read/update/delete lifecycle plus submissions, webhooks, testing, and usage. Each tool earns its place with no obvious redundancy.

Completeness4/5

Full form CRUD, submissions retrieval, webhook/email setup, test submission, and usage checking are covered, giving solid lifecycle support. The main gap is submission-level management (e.g., fetching or deleting an individual submission by ID/export), which agents may want but can partly work around.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers