Slack Webhook
Poste mensagens em canais do Slack usando webhooks de entrada.
Documentação
Slack Webhook MCP Server
Um servidor Model Context Protocol (MCP) que permite que aplicações LLM como o Claude Desktop enviem mensagens para canais do Slack via webhooks de entrada.
Recursos
- Envie mensagens em texto simples ou formatadas em markdown para o Slack
- Gerenciamento simples e seguro de URLs de webhook
- Construído com Deno para desenvolvimento moderno em TypeScript
- Cobertura completa de testes
Instalação
Pré-requisitos
- Deno instalado no seu sistema
- Um workspace do Slack com webhooks de entrada habilitados
- Claude Desktop (ou outro cliente compatível com MCP)
Configuração
-
Clone este repositório:
git clone https://github.com/yourusername/slack-webhook-mcp.git cd slack-webhook-mcp -
Crie um webhook de entrada do Slack:
- Vá para o Diretório de Aplicativos do seu workspace do Slack
- Pesquise por "Incoming WebHooks" e adicione-o
- Escolha um canal e crie uma URL de webhook
- Copie a URL do webhook (ela deve se parecer com
https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX)
-
Configure seu ambiente:
cp .env.example .env # Edit .env and add your webhook URL
Configuração
Claude Desktop
Adicione este servidor ao seu arquivo de configuração do Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"slack-webhook": {
"command": "deno",
"args": ["run", "--allow-net", "--allow-env", "--allow-read", "/path/to/slack-webhook-mcp/src/index.ts"],
"env": {
"SLACK_WEBHOOK_URL": "https://hooks.slack.com/services/YOUR/WEBHOOK/URL"
}
}
}
}
Usando o Binário Compilado
Você também pode compilar o servidor para um executável autônomo:
deno task build
Em seguida, use o binário na sua configuração:
{
"mcpServers": {
"slack-webhook": {
"command": "/path/to/slack-webhook-mcp/slack-webhook-server",
"env": {
"SLACK_WEBHOOK_URL": "https://hooks.slack.com/services/YOUR/WEBHOOK/URL"
}
}
}
}
Uso
Uma vez configurado, você pode usar a seguinte ferramenta no Claude Desktop:
send_slack_message
Envie uma mensagem para o seu canal do Slack configurado.
Parâmetros:
message(obrigatório): O texto da mensagem a ser enviadowebhook_url(opcional): Substituir a URL de webhook padrãoformat(opcional): Formato da mensagem - "text" ou "markdown" (padrão: "markdown")
Exemplos:
- "Envie uma mensagem no Slack dizendo que a implantação foi bem-sucedida"
- "Notifique a equipe no Slack que os testes estão passando"
- "Envie 'Build failed: timeout in test suite' para o Slack com formato de texto simples"
Desenvolvimento
Comandos Disponíveis
# Run in development mode with auto-reload
deno task dev
# Run tests
deno task test
# Run tests with coverage
deno task test:coverage
# Type checking
deno task check
# Linting
deno task lint
# Format code
deno task fmt
# Build standalone executable
deno task build
Estrutura do Projeto
slack-webhook-mcp/
├── src/
│ ├── index.ts # Entry point
│ ├── server.ts # MCP server implementation
│ ├── tools/
│ │ ├── slack_webhook.ts # Slack webhook tool
│ │ └── slack_webhook_test.ts # Tool tests
│ ├── types.ts # TypeScript types
│ └── index_test.ts # Integration tests
├── deno.json # Deno configuration
├── README.md # This file
└── .env.example # Environment variables example
Segurança
- Nunca envie seu arquivo
.envou URLs de webhook para o controle de versão - As URLs de webhook são validadas para garantir que correspondam ao formato do Slack
- Todos os erros são tratados de forma elegante, sem expor informações sensíveis
Contribuindo
- Faça um fork do repositório
- Crie sua branch de recurso (
git checkout -b feature/amazing-feature) - Execute os testes e garanta que eles passem (
deno task test) - Faça commit das suas alterações (
git commit -m 'Add amazing feature') - Envie para a branch (
git push origin feature/amazing-feature) - Abra um Pull Request
Licença
Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.
Agradecimentos
- Construído usando o Model Context Protocol SDK
- Desenvolvido com Deno
- Integra-se com Slack Incoming Webhooks