FormLoom

FormLoom + Cursor

MCP-native

Cursor reads MCP servers from `.cursor/mcp.json`. Add FormLoom and ask the agent to wire a form.

1. Add the MCP server

Add this to .cursor/mcp.json:

.cursor/mcp.json
{
  "mcpServers": {
    "formloom": {
      "command": "npx",
      "args": ["-y", "@formloom/mcp"]
    }
  }
}

2. Ask for a form

Type a prompt like:

Add a contact form to my Astro site using FormLoom and provision a real endpoint.

What you get back

Cursor calls get_snippet + provision_endpoint and writes framework-correct code with a live access key — it works on first run:

app/contact/page.tsx
// app/contact/page.tsx — Next.js 15 App Router, Server Action
export default function ContactPage() {
  async function submit(formData: FormData) {
    "use server";
    const res = await fetch("https://formloom.vercel.app/api/submit/fl_provisioned_key", {
      method: "POST",
      headers: { "Content-Type": "application/json", Accept: "application/json" },
      body: JSON.stringify(Object.fromEntries(formData)),
    });
    // FormLoom scores spam, stores the row, and emails you — no backend to wire.
    return res.json();
  }

  return (
    <form action={submit}>
      <label>
        Name
        <input type="text" name="name" required />
      </label>
      <label>
        Email
        <input type="email" name="email" required />
      </label>
      <label>
        Message
        <textarea name="message" required placeholder="How can we help?"></textarea>
      </label>
      <!-- honeypot: bots fill this, humans don't see it -->
      <input type="checkbox" name="botcheck" style="display:none" tabindex="-1" autocomplete="off" />
      <button type="submit">Send</button>
    </form>
  );
}

Steps

  1. 1Create `.cursor/mcp.json` at your project root with the FormLoom config.
  2. 2Reload Cursor or toggle the MCP server on in Settings → MCP.
  3. 3Ask Cursor to add a form — it calls `get_snippet` and drops in framework-correct code with a provisioned key.

FAQ

From `.cursor/mcp.json` in your project (or the global Cursor settings). Add the FormLoom server block there.
Add a form with Cursor in one prompt — FormLoom MCP · FormLoom