n8n MCP Server
Um servidor MCP para interagir com workflows do n8n por meio de linguagem natural.
Documentação
n8n MCP Server
Um servidor Model Context Protocol (MCP) que permite que assistentes de IA interajam com fluxos de trabalho do n8n por meio de linguagem natural.
Visão Geral
Este projeto fornece um servidor Model Context Protocol (MCP) que capacita assistentes de IA a interagir perfeitamente com o n8n, uma ferramenta popular de automação de fluxos de trabalho. Ele atua como uma ponte, permitindo que assistentes de IA gerenciem e controlem programaticamente fluxos de trabalho e execuções do n8n usando comandos em linguagem natural.
Instalação
Pré-requisitos
- Node.js 20 ou posterior
- Instância do n8n com acesso à API habilitado
Instalar via npm
npm install -g @leonardsellem/n8n-mcp-server
Instalar a partir do código-fonte
# Clone the repository
git clone https://github.com/leonardsellem/n8n-mcp-server.git
cd n8n-mcp-server
# Install dependencies
npm install
# Build the project
npm run build
# Optional: Install globally
npm install -g .
Instalação via Docker
Você também pode executar o servidor usando Docker:
# Pull the image
docker pull leonardsellem/n8n-mcp-server
# Run the container with your n8n API configuration
docker run -e N8N_API_URL=http://your-n8n:5678/api/v1 \
-e N8N_API_KEY=your_n8n_api_key \
-e N8N_WEBHOOK_USERNAME=username \
-e N8N_WEBHOOK_PASSWORD=password \
leonardsellem/n8n-mcp-server
Atualizando o Servidor
A forma de atualizar o servidor depende de como você o instalou inicialmente.
1. Instalado globalmente via npm
Se você instalou o servidor usando npm install -g @leonardsellem/n8n-mcp-server:
- Abra seu terminal ou prompt de comando.
- Execute o seguinte comando para obter a versão mais recente:
npm install -g @leonardsellem/n8n-mcp-server@latest - Se o servidor estiver em execução (por exemplo, como um processo em segundo plano ou serviço), você precisará reiniciá-lo para que as alterações tenham efeito.
2. Instalado a partir do código-fonte
Se você clonou o repositório e instalou a partir do código-fonte:
- Abra seu terminal ou prompt de comando.
- Navegue até o diretório onde você clonou o projeto:
cd path/to/n8n-mcp-server - Se você fez alterações locais no código que deseja manter, considere guardá-las (opcional):
Você pode aplicá-las posteriormente comgit stashgit stash pop. - Baixe as alterações mais recentes do repositório (supondo que você esteja no branch
main):
Se você estiver em um branch diferente, substituagit pull origin mainmainpelo nome do seu branch. - Instale ou atualize quaisquer dependências alteradas:
npm install - Recompile o projeto para incluir as atualizações mais recentes:
npm run build - Se você instalou globalmente a partir desta pasta de código-fonte usando
npm install -g ., talvez queira executar este comando novamente para atualizar o link global:npm install -g . - Reinicie o servidor.
- Se você executar o servidor diretamente usando um comando como
node build/index.jsna configuração MCP do seu assistente de IA, certifique-se de que o caminho ainda esteja correto. Usarnpm install -g .e depoisn8n-mcp-servercomo comando deve manter isso consistente.
- Se você executar o servidor diretamente usando um comando como
3. Usando Docker
Se você estiver executando o servidor usando Docker:
- Baixe a imagem mais recente do Docker Hub:
docker pull leonardsellem/n8n-mcp-server:latest - Pare e remova seu contêiner antigo. Você precisará do nome ou ID do seu contêiner (você pode encontrá-lo usando
docker ps):docker stop <your_container_name_or_id> docker rm <your_container_name_or_id> - Inicie um novo contêiner com a imagem atualizada. Use o mesmo comando
docker runque você usou anteriormente, incluindo todas as suas variáveis de ambiente necessárias (consulte a seção "Instalação via Docker" para um exemplo de comando). Por exemplo:
Certifique-se de usardocker run -e N8N_API_URL=http://your-n8n:5678/api/v1 \ -e N8N_API_KEY=your_n8n_api_key \ -e N8N_WEBHOOK_USERNAME=username \ -e N8N_WEBHOOK_PASSWORD=password \ leonardsellem/n8n-mcp-server:latest:latestou a tag de versão específica que você pretende executar.
Configuração
Crie um arquivo .env no diretório onde você executará o servidor, usando .env.example como modelo:
cp .env.example .env
Configure as seguintes variáveis de ambiente:
| Variável | Descrição | Exemplo |
|---|---|---|
N8N_API_URL | URL completa da API do n8n, incluindo /api/v1 | http://localhost:5678/api/v1 |
N8N_API_KEY | Chave de API para autenticação com o n8n | n8n_api_... |
N8N_WEBHOOK_USERNAME | Nome de usuário para autenticação de webhook (se estiver usando webhooks) | username |
N8N_WEBHOOK_PASSWORD | Senha para autenticação de webhook | password |
DEBUG | Habilitar registro de depuração (opcional) | true ou false |
Gerando uma Chave de API do n8n
- Abra sua instância do n8n em um navegador
- Vá para Configurações > API > Chaves de API
- Crie uma nova chave de API com as permissões apropriadas
- Copie a chave para o seu arquivo
.env
Uso
Executando o Servidor
A partir do diretório de instalação:
n8n-mcp-server
Ou se instalado globalmente:
n8n-mcp-server
Integração com Assistentes de IA
Após compilar o servidor (npm run build), você precisa configurar seu assistente de IA (como VS Code com a extensão Claude ou o aplicativo Claude Desktop) para executá-lo. Isso normalmente envolve editar um arquivo de configuração JSON.
Exemplo de Configuração (por exemplo, em VS Code settings.json ou Claude Desktop claude_desktop_config.json):
{
"mcpServers": {
// Give your server a unique name
"n8n-local": {
// Use 'node' to execute the built JavaScript file
"command": "node",
// Provide the *absolute path* to the built index.js file
"args": [
"/path/to/your/cloned/n8n-mcp-server/build/index.js"
// On Windows, use double backslashes:
// "C:\\path\\to\\your\\cloned\\n8n-mcp-server\\build\\index.js"
],
// Environment variables needed by the server
"env": {
"N8N_API_URL": "http://your-n8n-instance:5678/api/v1", // Replace with your n8n URL
"N8N_API_KEY": "YOUR_N8N_API_KEY", // Replace with your key
// Add webhook credentials only if you plan to use webhook tools
// "N8N_WEBHOOK_USERNAME": "your_webhook_user",
// "N8N_WEBHOOK_PASSWORD": "your_webhook_password"
},
// Ensure the server is enabled
"disabled": false,
// Default autoApprove settings
"autoApprove": []
}
// ... other servers might be configured here
}
}
Pontos-chave:
- Substitua
/path/to/your/cloned/n8n-mcp-server/pelo caminho absoluto real onde você clonou e compilou o repositório. - Use o separador de caminho correto para o seu sistema operacional (barras normais
/para macOS/Linux, barras duplas invertidas\\para Windows). - Certifique-se de fornecer o
N8N_API_URLcorreto (incluindo/api/v1) e oN8N_API_KEY. - O servidor precisa ser compilado (
npm run build) antes que o assistente possa executar o arquivobuild/index.js.
Ferramentas Disponíveis
O servidor fornece as seguintes ferramentas:
Usando Webhooks
Este servidor MCP suporta a execução de fluxos de trabalho por meio de webhooks do n8n. Para usar essa funcionalidade:
- Crie um fluxo de trabalho acionado por webhook no n8n.
- Configure a Autenticação Básica no seu nó de webhook.
- Use a ferramenta
run_webhookpara acionar o fluxo de trabalho, passando apenas o nome do fluxo de trabalho.
Exemplo:
const result = await useRunWebhook({
workflowName: "hello-world", // Will call <n8n-url>/webhook/hello-world
data: {
prompt: "Hello from AI assistant!"
}
});
A autenticação do webhook é tratada automaticamente usando as variáveis de ambiente N8N_WEBHOOK_USERNAME e N8N_WEBHOOK_PASSWORD.
Gerenciamento de Fluxos de Trabalho
workflow_list: Listar todos os fluxos de trabalhoworkflow_get: Obter detalhes de um fluxo de trabalho específicoworkflow_create: Criar um novo fluxo de trabalhoworkflow_update: Atualizar um fluxo de trabalho existenteworkflow_delete: Excluir um fluxo de trabalhoworkflow_activate: Ativar um fluxo de trabalhoworkflow_deactivate: Desativar um fluxo de trabalho
Gerenciamento de Execuções
execution_run: Executar um fluxo de trabalho via APIrun_webhook: Executar um fluxo de trabalho via webhookexecution_get: Obter detalhes de uma execução específicaexecution_list: Listar execuções de um fluxo de trabalhoexecution_stop: Parar uma execução em andamento
Recursos
O servidor fornece os seguintes recursos:
n8n://workflows/list: Lista de todos os fluxos de trabalhon8n://workflow/{id}: Detalhes de um fluxo de trabalho específicon8n://executions/{workflowId}: Lista de execuções de um fluxo de trabalhon8n://execution/{id}: Detalhes de uma execução específica
Roteiro
O n8n MCP Server é um projeto conduzido pela comunidade, e sua direção futura será moldada pelo seu feedback e pelas suas contribuições!
Atualmente, nosso roteiro é flexível e está em desenvolvimento contínuo. Acreditamos em evoluir o servidor com base nas necessidades e ideias dos nossos usuários.
Incentivamos você a se envolver na definição do futuro desta ferramenta:
- Sugerir Recursos: Tem uma ideia para uma nova ferramenta, recurso ou melhoria?
- Discutir Prioridades: Quer opinar sobre no que devemos focar em seguida?
Compartilhe suas ideias, solicitações de recursos e sugestões abrindo uma issue em nossa página de Issues do GitHub. Vamos construir juntos uma ferramenta poderosa para assistentes de IA!
Desenvolvimento
Compilação
npm run build
Executando em Modo de Desenvolvimento
npm run dev
Testes
npm test
Lint
npm run lint
Contribuindo
Aceitamos contribuições da comunidade e estamos animados para ver como você pode ajudar a melhorar o n8n MCP Server! Seja corrigindo um bug, propondo um novo recurso ou melhorando a documentação, sua ajuda é valiosa.
Reportando Bugs
Se você encontrar um bug, por favor, reporte-o abrindo uma issue em nossa página de Issues do GitHub.
Ao enviar um relatório de bug, inclua o seguinte:
- Um título claro e descritivo.
- Uma descrição detalhada do problema, incluindo etapas para reproduzir o bug.
- Informações sobre seu ambiente (por exemplo, versão do Node.js, versão do n8n MCP Server, sistema operacional).
- Quaisquer mensagens de erro ou capturas de tela relevantes.
Sugerindo Melhorias
Estamos sempre procurando maneiras de melhorar o servidor. Se você tiver uma ideia para uma melhoria ou um novo recurso, abra uma issue em nossa página de Issues do GitHub.
Forneça:
- Um título claro e descritivo para sua sugestão.
- Uma explicação detalhada da melhoria proposta e por que ela seria benéfica.
- Quaisquer casos de uso ou exemplos potenciais.
Enviando Pull Requests
Se você gostaria de contribuir com código, siga estas etapas:
- Fork do repositório: Crie seu próprio fork do repositório n8n-mcp-server.
- Crie um branch: Crie um novo branch no seu fork para suas alterações (por exemplo,
git checkout -b feature/your-feature-nameoubugfix/issue-number). - Faça suas alterações: Implemente seu recurso ou correção de bug.
- Certifique-se de que seu código siga o estilo de codificação existente. (Usamos Prettier para formatação, que pode ser executado com
npm run lint). - Inclua testes para suas alterações, se aplicável. Você pode executar testes usando
npm test.
- Certifique-se de que seu código siga o estilo de codificação existente. (Usamos Prettier para formatação, que pode ser executado com
- Faça commit das suas alterações: Escreva mensagens de commit claras e concisas.
- Envie para seu fork: Envie suas alterações para o repositório forkado.
- Abra um Pull Request (PR): Envie um PR para o branch
maindo repositório oficialn8n-mcp-server.- Forneça um título e uma descrição claros para seu PR, explicando as alterações feitas e referenciando quaisquer issues relacionadas.
Revisaremos seu PR o mais rápido possível e forneceremos feedback. Obrigado pela sua contribuição!
Licença
🚀 Junte-se à Nossa Equipe: Chamada para Co-mantenedores!
Este projeto é uma ferramenta vibrante e conduzida pela comunidade, ativamente usada por entusiastas de IA e desenvolvedores. Atualmente, é mantido em regime de meio período por uma pessoa apaixonada que não é uma engenheira experiente, mas é dedicada a unir IA com automação de fluxos de trabalho. Para ajudar este projeto a florescer, garantir sua saúde a longo prazo e acompanhar sua base de usuários em crescimento, estamos procurando co-mantenedores entusiasmados para se juntarem à equipe!
Por que Contribuir?
- Aprender e Crescer: Aprimore suas habilidades em áreas como TypeScript, Node.js, integração de API e desenvolvimento de ferramentas de IA.
- Colaborar: Trabalhe ao lado de outros desenvolvedores e usuários de IA motivados.
- Causar Impacto: Molde diretamente o futuro deste projeto e ajude a construir uma ferramenta valiosa para a comunidade de IA.
- Código Aberto: Ganhe experiência contribuindo para um projeto de código aberto.
Como Você Pode Ajudar
Aceitamos contribuições de muitas formas! Aqui estão algumas áreas onde você pode fazer uma grande diferença:
- Correção de Bugs: Ajude-nos a identificar e eliminar bugs para melhorar a estabilidade.
- Desenvolvimento de Recursos: Implemente novas ferramentas e funcionalidades com base nas necessidades dos usuários e nas suas ideias.
- Documentação: Melhore nossos guias, exemplos e referências de API para tornar o projeto mais acessível.
- Testes: Aprimore nossa suíte de testes (unitários, integração) para garantir qualidade e confiabilidade do código.
- CI/CD: Ajude a otimizar nossos pipelines de desenvolvimento e implantação.
- Revisões de Código: Forneça feedback em pull requests e ajude a manter os padrões de código.
- Suporte à Comunidade: Ajude usuários com dúvidas e auxilie no gerenciamento de discussões.
Participe!
Se você está animado com a interseção entre IA e automação de fluxos de trabalho, e está procurando uma oportunidade gratificante em código aberto, adoraríamos ouvir de você!
Pronto para contribuir?
- Confira nossa página de Issues do GitHub para encontrar tarefas existentes, sugerir novas ideias ou expressar seu interesse em se tornar um co-mantenedor.
- Você pode abrir uma issue intitulada "Co-maintainer Application" para se candidatar formalmente, ou simplesmente começar a contribuir com issues existentes.
- Alternativamente, sinta-se à vontade para entrar em contato com os mantenedores existentes se tiver dúvidas.
Vamos construir juntos o futuro da automação de fluxos de trabalho com IA! 🙌