Serveur MCP pour l'API WHOIS par lots
Ceci est unMarket Research, AI RAGworkflow d'automatisation du domainecontenant 14 nœuds.Utilise principalement des nœuds comme HttpRequestTool, McpTrigger. Créer une interface d'API WHOIS pour un agent IA avec 8 opérations de gestion de domaine
- •Peut nécessiter les informations d'identification d'authentification de l'API cible
Nœuds utilisés (14)
Catégorie
{
"id": "v6LyGtVBk8ZTj5mE",
"meta": null,
"name": "Bulk WHOIS API MCP Server",
"tags": [],
"nodes": [
{
"id": "d3e2b6b0-742b-44b3-9ff8-667e26fa627e",
"name": "Instructions de Configuration",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1380,
-240
],
"parameters": {
"color": 4,
"height": 1060,
"content": "### ⚙️ Setup Instructions\n\n1. **Import Workflow**: \nLoad this workflow into your n8n instance\n\n2. **Configure Authentication**: \nSet up apiKey credentials\n - Type: API Key in header\n - Key name: X-API-KEY\n\n3. **Activate Workflow**:\nEnable the workflow to start the MCP server\n\n4. **Get MCP URL**: \nCopy the webhook URL from the MCP trigger\n\n5. **Connect AI Agent**:\nUse the MCP URL in your AI agent configuration\n\n\n### 💡 Usage Notes\n• Parameters are auto-populated by AI using $fromAI() expressions\n• With 8 API endpoints available as tools\n• Responses maintain original API structure\n\n\n### 🛠️ Customization\n• Add data transformation nodes if needed\n• Implement custom error handling\n• Add logging or monitoring nodes\n\n• Modify parameter defaults in any HTTP request node as needed\n\n### 💬 Need Help?\nPing me on [discord](https://discord.me/cfomodz) for integration guidance and custom automations. Check the [n8n documentation](https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolmcp/) for more information."
},
"typeVersion": 1
},
{
"id": "80a3eaa0-37c0-4a45-a19a-68c82882e7ff",
"name": "Aperçu du Flux de Travail",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1120,
-240
],
"parameters": {
"width": 420,
"height": 920,
"content": "## 🛠️ Bulk WHOIS MCP Server ✅ 8 operations\n\n### About\nDomain API (WHOIS, Check, Batch)\n\n### 🔧 How it Works\n\nThis workflow converts the Bulk WHOIS API into an MCP-compatible interface for AI agents.\n\n• **MCP Trigger**: Serves as your server endpoint for AI agent requests\n• **HTTP Request Nodes**: Handle API calls to http://localhost:5000\n• **AI Expressions**: Automatically populate parameters via `$fromAI()` placeholders\n• **Native Integration**: Returns responses directly to the AI agent\n\n\n### 📋 Available Operations (8 endpoints)\n\n**Batch (4 operations)**\nget, create, delete\n\n**Db (1 operations)**\nquery\n\n**Domains (3 operations)**\ncheck, whois\n\n"
},
"typeVersion": 1
},
{
"id": "66672868-c8c2-446d-b5b7-d1f1010434af",
"name": "Serveur WHOIS en Lot MCP",
"type": "@n8n/n8n-nodes-langchain.mcpTrigger",
"position": [
-620,
-240
],
"webhookId": "6cf0cc14-5751-41c2-bd05-75266866dbdf",
"parameters": {
"path": "bulk-whois-mcp"
},
"typeVersion": 1
},
{
"id": "62dad9c1-27cf-4255-877c-6856da294361",
"name": "Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-660,
-100
],
"parameters": {
"color": 2,
"width": 900,
"height": 200,
"content": "## Batch"
},
"typeVersion": 1
},
{
"id": "2d3a9d10-c3ba-47ca-b0ea-da80f560e6d6",
"name": "Obtenir vos lots",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
-520,
-60
],
"parameters": {
"url": "=http://localhost:5000/batch",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"toolDescription": "Get your batches"
},
"typeVersion": 4.2
},
{
"id": "6d6dc999-b615-40a9-81c0-b176d239c6be",
"name": "Créer un lot. Le lot est ensuite traité jusqu'à",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
-320,
-60
],
"parameters": {
"url": "=http://localhost:5000/batch",
"method": "POST",
"options": {},
"sendBody": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "domains",
"value": "={{ $fromAI('domains', 'Domains', 'json') }}"
},
{
"name": "operation",
"value": "={{ $fromAI('operation', 'Operation', 'string') }}"
},
{
"name": "options",
"value": "={{ $fromAI('options', 'Options', 'json') }}"
}
]
},
"genericAuthType": "httpHeaderAuth",
"toolDescription": "Create batch. Batch is then being processed until all provided items have been completed. At any time it can be `get` to provide current status with results optionally.\n\nParameters:\n- Body parameters:\n • domains (required)\n • operation (required)\n • options (optional)"
},
"typeVersion": 4.2
},
{
"id": "db526626-0203-4a70-b062-b3b9a0e0f0c4",
"name": "Supprimer le lot",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
-120,
-60
],
"parameters": {
"url": "=http://localhost:5000/batch/{{ $fromAI('id', 'Batch ID', 'string') }}",
"method": "DELETE",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"toolDescription": "Delete batch\n\nParameters:\n- Path parameters:\n • id (required) - Batch ID"
},
"typeVersion": 4.2
},
{
"id": "4eeffbc9-5219-4b43-b9fe-cd0eab602869",
"name": "Obtenir le lot",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
80,
-60
],
"parameters": {
"url": "=http://localhost:5000/batch/{{ $fromAI('id', 'Batch ID', 'string') }}",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"toolDescription": "Get batch\n\nParameters:\n- Path parameters:\n • id (required) - Batch ID"
},
"typeVersion": 4.2
},
{
"id": "5001852e-6d17-41de-8458-9a6c2fb27850",
"name": "Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-660,
140
],
"parameters": {
"color": 3,
"width": 300,
"height": 200,
"content": "## Db"
},
"typeVersion": 1
},
{
"id": "2cccd1ae-d209-466e-8cc4-77e62ab07b4e",
"name": "Interroger la base de données de domaines",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
-520,
180
],
"parameters": {
"url": "=http://localhost:5000/db",
"options": {},
"sendQuery": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "query",
"value": "={{ $fromAI('query', 'Query (contact name, dns, domain etc)', 'string') }}"
}
]
},
"toolDescription": "Query domain database\n\nParameters:\n- Query parameters:\n • query (required) - Query (contact name, dns, domain etc)"
},
"typeVersion": 4.2
},
{
"id": "039644d1-96a9-4bf1-aa18-860277ff5f41",
"name": "Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-660,
380
],
"parameters": {
"color": 4,
"width": 700,
"height": 200,
"content": "## Domains"
},
"typeVersion": 1
},
{
"id": "e36bba72-454f-4c5a-a6e6-d61123a92f83",
"name": "Vérifier la disponibilité d'un domaine",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
-520,
420
],
"parameters": {
"url": "=http://localhost:5000/domains/{{ $fromAI('domain', 'Domain', 'string') }}/check",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"toolDescription": "Check domain availability\n\nParameters:\n- Path parameters:\n • domain (required) - Domain"
},
"typeVersion": 4.2
},
{
"id": "06de063c-7901-4b1b-908a-11ddc136f789",
"name": "Vérifier le classement du domaine (autorité).",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
-320,
420
],
"parameters": {
"url": "=http://localhost:5000/domains/{{ $fromAI('domain', 'Domain', 'string') }}/rank",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"toolDescription": "Check domain rank (authority).\n\nParameters:\n- Path parameters:\n • domain (required) - Domain"
},
"typeVersion": 4.2
},
{
"id": "07ed3bd8-ce49-4d70-9e5f-14bf2b92cd5e",
"name": "Requête WHOIS pour un domaine",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
-120,
420
],
"parameters": {
"url": "=http://localhost:5000/domains/{{ $fromAI('domain', 'Domain', 'string') }}/whois",
"options": {},
"sendQuery": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "format",
"value": "={{ $fromAI('format', 'Format', 'string') }}"
}
]
},
"toolDescription": "WHOIS query for a domain\n\nParameters:\n- Path parameters:\n • domain (required) - Domain\n- Query parameters:\n • format (optional)"
},
"typeVersion": 4.2
}
],
"active": false,
"shared": [
{
"role": "workflow:owner",
"project": {
"id": "G5fce9xGuBAsWBXe",
"icon": null,
"name": "David Ashby <david.ashby.lds@gmail.com>",
"type": "personal",
"createdAt": "2025-06-04T02:55:02.013Z",
"updatedAt": "2025-06-04T02:56:01.361Z",
"projectRelations": [
{
"role": "project:personalOwner",
"user": {
"id": "715c1c00-cb48-4712-9a32-f1f4b6db2b30",
"role": "global:owner",
"email": "david.ashby.lds@gmail.com",
"disabled": false,
"lastName": "Ashby",
"settings": {
"npsSurvey": {
"responded": true,
"lastShownAt": 1749357655581
},
"userActivated": true,
"userActivatedAt": 1749075994495,
"easyAIWorkflowOnboarded": true,
"firstSuccessfulWorkflowId": "3N3vVikZb3MckFYm"
},
"createdAt": "2025-06-04T02:55:01.745Z",
"firstName": "David",
"isPending": false,
"updatedAt": "2025-06-08T04:40:58.399Z",
"mfaEnabled": false,
"personalizationAnswers": {
"version": "v4",
"personalization_survey_n8n_version": "1.95.3",
"personalization_survey_submitted_at": "2025-06-04T02:56:07.075Z"
}
},
"userId": "715c1c00-cb48-4712-9a32-f1f4b6db2b30",
"createdAt": "2025-06-04T02:55:02.013Z",
"projectId": "G5fce9xGuBAsWBXe",
"updatedAt": "2025-06-04T02:55:02.013Z"
}
]
},
"createdAt": "2025-07-01T19:18:52.023Z",
"projectId": "G5fce9xGuBAsWBXe",
"updatedAt": "2025-07-01T19:18:52.023Z",
"workflowId": "v6LyGtVBk8ZTj5mE"
}
],
"pinData": {},
"settings": {
"timezone": "America/New_York"
},
"createdAt": "2025-07-01T19:18:52.018Z",
"updatedAt": "2025-07-01T19:19:16.000Z",
"versionId": "f98af83c-edde-4c13-be69-a4652f93f4a5",
"isArchived": false,
"staticData": null,
"connections": {
"4eeffbc9-5219-4b43-b9fe-cd0eab602869": {
"ai_tool": [
[
{
"node": "66672868-c8c2-446d-b5b7-d1f1010434af",
"type": "ai_tool",
"index": 0
}
]
]
},
"db526626-0203-4a70-b062-b3b9a0e0f0c4": {
"ai_tool": [
[
{
"node": "66672868-c8c2-446d-b5b7-d1f1010434af",
"type": "ai_tool",
"index": 0
}
]
]
},
"2d3a9d10-c3ba-47ca-b0ea-da80f560e6d6": {
"ai_tool": [
[
{
"node": "66672868-c8c2-446d-b5b7-d1f1010434af",
"type": "ai_tool",
"index": 0
}
]
]
},
"2cccd1ae-d209-466e-8cc4-77e62ab07b4e": {
"ai_tool": [
[
{
"node": "66672868-c8c2-446d-b5b7-d1f1010434af",
"type": "ai_tool",
"index": 0
}
]
]
},
"07ed3bd8-ce49-4d70-9e5f-14bf2b92cd5e": {
"ai_tool": [
[
{
"node": "66672868-c8c2-446d-b5b7-d1f1010434af",
"type": "ai_tool",
"index": 0
}
]
]
},
"e36bba72-454f-4c5a-a6e6-d61123a92f83": {
"ai_tool": [
[
{
"node": "66672868-c8c2-446d-b5b7-d1f1010434af",
"type": "ai_tool",
"index": 0
}
]
]
},
"06de063c-7901-4b1b-908a-11ddc136f789": {
"ai_tool": [
[
{
"node": "66672868-c8c2-446d-b5b7-d1f1010434af",
"type": "ai_tool",
"index": 0
}
]
]
},
"6d6dc999-b615-40a9-81c0-b176d239c6be": {
"ai_tool": [
[
{
"node": "66672868-c8c2-446d-b5b7-d1f1010434af",
"type": "ai_tool",
"index": 0
}
]
]
}
},
"triggerCount": 0
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Intermédiaire - Étude de marché, RAG IA
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
David Ashby
@cfomodzA hacker by nature, programmer by trade ⚒️ I'm looking to collaborate on things that save human labor 📫 How to reach me Github👇 -> Discord
Partager ce workflow