Add run_webhook tool for executing workflows via webhooks
This commit adds a new MCP tool, run_webhook, which allows executing n8n workflows via webhooks instead of using the API directly. This implementation: 1. Creates a new RunWebhookHandler class that: - Takes a workflowName parameter and automatically prepends "webhook/" to create the full path - Uses basic authentication from environment variables - Makes HTTP requests to the webhook endpoints and returns the responses 2. Adds new environment variables: - N8N_WEBHOOK_USERNAME: Username for webhook basic authentication - N8N_WEBHOOK_PASSWORD: Password for webhook basic authentication 3. Updates server configuration and handlers to register and expose the new tool 4. Adds comprehensive documentation in: - execution-tools.md with examples and schema - README.md with configuration and usage information This provides a simpler alternative to the API-based workflow execution, allowing Claude to trigger n8n webhooks directly. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -110,7 +110,8 @@ function setupToolCallRequestHandler(server: Server): void {
|
||||
const {
|
||||
ListExecutionsHandler,
|
||||
GetExecutionHandler,
|
||||
DeleteExecutionHandler
|
||||
DeleteExecutionHandler,
|
||||
RunWebhookHandler
|
||||
} = await import('../tools/execution/index.js');
|
||||
|
||||
// Route the tool call to the appropriate handler
|
||||
@@ -144,6 +145,9 @@ function setupToolCallRequestHandler(server: Server): void {
|
||||
} else if (toolName === 'delete_execution') {
|
||||
const handler = new DeleteExecutionHandler();
|
||||
result = await handler.execute(args);
|
||||
} else if (toolName === 'run_webhook') {
|
||||
const handler = new RunWebhookHandler();
|
||||
result = await handler.execute(args);
|
||||
} else {
|
||||
throw new Error(`Unknown tool: ${toolName}`);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user