MCP Fusion/Integrations and federation/Conector n8n

Conector n8n

Pergunte à IA sobre a Vinkius

Exponha workflows n8n com tags como ferramentas MCP: descubra webhooks automaticamente, infira esquemas de entrada e atualize a lista de ferramentas do agente quando os workflows mudarem.

O n8n já contém a lógica de automação. O MCP Fusion transforma esses workflows em um conector voltado para agentes sem pedir que você reescreva cada workflow em TypeScript. O pacote n8n descobre webhooks, infere seu formato de entrada e sintetiza ferramentas agrupadas.

Descoberta automática de workflows com tags

typescript
import { createN8nConnector } from '@mcpfusion/n8n';

const n8n = await createN8nConnector({
  url: process.env.N8N_URL!,
  apiKey: process.env.N8N_API_KEY!,
  includeTags: ['ai-enabled'],
  pollInterval: 60_000,
  onChange: () => server.notification({
    method: 'notifications/tools/list_changed',
  }),
});

for (const tool of n8n.tools()) {
  registry.register(defineTool(tool.name, tool.config));
}

A configuração de origem é intencionalmente pequena: url e apiKey são obrigatórios; includeTags, excludeTags, timeout, pollInterval e onChange são opcionais. A filtragem por tags acontece durante a descoberta, portanto workflows internos nunca entram na superfície do conector.

O que a descoberta faz

WorkflowDiscovery lê os workflows do n8n e identifica fluxos acionados por webhook. inferSchema transforma o payload do webhook em definições de parâmetros. synthesizeTool cria uma ferramenta, e synthesizeAll cria o conjunto completo. toToolName atribui ao workflow um nome MCP determinístico.

Quando a consulta detecta um workflow alterado, chame notifications/tools/list_changed por meio de onChange. O cliente recarrega a superfície sem um novo deploy do código do conector.

Definição manual de ferramenta

A descoberta é conveniente, mas um contrato público estável pode ser melhor escrito manualmente:

typescript
import { defineN8nTool } from '@mcpfusion/n8n';

const sendInvoice = defineN8nTool({
  name: 'billing.send_invoice',
  workflowId: 'workflow_42',
  webhookPath: 'billing/send-invoice',
  method: 'POST',
  description: 'Send an invoice through the approved workflow',
  params: {
    invoice_id: { type: 'string', required: true },
    notify_customer: { type: 'boolean', required: false },
  },
  tags: ['billing'],
});

A configuração manual aceita workflowId, webhookPath, o método HTTP opcional, description, params, annotations e tags. Você controla o nome e o esquema da ferramenta; o n8n controla a execução do workflow.

Limite de segurança

A chave de API é uma credencial do conector, não um argumento do modelo. Armazene-a com BYOC credentials, nunca em um prompt ou em um esquema de ferramenta gerado. Adicione middleware de autenticação ao redor das ferramentas sintetizadas, filtre tags por deploy e associe Presenters quando um workflow retornar registros do domínio. O n8n não infere automaticamente sua política de tenant nem redige campos arbitrários da resposta.

Próximos passos