AutomationFlowsWeb Scraping › Mobility API Mcp Server

Mobility API Mcp Server

ByDavid Ashby @cfomodz on n8n.io

Complete MCP server exposing 2 Mobility API operations to AI agents.

Event trigger★★☆☆☆ complexityAI-powered7 nodesMcp TriggerHTTP Request Tool
Web Scraping Trigger: Event Nodes: 7 Complexity: ★★☆☆☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #5651 — 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": "wrwHlSeU1EaZKJ5H",
  "meta": null,
  "name": "Mobility API MCP Server",
  "tags": [],
  "nodes": [
    {
      "id": "9407e467-6a00-4ee9-8b4d-3b651956dc78",
      "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": "89c15181-ecd8-429f-87f2-7cd17c562743",
      "name": "Workflow Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1120,
        -240
      ],
      "parameters": {
        "width": 420,
        "height": 920,
        "content": "## \ud83d\udee0\ufe0f Mobility MCP Server \u2705 2 operations\n\n### About\nTransit API can be used to obtain time-aggregated data representing moving the people between various spatial points within the Czech Republic. Having A - 'from' and B - 'to' points, the API can return count of people traveling from A to B or people that are from A and traveling to B, etc. The mobility data is based on moving mobile stations in O2 mobile network.\n\n### \ud83d\udd27 How it Works\n\nThis workflow converts the Mobility 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://developer.o2.cz/mobility/sandbox/api\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**Info (1 operations)**\nRetrieve Application Info\n\n**Transit (1 operations)**\nCalculate Transit Route\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "f4cab50f-b19e-4163-afbe-9b55b7daf8cf",
      "name": "Mobility MCP Server",
      "type": "@n8n/n8n-nodes-langchain.mcpTrigger",
      "position": [
        -620,
        -240
      ],
      "parameters": {
        "path": "mobility-mcp"
      },
      "typeVersion": 1
    },
    {
      "id": "4455f27d-e0cc-41b7-b0b0-30517ec3ed01",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -660,
        -100
      ],
      "parameters": {
        "color": 2,
        "width": 300,
        "height": 200,
        "content": "## Info"
      },
      "typeVersion": 1
    },
    {
      "id": "7fba4163-260d-44c7-a8c9-47aff6c419c1",
      "name": "Retrieve Application Info",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -520,
        -60
      ],
      "parameters": {
        "url": "=https://developer.o2.cz/mobility/sandbox/api/info",
        "options": {},
        "toolDescription": "Information about versions of application and data."
      },
      "typeVersion": 4.2
    },
    {
      "id": "116eae59-6430-486b-a86e-c340f6609253",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -660,
        140
      ],
      "parameters": {
        "color": 3,
        "width": 300,
        "height": 200,
        "content": "## Transit"
      },
      "typeVersion": 1
    },
    {
      "id": "dae3261a-7800-4c66-afd2-aabdae79b7d8",
      "name": "Calculate Transit Route",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -520,
        180
      ],
      "parameters": {
        "url": "=https://developer.o2.cz/mobility/sandbox/api/transit/{{ $fromAI('from', 'source basic residential unit', 'string') }}/{{ $fromAI('to', 'destination basic residential unit', 'string') }}",
        "options": {},
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "fromType",
              "value": "={{ $fromAI('fromType', 'occurence type in the source basic residential unit (1 - transit, 2 - visit, 0 - both)', 'string') }}"
            },
            {
              "name": "toType",
              "value": "={{ $fromAI('toType', 'occurence type in the destination basic residential unit (1 - transit, 2 - visit, 0 - both)', 'string') }}"
            },
            {
              "name": "uniques",
              "value": "={{ $fromAI('uniques', 'all or only uniques (0 - all, 1 - uniques)', 'string') }}"
            }
          ]
        },
        "toolDescription": "Transit between basic residential units\n\nParameters:\n- Path parameters:\n  \u2022 from (required) - Source basic residential unit\n  \u2022 to (required) - Destination basic residential unit\n- Query parameters:\n  \u2022 fromType (optional) - Occurence type in the source basic residential unit (1 - transit, 2 - visit, 0 - both)\n  \u2022 toType (optional) - Occurence type in the destination basic residential unit (1 - transit, 2 - visit, 0 - both)\n  \u2022 uniques (required) - All or only uniques (0 - all, 1 - uniques)"
      },
      "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-03T17:14:12.273Z",
      "projectId": "G5fce9xGuBAsWBXe",
      "updatedAt": "2025-07-03T17:14:12.273Z",
      "workflowId": "wrwHlSeU1EaZKJ5H"
    }
  ],
  "settings": {
    "timezone": "America/New_York"
  },
  "createdAt": "2025-07-03T17:14:12.272Z",
  "updatedAt": "2025-07-03T17:17:18.000Z",
  "versionId": "26d0fe26-ccf2-432e-bbe2-375132f8f358",
  "isArchived": false,
  "staticData": null,
  "connections": {
    "Calculate Transit Route": {
      "ai_tool": [
        [
          {
            "node": "Mobility MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Retrieve Application Info": {
      "ai_tool": [
        [
          {
            "node": "Mobility MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  },
  "triggerCount": 0
}
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 Mobility API operations to AI agents.

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

More Web Scraping workflows → · Browse all categories →

Related workflows

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

Web Scraping

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
Web Scraping

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
Web Scraping

An MCP server that exposes 10 specialized AI tools for deep observability over your OpenObserve logs and traces.

HTTP Request Tool, Mcp Trigger
Web Scraping

Complete MCP server exposing 4 Transportation Laws and Incentives API operations to AI agents.

Mcp Trigger, HTTP Request Tool
Web Scraping

Complete MCP server exposing 4 BikeWise API v2 API operations to AI agents.

Mcp Trigger, HTTP Request Tool