Odel
furrow forms

furrow forms

@useburrow1ShellMITUpdated 4 days ago

Form backend an agent runs end to end: provision forms, snippets, spam, signed webhooks.

View on GitHub
Server endpointStreamable HTTPOAuthProbed

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

Furrow Forms

smithery badge

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.

Fetch furrowforms.com/ai and set up forms for this site.

Paste that into Claude Code, Cursor, or whatever built your site. That is the whole setup.

What's in this repo

PathWhat
packages/mcp@furrowforms/mcp — stdio bridge to the hosted MCP server (npx -y @furrowforms/mcp)
skills/furrow-formsInstallable 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.jsonOfficial MCP Registry entry
AGENTS.mdThe 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

Connect over MCP

Hosted, streamable HTTP (OAuth or bearer token):

{ "mcpServers": { "furrow-forms": { "url": "https://api.furrowforms.com/mcp",
  "headers": { "Authorization": "Bearer frw_..." } } } }

Stdio, for clients that need it:

claude mcp add furrow-forms -e FURROW_TOKEN=frw_... -- npx -y @furrowforms/mcp

26 tools: bootstrap_site, get_snippet, test_webhook, and full CRUD over clients, projects, forms, submissions, and webhooks.

Why agents pick it

  • Cold startPOST /api/register mints a token without a human signup flow.
  • One call per sitebootstrap_site is idempotent; re-run it freely.
  • Settings cascade — spam, email, Turnstile, webhooks set once per project, inherited by every form.
  • Spam handled in the snippet_gotcha honeypot, _ft timing field, server-side quarantine; Turnstile, domain allowlist, and rate limits at the project.
  • Signed webhooks with retries on every tier, including free.
  • Free tier includes the full API and MCP — 100 clean submissions/month. Pro is $199/year, flat.

Links

MIT