brentgilmore avatar

Superforms

brentgilmore/superforms-v2

This bridges the gap when your AI agent needs actual human input mid-workflow. It's voice-first, meaning users can speak answers instead of typing them, which gets surfaced through answer links, MCP tools, or standard HTTP APIs depending on your setup. Reach for this when you're building agents that can't make assumptions and need to ask clarifying questions, get approvals, or collect information only a human has. The streamable HTTP transport means you can integrate it without heavy SDK dependencies. Think form submissions, confirmation dialogs, or any decision point where the AI legitimately needs to hand off control and wait for a person to weigh in before continuing.

tools
11
transport
HTTP
last updated
Jun 4, 2026

Install

From registry metadata
$ npx add-mcp https://superforms.co/mcp --name superforms

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http superforms https://superforms.co/mcp

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 11 tools

Verified live against the running server on Nov 6, 2026.

create_formPublish a voice-first form link immediately after creator confirmation, collect human answers, and pipe responses back to the agent.13 params

Publish a voice-first form link immediately after creator confirmation, collect human answers, and pipe responses back to the agent.

Parameters* required
contextstring
Private context for smart follow-ups. Summarize relevant non-sensitive host-conversation context and append any extra context the creator provides. Never shown to respondents.
creationSessionUrlstring
followUpModestring
For exactly one question, set this only after asking the creator "Want smart follow-up questions?" Use deep_dive for yes or none for no. For multiple questions, use none unless explicitly requested.one of none · smart · deep_dive
goalstring
max_followups_per_questionnumber
Optional compatibility setting. Omit for adaptive one-question smart follow-ups.
max_total_questionsnumber
Optional compatibility setting. Omit for adaptive one-question smart follow-ups.
persistentboolean
promptstring
Plain-English ask or request. Use only when explicit questions are not already known.
questionContextobject
questionsarray
Explicit questions to ask the respondent. Use this whenever questions already exist; preserve them exactly.
responseLimitstring
Use "one" for a form intended for one named person/client. Use "multiple" for forms, surveys, feedback, customers, users, and public/embedded links.one of one · multiple
responseModestring
one of voice_preferred · text_only · voice_only
titlestring
create_feedback_formPublish a voice-first feedback, cancellation, feature request, survey, or research form immediately after creator confirmation, with optional smart follow-ups.13 params

Publish a voice-first feedback, cancellation, feature request, survey, or research form immediately after creator confirmation, with optional smart follow-ups.

Parameters* required
contextstring
Private context for smart follow-ups. Summarize relevant non-sensitive host-conversation context and append any extra context the creator provides. Never shown to respondents.
creationSessionUrlstring
followUpModestring
For exactly one question, set this only after asking the creator "Want smart follow-up questions?" Use deep_dive for yes or none for no. For multiple questions, use none unless explicitly requested.one of none · smart · deep_dive
goalstring
max_followups_per_questionnumber
Optional compatibility setting. Omit for adaptive one-question smart follow-ups.
max_total_questionsnumber
Optional compatibility setting. Omit for adaptive one-question smart follow-ups.
persistentboolean
promptstring
Plain-English ask or request. Use only when explicit questions are not already known.
questionContextobject
questionsarray
Explicit questions to ask the respondent. Use this whenever questions already exist; preserve them exactly.
responseLimitstring
Use "one" for a form intended for one named person/client. Use "multiple" for forms, surveys, feedback, customers, users, and public/embedded links.one of one · multiple
responseModestring
one of voice_preferred · text_only · voice_only
titlestring
create_askCreate a voice-first Superforms answer link for human input. Backward-compatible alias for create_form.13 params

Create a voice-first Superforms answer link for human input. Backward-compatible alias for create_form.

