Webhooks MCP
About
Send HTTP requests to webhooks with dynamic parameters.
Details
- Author
- rafabarbosa
- Categories
- Communication, Productivity
Jump to
Setup
Install Webhooks MCP in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/rafabarbosa/webhook_mcp
Follow the installation instructions in the repository README, then restart your MCP client.
Um servidor MCP (Model Context Protocol) para enviar requisições HTTP para webhooks com parâmetros dinâmicos.
- ✅ Suporte a todos os métodos HTTP: GET, POST, PUT, PATCH, DELETE
- ✅ Parâmetros dinâmicos de qualquer tipo (nome, email, telefone, etc.)
- ✅ Headers HTTP personalizados
- ✅ Timeout configurável
- ✅ Validação de entrada com Zod
- ✅ Tratamento de erros detalhado
- ✅ Logs de requisição e resposta
- As dependências já estão instaladas. Para reinstalar se necessário:
Adicione a seguinte configuração no arquivoclaude_desktop_config.json:
{ "mcpServers": { "webhooks": { "command": "node", "args": ["/Users/rafabarbosa/Desktop/scripts/webhooks-mcp/dist/index.js"] } } }
- macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Envia uma requisição HTTP para um webhook com parâmetros personalizados.
- url(obrigatório): URL do webhook (ex:https://meuwebhook.com.br)
- method(obrigatório): Método HTTP (GET, POST, PUT, PATCH, DELETE)
- parameters(opcional): Objeto com parâmetros de qualquer tipo
- headers(opcional): Headers HTTP adicionais
- timeout(opcional): Timeout em milissegundos (padrão: 30000)
{ "url": "https://meuwebhook.com.br/usuarios", "method": "POST", "parameters": { "nome": "João Silva", "email": "joao@email.com", "telefone": "11999999999", "idade": 30, "ativo": true } }
{ "url": "https://api.exemplo.com/dados", "method": "GET", "parameters": { "filtro": "ativo", "limite": 10, "pagina": 1 } }
{ "url": "https://api.exemplo.com/atualizar/123", "method": "PUT", "parameters": { "nome": "João Santos", "status": "atualizado" }, "headers": { "Authorization": "Bearer token123", "X-Custom-Header": "valor" } }
{ "url": "https://api.exemplo.com/deletar/123", "method": "DELETE" }
- GET/DELETE: Parâmetros são enviados como query parameters na URL
- POST/PUT/PATCH: Parâmetros são enviados no body da requisição como JSON
- Erros de validação: Quando os parâmetros não estão no formato correto
- Erros HTTP: Quando o webhook retorna status de erro (4xx, 5xx)
- Erros de rede: Timeout, conexão recusada, etc.
- npm run build: Compila o TypeScript
- npm run dev: Compila em modo watch
- npm start: Executa o servidor compilado
webhooks-mcp/ ├── src/ │ └── index.ts # Servidor MCP principal ├── dist/ # Arquivos compilados ├── examples.json # Exemplos de uso ├── claude_desktop_config.json # Configuração de exemplo ├── package.json ├── tsconfig.json └── README.md
Para testar se o servidor está funcionando:
# Compilar npm run build # Testar execução (pressione Ctrl+C para sair) node dist/index.js # Rodar testes automatizados npm test # Os exemplos do arquivo examples.json são validados automaticamente por testes automatizados.
- Requisições enviadas (método, URL, parâmetros)
- Respostas recebidas (status, tempo de resposta)
- Erros detalhados com contexto
- Validação rigorosa de entrada com Zod
- Headers de User-Agent identificando o MCP
- Timeout configurável para evitar requisições infinitas
- Tratamento seguro de erros sem exposição de dados sensíveis
- Whitelist de URLs/domínios: configure a variável de ambienteWHITELIST_URLS(separada por vírgula) para restringir os destinos permitidos. Exemplo:
export WHITELIST_URLS="api.exemplo.com,https://hooks.slack.com"
Se não configurada, qualquer URL será permitida.
- Níveis de log configuráveis: defina a variável de ambienteLOG_LEVELpara controlar a verbosidade dos logs (debug,info,warn,error). Exemplo:
- Retentativas automáticas: defina as variáveis de ambienteRETRY_ATTEMPTS(número de tentativas, padrão 1) eRETRY_BASE_DELAY_MS(delay inicial em ms, padrão 500) para habilitar retentativas automáticas com backoff exponencial em falhas temporárias.
export RETRY_ATTEMPTS=3 export RETRY_BASE_DELAY_MS=1000
- Internacionalização (i18n): defina a variável de ambienteLANGcomopt(padrão) ouenpara receber mensagens em português ou inglês.
{ "content": [ { "type": "text", "text": "❌ Erro ao enviar webhook!\n\nErro: Erro de validação dos parâmetros\n\nDetalhes:\n{...}" } ], "isError": true }
{ "content": [ { "type": "text", "text": "❌ Erro ao enviar webhook!\n\nErro: Erro HTTP: Request failed with status code 500\n\nDetalhes:\n{...}" } ], "isError": true }
{ "content": [ { "type": "text", "text": "❌ URL não permitida pelo servidor (whitelist).\n\nConsulte o administrador para liberar o domínio ou URL desejada." } ], "isError": true }
Alguns headers são validados automaticamente:
- Authorization: deve ser no formatoBearer <token>
- Content-Type: deve serapplication/json,application/x-www-form-urlencodedouapplication/xml
{ "headers": { "Authorization": "Bearer token123", "Content-Type": "application/json" } }
{ "headers": { "Authorization": "Token 123", "Content-Type": "text/plain" } }
Defina a variável de ambienteWHITELIST_URLScom uma lista separada por vírgula dos domínios ou URLs permitidos.
DefinaLOG_LEVEL=debugpara ver logs detalhados.
DefinaRETRY_ATTEMPTSeRETRY_BASE_DELAY_MSconforme desejado.
Basta rodarnpm testna raiz do projeto.
Como reportar um bug ou sugerir melhoria?
Abra uma issue no repositório do GitHub.
- Configure o Claude Desktop: Adicione a configuração no arquivoclaude_desktop_config.json
- Reinicie o Claude Desktop: Para carregar a nova configuração
- Teste o MCP: Use o Claude para enviar webhooks com diferentes parâmetros
Veja o arquivoexamples.jsonpara exemplos detalhados de como usar o MCP em diferentes cenários:
- Cadastro de usuários
- Integrações com CRM
- Notificações Slack
- Processamento de pagamentos
- E muito mais!
Você pode rodar o MCP facilmente usando Docker:
docker build -t webhook-mcp . docker run --rm -p 3000:3000 \ -e WHITELIST_URLS="api.exemplo.com" \ -e LOG_LEVEL=info \ -e RETRY_ATTEMPTS=3 \ webhook-mcp
Adapte as variáveis de ambiente conforme necessário.
Você pode testar webhooks manualmente pelo terminal:
Siga os prompts para informar URL, método, parâmetros e headers.
Manage your WhatsApp, SMS and Phone Calls using a single MCP connector
Connect to any function, any language, across network boundaries using AgentRPC.
Access your meeting transcripts, summaries, and action items from any AI assistant.
Connect Claude, ChatGPT, and other AI tools to your Granola meeting notes via MCP. Query your notes, search transcripts, and get meeting insights in your favorite AI assistants.
Build with the Kudosity API to send SMS and MMS. Access developer docs, API references and live testing tools to send messages, manage contact lists, configure webhooks and more.
Send SMS, WhatsApp, and RCS messages programmatically with DLT compliance. Manage contacts, schedule campaigns, and track delivery reports.
Interact with Twilio APIs to send messages, manage phone numbers, configure your account, and more.
The VoIPstudio MCP server gives compatible AI assistants secure access to authorised VoIPstudio account data, including recordings, call detail records, live calls and voicemails in order to query call activity, analyse patterns, identify agent performance issues and generate QA or operations reports in plain English.
A bridge server connecting Agent Communication Protocol (ACP) agents with Model Context Protocol (MCP) clients.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



