This workflow corresponds to n8n.io template #4820 — we link there as the canonical source.
This workflow follows the Agent → 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 →
{
"id": "XSN9T4R0IyqcV2gC",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Perform Google, Bing, Yandex Search with Bright Data MCP Agent & Google Gemini",
"tags": [
{
"id": "Kujft2FOjmOVQAmJ",
"name": "Engineering",
"createdAt": "2025-04-09T01:31:00.558Z",
"updatedAt": "2025-04-09T01:31:00.558Z"
},
{
"id": "ZOwtAMLepQaGW76t",
"name": "Building Blocks",
"createdAt": "2025-04-13T15:23:40.462Z",
"updatedAt": "2025-04-13T15:23:40.462Z"
},
{
"id": "ddPkw7Hg5dZhQu2w",
"name": "AI",
"createdAt": "2025-04-13T05:38:08.053Z",
"updatedAt": "2025-04-13T05:38:08.053Z"
}
],
"nodes": [
{
"id": "80b9e843-974a-4a93-871f-3ead444d1757",
"name": "When clicking \u2018Test workflow\u2019",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-1300,
300
],
"parameters": {},
"typeVersion": 1
},
{
"id": "2debe6c6-80ef-4fba-a40d-fcfd8a09eefa",
"name": "Bright Data MCP Client List Tools",
"type": "n8n-nodes-mcp.mcpClient",
"position": [
-1080,
300
],
"parameters": {},
"credentials": {
"mcpClientApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "0b66f5bb-66bb-41cf-b165-552d5b169dce",
"name": "Create a binary data",
"type": "n8n-nodes-base.function",
"position": [
180,
220
],
"parameters": {
"functionCode": "items[0].binary = {\n data: {\n data: new Buffer(JSON.stringify(items[0].json, null, 2)).toString('base64')\n }\n};\nreturn items;"
},
"typeVersion": 1
},
{
"id": "8516c6d6-fcae-42ab-8921-9f1d5500f73b",
"name": "MCP Client for Google Search",
"type": "n8n-nodes-mcp.mcpClientTool",
"position": [
-720,
600
],
"parameters": {
"toolName": "search_engine",
"operation": "executeTool",
"toolParameters": "={\n \"query\": \"{{ $json.query }}\",\n \"engine\": \"google\"\n} ",
"descriptionType": "manual",
"toolDescription": "Perform a Google Search and Scrape the Google Search Result"
},
"credentials": {
"mcpClientApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "a17ff821-c508-4b61-8d35-e7f1580e5bb1",
"name": "Set the Input Fields",
"type": "n8n-nodes-base.set",
"position": [
-860,
300
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "219c5e66-e167-44c3-bc65-612c70e8d4a1",
"name": "query",
"type": "string",
"value": "Bright Data"
},
{
"id": "2b9b0541-5c5e-446f-aeaf-8c9ce00dfa00",
"name": "action",
"type": "string",
"value": "Perform Bing search"
},
{
"id": "bcc3ce2a-3708-4b6f-8ddd-3b5e611c63d0",
"name": "webhook_notification_url",
"type": "string",
"value": "https://webhook.site/c9118da2-1c54-460f-a83a-e5131b7098db"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "42639030-338c-4d30-a2e0-a5aaa9325191",
"name": "MCP Client for Bing Search",
"type": "n8n-nodes-mcp.mcpClientTool",
"position": [
-500,
600
],
"parameters": {
"toolName": "search_engine",
"operation": "executeTool",
"toolParameters": "{\n \"query\": \"{{ $json.query }}\",\n \"engine\": \"bing\"\n} ",
"descriptionType": "manual",
"toolDescription": "Perform a Bing Search and Scrape the Bing Search Result"
},
"credentials": {
"mcpClientApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "18f1374e-2516-481c-9fed-3c8757a21296",
"name": "MCP Client for Yandex Search",
"type": "n8n-nodes-mcp.mcpClientTool",
"position": [
-300,
600
],
"parameters": {
"toolName": "search_engine",
"operation": "executeTool",
"toolParameters": "{\n \"query\": \"{{ $json.query }}\",\n \"engine\": \"yandex\"\n} ",
"descriptionType": "manual",
"toolDescription": "Perform a Yandex Search and Scrape the Yandex Search Result"
},
"credentials": {
"mcpClientApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "ff15f988-5f23-4a22-b2fb-25bdd558fce4",
"name": "Bright Data Search AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-600,
300
],
"parameters": {
"text": "={{ $json.action }}\n\nMake sure to output the response as returned by th specific tool.",
"options": {},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2
},
{
"id": "cd255a57-2260-4781-a9b1-e38a4d224572",
"name": "Google Gemini Chat Model for Search Agent",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
-900,
600
],
"parameters": {
"options": {},
"modelName": "models/gemini-2.0-flash-exp"
},
"credentials": {
"googlePalmApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "51db57ef-8626-4268-b377-cd95021537c8",
"name": "Write the search result to disk",
"type": "n8n-nodes-base.readWriteFile",
"position": [
420,
220
],
"parameters": {
"options": {},
"fileName": "d:\\Scraped-Search-Results.json",
"operation": "write"
},
"typeVersion": 1
},
{
"id": "afa11162-6e5f-48ee-81a9-120eebf79a72",
"name": "Webhook for clean data extractor",
"type": "n8n-nodes-base.httpRequest",
"position": [
180,
420
],
"parameters": {
"url": "={{ $('Set the Input Fields').item.json.webhook_notification_url }}",
"options": {},
"sendBody": true,
"bodyParameters": {
"parameters": [
{
"name": "response",
"value": "={{ $json.output.search_response }}"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "07ea15dc-d54f-424c-bb75-27054be6996d",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-400,
140
],
"parameters": {
"color": 3,
"width": 440,
"height": 120,
"content": "## Disclaimer\nThis template is only available on n8n self-hosted as it's making use of the community node for MCP Client."
},
"typeVersion": 1
},
{
"id": "8ed88da4-cfd8-4c27-a737-1c718143e1a4",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-860,
20
],
"parameters": {
"color": 5,
"width": 440,
"height": 240,
"content": "## LLM Usages\n\nGoogle Gemini LLM is being utilized for the structured data extraction handling."
},
"typeVersion": 1
},
{
"id": "b533b59c-5007-4f87-a862-f2765be3d27b",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1320,
-420
],
"parameters": {
"color": 7,
"width": 440,
"height": 360,
"content": "## Logo\n\n\n\n"
},
"typeVersion": 1
},
{
"id": "17265f2a-5224-498c-bf50-36b87a1c3b22",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1320,
-40
],
"parameters": {
"width": 440,
"height": 300,
"content": "## Note\n\nDeals with the Google, Bing, Yandex Search by leveraging the Bright Data MCP Client.\n\n**Please make sure to set the input fields with query, action, Webhook notification URL. Test using https://webhook.site/**\n\nAction - \n1. Perform Google search\n2. Perform Bing search\n3. Perform Yandex search"
},
"typeVersion": 1
},
{
"id": "902a8d8e-d4ad-4934-8c4d-10c7b66aac3c",
"name": "Human Readable Data Extractor",
"type": "@n8n/n8n-nodes-langchain.informationExtractor",
"position": [
-240,
300
],
"parameters": {
"text": "=You are a helpful AI assistant. Given the following search result, return a clean, human-readable information.\n\nRemove any HTML tags, Ignore irrelevant links, ads, navigation text, or footers.\n\nHere's the content - {{ $json.output }}\n\nImportant - Do not output your own thoughts or suggestions.",
"options": {},
"attributes": {
"attributes": [
{
"name": "search_response",
"description": "Search Response"
}
]
}
},
"typeVersion": 1.1
},
{
"id": "1eca092e-da55-4025-85d1-d1d715e23f83",
"name": "Google Gemini Chat Model for Human Readable Data Extractor",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
-120,
500
],
"parameters": {
"options": {},
"modelName": "models/gemini-2.0-flash-exp"
},
"credentials": {
"googlePalmApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "0cb1ae5e-f384-48ec-aaa8-e11362a32527",
"connections": {
"Create a binary data": {
"main": [
[
{
"node": "Write the search result to disk",
"type": "main",
"index": 0
}
]
]
},
"Set the Input Fields": {
"main": [
[
{
"node": "Bright Data Search AI Agent",
"type": "main",
"index": 0
}
]
]
},
"MCP Client for Bing Search": {
"ai_tool": [
[
{
"node": "Bright Data Search AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Bright Data Search AI Agent": {
"main": [
[
{
"node": "Human Readable Data Extractor",
"type": "main",
"index": 0
}
]
]
},
"MCP Client for Google Search": {
"ai_tool": [
[
{
"node": "Bright Data Search AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"MCP Client for Yandex Search": {
"ai_tool": [
[
{
"node": "Bright Data Search AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Human Readable Data Extractor": {
"main": [
[
{
"node": "Create a binary data",
"type": "main",
"index": 0
},
{
"node": "Webhook for clean data extractor",
"type": "main",
"index": 0
}
]
]
},
"Bright Data MCP Client List Tools": {
"main": [
[
{
"node": "Set the Input Fields",
"type": "main",
"index": 0
}
]
]
},
"When clicking \u2018Test workflow\u2019": {
"main": [
[
{
"node": "Bright Data MCP Client List Tools",
"type": "main",
"index": 0
}
]
]
},
"Google Gemini Chat Model for Search Agent": {
"ai_languageModel": [
[
{
"node": "Bright Data Search AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Google Gemini Chat Model for Human Readable Data Extractor": {
"ai_languageModel": [
[
{
"node": "Human Readable Data Extractor",
"type": "ai_languageModel",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
googlePalmApimcpClientApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Community nodes can only be installed on self-hosted instances of n8n.
Source: https://n8n.io/workflows/4820/ — 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.
Community nodes can only be installed on self-hosted instances of n8n.
Scrape Web Data with Bright Data, Google Gemini and MCP Automated AI Agent. Uses agent, manualTrigger, n8n-nodes-mcp, stickyNote. Event-driven trigger; 19 nodes.
This template is only available on n8n self-hosted as it's making use of the community node for MCP Client.
RAG CHATBOT Main. Uses telegram, telegramTrigger, lmChatOpenAi, n8n-nodes-mcp. Event-driven trigger; 87 nodes.
This is an automated blog post generation system that: Researches topics using AI agents and web search tools Writes complete blog posts with proper SEO structure Generates custom images for each post