Expose production tools to MCP clients with Slack approval gates
Ready for 3.0What this workflow does
This AI workflow has 20 nodes and runs when an HTTP GET request hits its webhook URL (plus 1 other trigger). Along the way it connects Slack.
How it runs
Trigger: When an HTTP GET request hits its webhook URL (plus 1 other trigger).
- JS - Validate Tool Call (Code): runs custom JavaScript code
- If: checks a condition and branches into true / false
- JS - Log Call (Pre-Execution) (Code): runs custom JavaScript code
- Switch: routes items into 2 branches
- Switch: routes items into 4 branches
- Slack: uses Slack
- HTTP - Execute: Deploy Service (HTTP Request): calls an HTTP API (POST)
- HTTP - Execute: Query Production Database (HTTP Request): calls an HTTP API (POST)
- HTTP - Execute: Search Knowledge Base (HTTP Request): calls an HTTP API (POST)
- HTTP - Execute: Issue Refund (HTTP Request): calls an HTTP API (POST)
…plus 4 more steps. See the full node list below.
Services it uses
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (10)
- MCP Server Trigger
@n8n/n8n-nodes-langchain.mcpTrigger - Code
n8n-nodes-base.code - If
n8n-nodes-base.if - No Operation, do nothing
n8n-nodes-base.noOp - Switch
n8n-nodes-base.switch - Slack
n8n-nodes-base.slack - Wait
n8n-nodes-base.wait - HTTP Request
n8n-nodes-base.httpRequest - Code Tool
@n8n/n8n-nodes-langchain.toolCode - Webhook
n8n-nodes-base.webhook
From the author
Quick overview This workflow exposes n8n as an MCP server so MCP clients can request approved production tools, validating and audit-logging each call, routing destructive actions through Slack approval, and then executing narrowly scoped HTTP API requests…