Servidor MCP
Deixe Claude Code, Cursor, VS Code e outros agentes de IA gerenciarem formulários, envios e webhooks pelo servidor MCP do Ikiform.
O Ikiform roda um servidor remoto de Model Context Protocol. Conecte-o a um agente de IA e o agente pode criar, conectar e configurar formulários, ler e triar envios, e configurar e depurar webhooks no seu workspace, usando as mesmas chaves secretas e escopos da API REST.
| URL | https://ikiform.com/mcp |
| Transporte | Streamable HTTP, sem estado, JSON-RPC via POST |
| Autenticação | Authorization: Bearer ik_sk_... |
| Limite de taxa | 100 requisições por minuto por chave, compartilhadas com a API REST |
Crie uma chave
No painel, crie uma chave secreta e dê a ela só os escopos de que o agente precisa. Toda ferramenta atua no workspace dono da chave. Mantenha a chave fora do seu repositório: use uma variável de ambiente ou o campo de segredo do seu cliente.
| Escopo | Ferramentas |
|---|---|
forms:read | list_forms, get_form e connect_form com um form_id |
forms:write | create_form, update_form, set_form_fields, delete_form |
submissions:read | list_submissions, get_submission |
submissions:write | mark_spam, mark_not_spam, delete_submission |
webhooks:read | list_webhook_endpoints, list_deliveries |
webhooks:write | create_webhook_endpoint e update_webhook_endpoint (com submissions:read), roll_webhook_secret, delete_webhook_endpoint, send_test_event, replay_failed_deliveries |
forms:read e forms:write bastam. Para triagem só de leitura, use submissions:read. Uma ferramenta chamada sem o escopo dela retorna um erro forbidden que indica o escopo que falta.Conecte seu cliente
claude mcp add --transport http ikiform https://ikiform.com/mcp \
--header "Authorization: Bearer ik_sk_..."No Cursor, defina IKIFORM_API_KEY no seu ambiente. O VS Code pede a chave na primeira vez e a guarda com segurança. Qualquer cliente que suporte servidores HTTP remotos com headers personalizados funciona do mesmo jeito.
O Ikiform está listado no registro oficial do MCP como io.github.preetsuthar17/ikiform. No Claude Code, o plugin do Ikiform adiciona o servidor e uma skill para conectar formulários: execute claude plugin marketplace add preetsuthar17/ikiform-plugin e depois claude plugin install ikiform@ikiform.
Ferramentas
Os ids têm o formato frm_... para formulários, sub_... para envios, whk_... para endpoints de webhook e dlv_... para entregas. As listas retornam 25 itens por padrão e no máximo 100; quando has_more for true, passe next_cursor como cursor.
| Ferramenta | O que faz |
|---|---|
list_forms | Formulários do mais recente ao mais antigo, com id, nome, status, número de envios e endpoint |
get_form | O endpoint, os campos, o campo honeypot, os domínios permitidos, a URL de redirecionamento, os snippets de código e as instruções de configuração de um formulário |
create_form | Cria um formulário a partir de um nome, com domínios permitidos e URL de redirecionamento opcionais |
update_form | Pausa ou retoma um formulário e altera o nome, os domínios permitidos, a URL de redirecionamento, a verificação de spam, os limites de taxa ou as notificações por e-mail |
set_form_fields | Publica um esquema de campos contra o qual os envios são validados, ou o remove |
delete_form | Exclui um formulário. O endpoint dele para de aceitar envios |
list_submissions | Envios do mais recente ao mais antigo, filtrados por formulário, status (received ou spam) ou data |
get_submission | Um envio com seus campos, metadados e pontuação de spam |
mark_spam, mark_not_spam | Move um envio para o spam ou de volta, enviando os webhooks correspondentes |
delete_submission | Exclui um envio permanentemente. Não pode ser desfeito |
list_webhook_endpoints | Endpoints com URL, status, eventos e estado de falha. Os segredos nunca são retornados |
create_webhook_endpoint | Adiciona um endpoint e retorna o segredo de assinatura uma única vez |
update_webhook_endpoint | Altera a URL, o formulário, os eventos ou os headers personalizados de um endpoint, ou o desativa e ativa |
roll_webhook_secret | Retorna um novo segredo de assinatura. O antigo continua funcionando por 24 horas |
delete_webhook_endpoint | Exclui um endpoint e o histórico de entregas dele |
list_deliveries | Entregas recentes de um endpoint, com status, tentativas e o último erro |
send_test_event | Envia um evento endpoint.test assinado para um endpoint ativo |
replay_failed_deliveries | Reenvia as entregas que falharam nas últimas 24h, 3d ou 7d |
O servidor também oferece um prompt connect_form: instruções passo a passo para conectar o formulário no seu projeto, preenchidas com o endpoint e os campos do seu formulário quando você passa um form_id.
O que pedir
- “Conecte o formulário de contato deste projeto ao Ikiform.”
- “Mostre o spam da semana passada no formulário de lista de espera e restaure o que parecer real.”
- “Por que meu webhook está falhando? Corrija o handler, envie um teste e depois reenvie o que falhou hoje.”
- “Envie as novas inscrições da lista de espera para a minha rota de API em /api/ikiform e coloque o segredo no .env.”
- “Pause o formulário de contato antigo e ative a verificação humana no novo.”
Os agentes devem confirmar com você antes de excluir formulários, envios ou endpoints, reenviar entregas, publicar um esquema de campos ou alterar domínios permitidos, configurações de spam ou limites de taxa. A skill do plugin do Claude Code os orienta a fazer isso. Segredos de assinatura e do Turnstile ficam em variáveis de ambiente, nunca no código.
Dashboard only
Chaves de API, membros, destinatários de notificação e cobrança ficam no painel, então uma chave que vaza não consegue criar chaves, convidar pessoas, enviar e-mail para novos endereços nem gastar dinheiro.