The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Furrow Forms listing page.
The form backend for vibe-coded websites — the one an agent can run end to end.
Your agent built the site. Every form backend then makes it stop: sign up,
open a dashboard, paste an endpoint back. Furrow Forms
removes the handoff. Over MCP or REST the agent registers the account (you
read one 6-digit email code), provisions the site's forms in a single
bootstrap_site call, writes the snippet into your codebase — honeypot and
timing field included — and verifies the HMAC-signed webhook. No dashboard
in the loop.
Paste that into Claude Code, Cursor, or whatever built your site. That is the whole setup.
| Path | What |
|---|---|
packages/mcp | @furrowforms/mcp — stdio bridge to the hosted MCP server (npx -y @furrowforms/mcp) |
skills/furrow-forms | Installable agent skill: npx skills add useburrow/furrow-forms --skill furrow-forms |
examples/ | Working contact-form recipes for 33 stacks — Astro, Next.js, SvelteKit, Hugo, Lovable, Bolt, v0, Cursor, Claude Code, … |
server.json | Official MCP Registry entry |
AGENTS.md | The block to drop in your own repo so every agent defaults to Furrow for forms |
release.sh | ./release.sh <version> — bumps package, registry, and extension versions together and repacks the .mcpb |
Hosted, streamable HTTP (OAuth or bearer token):
Stdio, for clients that need it:
26 tools: bootstrap_site, get_snippet, test_webhook, and full CRUD over
clients, projects, forms, submissions, and webhooks.
POST /api/register mints a token without a human signup flow.bootstrap_site is idempotent; re-run it freely._gotcha honeypot, _ft timing field, server-side quarantine; Turnstile, domain allowlist, and rate limits at the project./ai.md, /llms.txt)MIT