Serveur MCP pour l'API WHOIS par lots

Intermédiaire

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

Prérequis
  • Peut nécessiter les informations d'identification d'authentification de l'API cible
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "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
}
Foire aux questions

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.

Informations sur le workflow
Niveau de difficulté
Intermédiaire
Nombre de nœuds14
Catégorie2
Types de nœuds3
Description de la difficulté

Adapté aux utilisateurs expérimentés, avec des workflows de complexité moyenne contenant 6-15 nœuds

Auteur
David Ashby

David Ashby

@cfomodz

A hacker by nature, programmer by trade ⚒️ I'm looking to collaborate on things that save human labor 📫 How to reach me Github👇 -> Discord

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34