
Criei um construtor de formulários que vive dentro do seu chat de IA
A troca de contexto é a coisa que me mata.
Estou no meio de uma conversa com Claude, resolvendo algo, e então preciso coletar respostas de algumas pessoas. Então, abro o Typeform em outra aba, crio o formulário, copio o link, volto. Nesse ponto, perdi completamente o fio do que estava pensando.
Então, em um fim de semana, decidi consertar isso para mim. O resultado é o MCP Forms — você descreve um formulário para Claude, ele o cria e te entrega um link ao vivo, e você pode ler as respostas mais tarde. Tudo na mesma janela de chat.
Veja como realmente é
Você apenas fala com ele:
Crie um formulário de candidatura de emprego. Pergunte pelo nome completo, e-mail e nível de experiência
(Júnior / Médio / Sênior). Se eles selecionarem Sênior, mostre um campo perguntando sobre
sua experiência em liderança.
Claude chama a ferramenta, o formulário é gerado e você recebe um link compartilhável de volta — ou um cartão de visualização inline se você estiver em um cliente suportado:
O formulário em si é limpo, funciona em dispositivos móveis, tem um alternador de claro/escuro. A lógica condicional funciona exatamente como você esperaria — selecione Sênior, o campo de liderança aparece:
Quando você quiser ver quem o preencheu:
Mostre-me as submissões para o formulário de candidatura de emprego
Exporte como CSV
A parte que eu acho genuinamente legal sobre isso
A maioria das ferramentas MCP são envoltórios em torno de operações de leitura. Pesquise isso, resuma aquilo, busque a outra coisa. O que eu gostei de construir este é que a IA está realmente criando algo que persiste — um formulário real em uma URL real que outras pessoas podem preencher, que coleta dados reais.
Parece pequeno, mas é um tipo diferente de coisa. A IA não está apenas ajudando você a pensar, está ajudando você a construir.
Como eu construí isso
A pilha é bem simples:
Claude Desktop / Claude.ai / Cursor / qualquer cliente MCP
│
│ MCP (stdio ou streamable-http)
▼
Servidor MCP em Python
│
│ HTTP
▼
API ASP.NET 9 (no Railway)
│
├── API Claude → esquema de formulário JSON
├── SQLite para armazenamento
└── Templates Scriban → HTML
O fluxo que faz isso funcionar: quando você descreve um formulário, a API chama Claude com um prompt que retorna um esquema JSON — tipos de campo, rótulos, opções, regras condicionais. O renderizador de formulários pega esse esquema e gera HTML no lado do servidor usando templates Scriban. Claude é chamado exatamente uma vez por formulário, no momento da criação. Carregar a página do formulário não toca a API da IA de forma alguma.
A lógica condicional vive no esquema como regras showIf:
{
"id": "experiencia_lideranca",
"type": "textarea",
"label": "Descreva sua experiência em liderança",
"showIf": { "field": "nivel_experiencia", "value": "Sênior" }
}
Há um pouco de JS puro no formulário que observa campos de gatilho e mostra/esconde dependentes. Uma coisa que eu errei da primeira vez — eu estava usando getElementById para encontrar grupos de botões de rádio, o que não funciona porque entradas de rádio usam name em vez de id. Tive que voltar para querySelectorAll('[name="..."]'). Clássico.
No lado da segurança: os endpoints MCP estão atrás de uma chave de API, a visualização e a submissão do formulário são públicas (obviamente — as pessoas precisam preencher seus formulários), a validação do lado do servidor espelha as regras do esquema, limitação de taxa na submissão, XSS tratado pela auto-codificação do Scriban. Nada exótico, apenas o básico feito corretamente.
Nenhuma instalação necessária se você apenas quiser experimentar
O servidor MCP está hospedado no Railway com transporte streamable-http. Adicione-o como um conector personalizado no Claude.ai:
https://mcp-forms-production-cdf7.up.railway.app/mcp
Configurações → Conectores → Adicionar conector personalizado. Funciona da mesma forma no ChatGPT, Cursor, Windsurf.
A coisa do webhook
Cada formulário pode ter uma URL de webhook. Na submissão, o payload é enviado lá via POST. Se for uma URL de webhook de entrada do Slack, o MCP Forms formata o payload como uma mensagem do Slack automaticamente. Qualquer outra coisa recebe JSON bruto.
Estou bastante feliz com essa decisão de design — um recurso, zero integrações nativas, mas desbloqueia Slack, Zapier, Make, n8n e Google Sheets ao mesmo tempo. Você apenas diz a Claude:
Crie um formulário de contato e envie as submissões para meu Slack em
https://hooks.slack.com/services/...
As submissões chegam no Slack como:
Nova submissão: Formulário de Contato
• nome: Jane Smith
• e-mail: jane@example.com
• mensagem: Interessada em seus serviços!
Submetido em 2026-01-15T10:32:00Z
Experimente / pegue o código
github.com/xonaib/mcp-forms — licenciado sob MIT
A ferramenta MCP Forms pode revolucionar a forma como empresas brasileiras coletam dados, integrando a criação de formulários diretamente nas interações com agentes de IA. Isso melhora a eficiência e reduz a perda de foco durante tarefas de coleta de informações.