Parameters* required
contextstring
Private context for smart follow-ups. Summarize relevant non-sensitive host-conversation context and append any extra context the creator provides. Never shown to respondents.
creationSessionUrlstring
followUpModestring
For exactly one question, set this only after asking the creator "Want smart follow-up questions?" Use deep_dive for yes or none for no. For multiple questions, use none unless explicitly requested.one of none · smart · deep_dive
goalstring
max_followups_per_questionnumber
Optional compatibility setting. Omit for adaptive one-question smart follow-ups.
max_total_questionsnumber
Optional compatibility setting. Omit for adaptive one-question smart follow-ups.
persistentboolean
promptstring
Plain-English ask or request. Use only when explicit questions are not already known.
questionContextobject
questionsarray
Explicit questions to ask the respondent. Use this whenever questions already exist; preserve them exactly.
responseLimitstring
Use "one" for a form intended for one named person/client. Use "multiple" for forms, surveys, feedback, customers, users, and public/embedded links.one of one · multiple
responseModestring
one of voice_preferred · text_only · voice_only
titlestring
join_creation_sessionJoin a Superforms homepage creation handoff session before creating the real form. Pass agentName with the client name, such as Codex, Claude Code, Claude, ChatGPT, or Cursor.2 params

Join a Superforms homepage creation handoff session before creating the real form. Pass agentName with the client name, such as Codex, Claude Code, Claude, ChatGPT, or Cursor.

Parameters* required
agentNamestring
creationSessionUrl*string
update_creation_sessionUpdate a homepage creation handoff draft with the current form title, questions, and settings before the user clicks Set live.10 params

Update a homepage creation handoff draft with the current form title, questions, and settings before the user clicks Set live.

Parameters* required
contextstring
Private smart-follow-up context. Summarize relevant non-sensitive host-conversation context and append any extra context the creator provides. Never shown to respondents.
creationSessionUrl*string
followUpModestring
one of none · smart · deep_dive
goalstring
max_followups_per_questionnumber
Use 0 by default. Use 1 only when smart follow-ups are explicitly requested.
max_total_questionsnumber
Use 20 for deep-dive interviews.
questionsarray
Current draft questions to show in the live form preview.
responseLimitstring
Use one for a named person/client. Use multiple for feedback forms, surveys, customers, users, and public links.one of one · multiple
responseModestring
one of voice_preferred · text_only · voice_only
titlestring
get_responsesFetch persisted raw responses for a Superforms ask. This is the MCP equivalent of the HTTP bridge answers endpoint.3 params

Fetch persisted raw responses for a Superforms ask. This is the MCP equivalent of the HTTP bridge answers endpoint.

Parameters* required
agentToken*string
askId*string
sincestring
list_asksList recent asks for a provided private agent token.1 params

List recent asks for a provided private agent token.

Parameters* required
agentToken*string
watch_askWait up to two minutes and return as soon as an individual answer is saved, including answers received while an agent was reconnecting and while the form remains in progress. The wait ends when this call returns; nothing keeps watching afterward. Pass the returned nextSince as...5 params

Wait up to two minutes and return as soon as an individual answer is saved, including answers received while an agent was reconnecting and while the form remains in progress. The wait ends when this call returns; nothing keeps watching afterward. Pass the returned nextSince as...

Parameters* required
agentToken*string
askIdstring
sincestring
ISO timestamp cursor from the last response the agent processed.
timeoutMsnumber
Maximum wait in milliseconds, capped at 120000.
url*string
list_my_formsList forms owned by the connected Superforms account, including response counts and latest response timestamps.

List forms owned by the connected Superforms account, including response counts and latest response timestamps.

No parameters. Call it with no arguments.

get_my_form_responsesRead persisted raw responses for a form owned by the connected Superforms account. No per-form agent token is required.2 params

Read persisted raw responses for a form owned by the connected Superforms account. No per-form agent token is required.

Parameters* required
askId*string
sincestring
Optional ISO timestamp cursor.
watch_my_form_responsesReturn any existing individual answers immediately, or wait briefly until the respondent saves their next answer, even while the form remains in progress.3 params

Return any existing individual answers immediately, or wait briefly until the respondent saves their next answer, even while the form remains in progress.

Parameters* required
askId*string
sincestring
Optional ISO timestamp cursor.
timeoutMsnumber
Maximum wait in milliseconds, capped at 120000.

Sponsors

Readme

Details

Repository
github.com/brentgilmore/superforms-v2
Transport
HTTP
Registry
MCP registry, active
Tools verified
Nov 6, 2026