This workflow follows the Execute Workflow Trigger → HTTP Request recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"name": "MCP Tool - Unban IP",
"nodes": [
{
"parameters": {},
"id": "execute-workflow-trigger",
"name": "Execute Workflow Trigger",
"type": "n8n-nodes-base.executeWorkflowTrigger",
"typeVersion": 1,
"position": [
240,
300
]
},
{
"parameters": {
"method": "POST",
"url": "http://bw-mcp:8080/rpc",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={\"tool\": \"unban_ip\", \"id\": \"req-{{ $now.toFormat('X') }}\", \n \"params\": {\n \"bans\": {{ JSON.stringify($json.query?.bans || $json.bans) }}\n }\n}",
"options": {
"timeout": 10000
}
},
"id": "http-unban-ip",
"name": "HTTP Request - Unban IP",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
460,
300
]
},
{
"parameters": {
"jsCode": "// Formater la r\u00e9ponse de d\u00e9bannissement\nconst response = $input.item.json.result || $input.item.json;\nconst data = response.data || response;\n\nif (response.status !== 'success') {\n return {\n json: {\n success: false,\n message: `\u274c Erreur lors du d\u00e9bannissement: ${response.msg || 'Erreur inconnue'}`,\n error: response.msg\n }\n };\n}\n\nlet formattedText = `\u2705 D\u00e9bannissement effectu\u00e9 avec succ\u00e8s.\\n`;\n\nif (data && typeof data === 'object') {\n const instances = Object.keys(data);\n formattedText += `\\n**Instances mises \u00e0 jour:** ${instances.join(', ')}\\n`;\n \n instances.forEach(instance => {\n if (data[instance].status === 'success') {\n formattedText += `\\n\u2022 ${instance}: \u2705 OK`;\n } else {\n formattedText += `\\n\u2022 ${instance}: \u274c ${data[instance].msg || 'Erreur'}`;\n }\n });\n}\n\nreturn {\n json: {\n success: true,\n message: formattedText,\n data: data\n }\n};"
},
"id": "code-format-response",
"name": "Code - Format Response",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
680,
300
]
}
],
"connections": {
"Execute Workflow Trigger": {
"main": [
[
{
"node": "HTTP Request - Unban IP",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request - Unban IP": {
"main": [
[
{
"node": "Code - Format Response",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {
"executionOrder": "v1"
},
"staticData": null,
"tags": [],
"triggerCount": 0,
"updatedAt": "2025-12-27T00:00:00.000Z",
"versionId": "1"
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
MCP Tool - Unban IP. Uses executeWorkflowTrigger, httpRequest. Event-driven trigger; 3 nodes.
Source: https://github.com/bunkerity/bunkerweb-mcp/blob/c78636b332c7a2ebf8f1fdce5ea832698dc52f66/n8n-workflows/MCP-Tool-UnbanIP.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
02_LLM_Pipeline v1.0. Uses executeWorkflowTrigger, httpRequest, seaTable. Event-driven trigger; 65 nodes.
This template is a powerful, reusable utility for managing stateful, long-running processes. It allows a main workflow to be paused indefinitely at "checkpoints" and then be resumed by external, async
Upload files from any source to your account Kommo or AmoCRM with a simple and reusable workflow. It can split a large file into small ones and upload chunks. Works for Kommo and amoCRM There are 3 re
Remixed Backup your workflows to GitHub from Solomon's work. Check out his templates.
Remixed Backup your workflows to GitHub from Solomon's work. Check out his templates.