MCP server
ZenoForms ships a streamable-HTTP MCP server at https://mcp.forms.zeno.io. It supports OAuth 2.1 Dynamic Client Registration so any compliant client can one-click connect.
Connect from Claude Code
{
"mcpServers": {
"zenoforms": {
"url": "https://mcp.forms.zeno.io",
"transport": "http"
}
}
} On first tool call, Claude opens a browser tab for OAuth. Approve; you're back in the editor.
Create a form mid-build
// In Claude Code (after OAuth one-click)
await mcp.zenoforms.create_form({
owner_email: "[email protected]",
name: "Contact form",
description: "Name, email, message; honeypot spam guard"
});
// => { form_id, endpoint_url, shareable_url, claim_url } Tools
create_form(owner_email, name, description)list_forms()get_submissions(form_id, limit)
Claim flow
If the owner_email isn't yet verified, ZenoForms returns a claim_url. Share it with the human; they click, verify, and the form (and any queued submissions) transfers to their dashboard.