Not reviewed
No score, grade or rank. This listing is facts from the official MCP registry and our own checks, and it stays out of the rankings until the panel reviews it.
Form backend an agent runs end to end: provision forms, snippets, spam, signed webhooks.
Facts
- MCP registry
com.furrowforms/furrow-forms· 1.0.1- Endpoint
https://api.furrowforms.com/mcp- Packages
npm@furrowforms/mcp stdio- Website
- furrowforms.com/ai
- npm / week
- 34
- GitHub stars
- 1
- Registry entry
- updated 26 Aug 2026
From the official MCP registry, the package registries and our own checks. JSON · Markdown
Why it's listed
- It's published in the registry under furrowforms.com, a namespace the registry only gives to whoever proves they control that domain.
Being indexed says nothing about quality, and nobody can pay for it. Is this yours? Ask for a review.
Tools it lists 27 · about 15,637 tokens of context · checked 1 hour ago
| Tool | What it does | Hint |
|---|---|---|
list_teamsList teams | Use to see workspaces this token can act on. A team-scoped frw_ token returns that team only. An operator token or an MCP OAuth login returns every team you belong to — pass team_id on list_clients, create_client, and… | read-only |
update_teamUpdate team | Use to rename a team. Operator tokens (all workspaces) must pass team_id from list_teams. Team-scoped tokens may omit team_id and cannot target another workspace. Do not use this to create another workspace — that is… | writes |
get_accountGet account | Use to read the team's plan, usage this month, limits, expansion_packs, retention_days, branding, and AI spam filter (ai.typesafe_key_set, ai.notify_suspected_spam). The TypeSafe key itself is never returned. Plans are… | read-only |
update_accountUpdate account | Use to rename the workspace, set branding, or configure the AI spam filter. Pass ai.typesafe_api_key to save this team's TypeSafe key (null clears it; the key is write-only). ai.notify_suspected_spam (default true)… | writes |
create_upgrade_linkCreate upgrade link | Use when a free team is blocked on the 3-project, 100-submission, or one-workspace limit, or when a human should upgrade to yearly ($199/year) so you can keep adding projects, workspaces, and storing new submissions.… | writes |
list_clientsList clients | Use to browse clients (companies). Operator tokens (all workspaces) must pass team_id from list_teams. Team-scoped tokens may omit team_id and cannot target another workspace. Do not use to list websites — call… | read-only |
get_clientGet client | Use to inspect one client. Do not use to list that client's sites — call list_projects with client_id. | read-only |
create_clientCreate client | Use to add a client (company) by slug. Idempotent on slug unless strict is true. Operator tokens (all workspaces) must pass team_id from list_teams. Team-scoped tokens may omit team_id and cannot target another… | writes |
update_clientUpdate client | Use to rename a client. Do not use this to change domains, Turnstile, or webhooks — call update_project. | writes |
archive_clientArchive client | Use to archive a client. Do not use this as a hard delete. There is no unarchive tool in v1. | writes |
list_projectsList projects | Use to browse websites. Pass client_id to list one client's sites (team is inferred). Without client_id, Operator tokens (all workspaces) must pass team_id from list_teams. Team-scoped tokens may omit team_id and cannot… | read-only |
get_projectGet project | Use to inspect one website's settings, domains, webhook URL, email templates, upload policy, plan, usage this month, limits, retention_days, and branding. Returns stored values plus resolved.email. Secrets are never… | read-only |
list_formsList forms | Use to list forms. Pass project_id for one website or client_id for one company (team is inferred). Otherwise Operator tokens (all workspaces) must pass team_id from list_teams. Team-scoped tokens may omit team_id and… | read-only |
get_formGet form | Use to read a form plus resolved and inherited settings, including resolved.email and resolved.uploads. files_url is the private inbox folder for this form under the project inbox (do not put it in a public snippet).… | read-only |
list_submissionsList submissions | Use to inspect recent posts. Available on free and yearly. Pass project_id or form_id to infer the team; omit both and Operator tokens (all workspaces) must pass team_id from list_teams. Team-scoped tokens may omit… | read-only |
get_submissionGet submission | Use to read one stored submission by id, including file metadata and files_url (the form inbox). Do not use this for live submit tests — POST to /s/:publicKey instead. Do not expect signed bucket URLs — download from… | read-only |
get_snippetGet form snippet | Use after the form exists to get copy-paste html, astro, or next code that posts to /s/:publicKey. Do not invent a submit URL — this tool returns it. Snippets are single-value inputs; write checkbox groups and… | read-only |
create_projectCreate project | Use to add one website under an existing client_id. Idempotent on slug unless strict is true. Free accounts are limited to 3 active (non-archived) projects; yearly is unlimited. If create_project returns plan_limit,… | writes |
update_projectUpdate project | Use to patch website settings. Nested email sets notification templates: email.subject, email.from_name, email.intro, email.footer_mode (furrow | minimal | off), email.include_meta. Optional branding updates the team… | writes |
rotate_project_inboxRotate project inbox link | Use when a project's private inbox URL may have leaked. Issues a new inbox key; every previously shared inbox link stops working immediately. get_project returns the new files_url. | writes |
archive_projectArchive project | Use to archive a website. Archived projects reject public submit. Do not use this as a hard delete. There is no unarchive tool in v1. | writes |
create_formCreate form | Use to add a form under an existing project_id. Idempotent on slug unless strict is true. Overrides are nullable; omit them to inherit project notify emails, webhook, redirect, require_turnstile, and email templates.… | writes |
update_formUpdate form | Use to patch form overrides. Pass null on an override to inherit again. Set email.subject or email.intro to override project notification copy for this form only; from_name, footer_mode, and include_meta stay on the… | writes |
archive_formArchive form | Use to archive a form so public submit returns 404. Do not use this as a hard delete. | writes |
upsert_project_webhookUpsert project webhook | Use to set or replace the project webhook URL. Available on free and yearly. A signing secret is generated once if the project has none. Forms inherit this unless webhook_url_override is set. Do not use this for a… | writes |
test_webhookTest webhook | Use to POST a signed webhook.test event to the project's webhook URL. Available on free and yearly. Do not use this to inspect past deliveries — that is REST GET /api/projects/:id/webhook-deliveries. Fails if no webhook… | writes |
bootstrap_siteBootstrap site | Use this to stand up a client, one website (project), and its forms in a single call. name/slug are the client; optional project_name/project_slug default to the same. Free accounts cannot create a fourth active project… | writes |
What https://api.furrowforms.com/mcp answered to tools/list, asked without credentials over MCP 2026-07-28. The token figure is the size of the list as sent, divided by four; a model sees about that much before it calls anything. Full definitions, input schemas included, are in the listing's JSON under mcpTools.
How its tools read to an agent 0 errors · 5 warnings · 1 note
- warnTC07bootstrap_sitethe description is about 601 tokens
- warnTC22bootstrap_sitethe definition is about 2,798 tokens
- warnTC22create_projectthe definition is about 1,678 tokens
- warnTC22update_projectthe definition is about 1,771 tokens
- warnTC23server27 tools, about 15,645 tokens of definitions
- noteTC24server27 of 27 tools have no outputSchema
The checks from /check and anchor check, run each day on the list above: about 15,637 tokens of definitions. Not part of the score yet. Check your own server.