Context switching is the thing that kills me. I’m mid-conversation with Claude, figuring something out, and I need to collect some information from people. So I open Typeform in another tab, build the form, copy the link, come back — and I’ve completely lost the thread.
So I built MCP Forms.
You describe what you want:
Create a job application form. If they select Senior experience level,
show a field asking about their leadership experience.
Claude calls the tool, the form is generated with conditional logic and all, and you get a live shareable link back. Supports text, email, number, textarea, dropdown, radio, checkbox, and date fields. Submissions are readable in the same conversation. Export to CSV. Wire up to Slack or Zapier via webhook. You can update forms conversationally after the fact — add a field, change a label, swap the theme — and forms have a built-in light/dark toggle for respondents.

The stack is Python MCP server + ASP.NET 9 API on Railway, SQLite, Scriban for HTML templating. Claude runs once at form creation time to generate a JSON schema — not on every page load.
No local install needed if you want to try it — add this as a custom connector in Claude.ai:
https://mcp-forms-production-cdf7.up.railway.app/mcp
Full writeup with the technical details on dev.to. Source is on GitHub — MIT licensed.