AutomationFlowsAI & RAG › Ip Geolocation Lookup with Bigdatacloud API for AI Agents

Ip Geolocation Lookup with Bigdatacloud API for AI Agents

ByDavid Ashby @cfomodz on n8n.io

Complete MCP server exposing 2 IP Geolocation API operations to AI agents.

Event trigger★★☆☆☆ complexityAI-powered6 nodesMcp TriggerHTTP Request Tool
AI & RAG Trigger: Event Nodes: 6 Complexity: ★★☆☆☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #5539 — we link there as the canonical source.

This workflow follows the HTTP Request Tool → Mcptrigger 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 →

Download .json
{
  "id": "cwrarZxOJMtWX52O",
  "meta": null,
  "name": "IP Geolocation API MCP Server",
  "tags": [],
  "nodes": [
    {
      "id": "5a47abdd-f4a3-4055-8727-1120ff40f62c",
      "name": "Setup Instructions",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1380,
        -240
      ],
      "parameters": {
        "color": 4,
        "height": 1060,
        "content": "### \u2699\ufe0f Setup Instructions\n\n1. **Import Workflow**: \nLoad this workflow into your n8n instance\n\n2. **Authentication**: \nNo authentication required\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### \ud83d\udca1 Usage Notes\n\u2022 Parameters are auto-populated by AI using $fromAI() expressions\n\u2022 With 2 API endpoints available as tools\n\u2022 Responses maintain original API structure\n\n\n### \ud83d\udee0\ufe0f Customization\n\u2022 Add data transformation nodes if needed\n\u2022 Implement custom error handling\n\u2022 Add logging or monitoring nodes\n\n\u2022 Modify parameter defaults in any HTTP request node as needed\n\n### \ud83d\udcac 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": "5ef44366-36ef-4558-b901-6112390e35eb",
      "name": "Workflow Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1120,
        -240
      ],
      "parameters": {
        "width": 420,
        "height": 940,
        "content": "## \ud83d\udee0\ufe0f IP Geolocation MCP Server \u2705 2 operations\n\n### About\nBigDataCloud's IP Geolocation API returns detailed information about the geographical location, ownership and connectivity of the provided IPv4 IP address. This API is powered by patent-pending \u00e2Next Generation IP Geolocation Technology'. As a result, the API has sub-millisecond response time. You can authenticate the API with the use of API keys provided in your BigDataCloud account. BigDataCloud provides 10K Free queries per month. You can upgrade your package with $2/month per 10K additional queries. The API has Unprecedented Update Rate - Geolocation data re-evaluated every 2 hours or at least once a day - BGP data updated every 2 hours - Registry data updated at least once a day - Country object data usually updates at least once in a month You can learn more about the API at [bigdatacloud.com](https://www.bigdatacloud.com/ip-geolocation-apis).\n\n### \ud83d\udd27 How it Works\n\nThis workflow converts the IP Geolocation API into an MCP-compatible interface for AI agents.\n\n\u2022 **MCP Trigger**: Serves as your server endpoint for AI agent requests\n\u2022 **HTTP Request Nodes**: Handle API calls to https://api.bigdatacloud.net\n\u2022 **AI Expressions**: Automatically populate parameters via `$fromAI()` placeholders\n\u2022 **Native Integration**: Returns responses directly to the AI agent\n\n\n### \ud83d\udccb Available Operations (2 endpoints)\n\n**Data (2 operations)**\nip\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "a136a83b-f2ba-45b1-95ac-87a72de8f3d4",
      "name": "IP Geolocation MCP Server",
      "type": "@n8n/n8n-nodes-langchain.mcpTrigger",
      "position": [
        -620,
        -240
      ],
      "parameters": {
        "path": "ip-geolocation-mcp"
      },
      "typeVersion": 1
    },
    {
      "id": "73bad0a4-32ae-4a7b-8110-28ea36b14118",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -660,
        -100
      ],
      "parameters": {
        "color": 2,
        "width": 500,
        "height": 200,
        "content": "## Data"
      },
      "typeVersion": 1
    },
    {
      "id": "e197f32a-730f-41d7-994f-3b3bd8125142",
      "name": "IP Geolocation with Confidence Area and Hazard Report API",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -520,
        -60
      ],
      "parameters": {
        "url": "=https://api.bigdatacloud.net/data/ip-geolocation-full",
        "options": {},
        "sendQuery": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "ip",
              "value": "={{ $fromAI('ip', 'IPv4 IP address in a string or numeric format. If omitted, the caller\u00e2s IP address is assumed', 'string') }}"
            },
            {
              "name": "localityLanguage",
              "value": "={{ $fromAI('localityLanguage', 'Preferred language for locality names in ISO 639-1 format, such as 'en' for English, 'es' for Spanish etc. Please note: 147 common world languages are supported, full list here, but not all languages are available for every location. If requested language is not available for a requested location it will default to English, if no English is available, the native, local names will be provided', 'string') }}"
            },
            {
              "name": "key",
              "value": "={{ $fromAI('key', 'Your API key', 'string') }}"
            }
          ]
        },
        "toolDescription": "IP Geolocation with Confidence Area and Hazard Report API\n\nParameters:\n- Query parameters:\n  \u2022 ip (optional) - IPv4 IP address in a string or numeric format. If omitted, the caller\u00e2s IP address is assumed\n  \u2022 localityLanguage (optional) - Preferred language for locality names in ISO 639-1 format, such as 'en' for English, 'es' for Spanish etc. Please note: 147 common world languages are supported, full list here, but not all languages are available for every location. If requested language is not available for a requested location it will default to English, if no English is available, the native, local names will be provided\n  \u2022 key (optional) - Your API key"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "66a448bb-acb2-4c5a-9ca7-5f4d9587cd51",
      "name": "IP Geolocation with Confidence Area API",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -320,
        -60
      ],
      "parameters": {
        "url": "=https://api.bigdatacloud.net/data/ip-geolocation-with-confidence",
        "options": {},
        "sendQuery": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "ip",
              "value": "={{ $fromAI('ip', 'IPv4 IP address in a string or numeric format. If omitted, the caller\u00e2s IP address is assumed', 'string') }}"
            },
            {
              "name": "localityLanguage",
              "value": "={{ $fromAI('localityLanguage', 'Preferred language for locality names in ISO 639-1 format, such as 'en' for English, 'es' for Spanish etc. Please note: 147 common world languages are supported, full list here, but not all languages are available for every location. If requested language is not available for a requested location it will default to English, if no English is available, the native, local names will be provided', 'string') }}"
            },
            {
              "name": "key",
              "value": "={{ $fromAI('key', 'Your API key', 'string') }}"
            }
          ]
        },
        "toolDescription": "IP Geolocation with Confidence Area API\n\nParameters:\n- Query parameters:\n  \u2022 ip (optional) - IPv4 IP address in a string or numeric format. If omitted, the caller\u00e2s IP address is assumed\n  \u2022 localityLanguage (optional) - Preferred language for locality names in ISO 639-1 format, such as 'en' for English, 'es' for Spanish etc. Please note: 147 common world languages are supported, full list here, but not all languages are available for every location. If requested language is not available for a requested location it will default to English, if no English is available, the native, local names will be provided\n  \u2022 key (optional) - Your API key"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "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-01T21:23:09.722Z",
      "projectId": "G5fce9xGuBAsWBXe",
      "updatedAt": "2025-07-01T21:23:09.722Z",
      "workflowId": "cwrarZxOJMtWX52O"
    }
  ],
  "settings": {
    "timezone": "America/New_York"
  },
  "createdAt": "2025-07-01T21:23:09.720Z",
  "updatedAt": "2025-07-01T21:27:13.000Z",
  "versionId": "df337cad-4672-42ae-9ddc-d358cf06306b",
  "isArchived": false,
  "staticData": null,
  "connections": {
    "IP Geolocation with Confidence Area API": {
      "ai_tool": [
        [
          {
            "node": "IP Geolocation MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "IP Geolocation with Confidence Area and Hazard Report API": {
      "ai_tool": [
        [
          {
            "node": "IP Geolocation MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  },
  "triggerCount": 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.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Complete MCP server exposing 2 IP Geolocation API operations to AI agents.

Source: https://n8n.io/workflows/5539/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

Need help? Want access to this workflow + many more paid workflows + live Q&A sessions with a top verified n8n creator?

Mcp Trigger, HTTP Request Tool
AI & RAG

Complete MCP server exposing 4 AWS Cost and Usage Report Service API operations to AI agents.

Mcp Trigger, HTTP Request Tool
AI & RAG

Need help? Want access to this workflow + many more paid workflows + live Q&A sessions with a top verified n8n creator?

Mcp Trigger, HTTP Request Tool
AI & RAG

Need help? Want access to this workflow + many more paid workflows + live Q&A sessions with a top verified n8n creator?

Mcp Trigger, HTTP Request Tool
AI & RAG

Need help? Want access to this workflow + many more paid workflows + live Q&A sessions with a top verified n8n creator?

Mcp Trigger, HTTP Request Tool