npm @furrowforms/mcpstreamable-httpMITupdated 13d ago
The form backend for vibe-coded websites โ the one an agent can run end to end.
What can you do with furrow forms?
Furrow Forms
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
| 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 |
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 start โ
POST /api/registermints a token without a human signup flow. - One call per site โ
bootstrap_siteis idempotent; re-run it freely. - Settings cascade โ spam, email, Turnstile, webhooks set once per project, inherited by every form.
- Spam handled in the snippet โ
_gotchahoneypot,_fttiming 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
- Agent instructions: https://furrowforms.com/ai (markdown at
/ai.md,/llms.txt) - Docs: https://furrowforms.com/docs ยท MCP: https://furrowforms.com/docs/mcp
- App: https://app.furrowforms.com ยท API: https://api.furrowforms.com
MIT
Install
Add furrow forms to your client. Pick the one you use.
{
"servers": {
"mcp": {
"type": "http",
"url": "https://api.furrowforms.com/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
claude mcp add mcp -- npx -y @furrowforms/mcpcodex mcp add mcp -- npx -y @furrowforms/mcpamp mcp add mcp -- npx -y @furrowforms/mcp{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@furrowforms/mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@furrowforms/mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@furrowforms/mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@furrowforms/mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@furrowforms/mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"mcp": {
"type": "local",
"command": "npx",
"args": [
"-y",
"@furrowforms/mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"mcp": {
"command": {
"path": "npx",
"args": [
"-y",
"@furrowforms/mcp"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y @furrowforms/mcpRun `goose configure`, choose **Add Extension โ Command-line Extension**, and paste this command.
Score
39 / 100
Incomplete
- Documentation22/25
- Maintenance19/25
- Trust16/20
- Capability0/15
- Install experience15/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 5 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 18 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint โ no local install
Version history
| Versions | Published |
|---|---|
| 1.0.1Latest | Aug 26, 2026 |
| 1.0.0 | Aug 26, 2026 |