get_cell

Pack: opencellid · Connect: https://pipeworx.io/mcp (see Connect below for a single-pack URL)

No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/get_cell for the schema, then POST the same URL with its arguments for the data.

Geolocate a cell tower by mobile network identifiers. MCC = Mobile Country Code, MNC = Mobile Network Code, LAC = Location Area Code, cell_id = Cell ID. Returns lat/lon, range, samples, radio type (GSM/UMTS/LTE).

Parameters

NameTypeRequiredDescription
mccnumberyesMobile Country Code (e.g., 310 = US)
mncnumberyesMobile Network Code (e.g., 410 = AT&T US)
lacnumberyesLocation Area Code
cell_idnumberyesCell ID
radiostringnoGSM | UMTS | LTE | CDMA (optional disambiguation)

Example call

Arguments

{
  "mcc": 310,
  "mnc": 410,
  "lac": 5000,
  "cell_id": 12345678
}

curl

curl -X POST https://gateway.pipeworx.io/opencellid/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_cell","arguments":{"mcc":310,"mnc":410,"lac":5000,"cell_id":12345678}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('get_cell', {
  "mcc": 310,
  "mnc": 410,
  "lac": 5000,
  "cell_id": 12345678
});

More examples

{
  "mcc": 310,
  "mnc": 410,
  "lac": 5000,
  "cell_id": 12345678,
  "radio": "LTE"
}

Response shape

Full JSON Schema
{
  "type": "object",
  "oneOf": [
    {
      "type": "object",
      "properties": {
        "mcc": {
          "type": [
            "number",
            "null"
          ],
          "description": "Mobile Country Code"
        },
        "mnc": {
          "type": [
            "number",
            "null"
          ],
          "description": "Mobile Network Code"
        },
        "lac": {
          "type": [
            "number",
            "null"
          ],
          "description": "Location Area Code"
        },
        "cell_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "Cell ID"
        },
        "radio": {
          "type": [
            "string",
            "null"
          ],
          "description": "Radio type (GSM/UMTS/LTE/CDMA)"
        },
        "latitude": {
          "type": [
            "number",
            "null"
          ],
          "description": "Cell tower latitude"
        },
        "longitude": {
          "type": [
            "number",
            "null"
          ],
          "description": "Cell tower longitude"
        },
        "range_m": {
          "type": [
            "number",
            "null"
          ],
          "description": "Cell tower coverage range in meters"
        },
        "samples": {
          "type": [
            "number",
            "null"
          ],
          "description": "Number of samples collected"
        },
        "avg_signal_strength": {
          "type": [
            "number",
            "null"
          ],
          "description": "Average signal strength"
        },
        "created_at": {
          "type": [
            "string",
            "null"
          ],
          "description": "ISO 8601 timestamp of creation"
        },
        "updated_at": {
          "type": [
            "string",
            "null"
          ],
          "description": "ISO 8601 timestamp of last update"
        },
        "found": {
          "type": "boolean",
          "enum": [
            true
          ],
          "description": "Present and true on an answer; a miss is the found:false branch."
        },
        "result_count": {
          "type": "number"
        },
        "results": {
          "type": "array"
        },
        "hint": {
          "type": "string"
        },
        "empty_reason": {
          "type": "string"
        }
      },
      "required": [
        "mcc",
        "mnc",
        "lac",
        "cell_id"
      ]
    },
    {
      "type": "object",
      "description": "A miss or an unavailable upstream: found:false with a reason and a hint (the shape check-found-false-schemas.mjs expects).",
      "properties": {
        "found": {
          "type": "boolean",
          "enum": [
            false
          ]
        }
      },
      "required": [
        "found"
      ]
    }
  ]
}

Connect

Add this to your MCP client config — every tool in the catalog, including this one — or use one-click install buttons:

{
  "mcpServers": {
    "pipeworx": {
      "url": "https://pipeworx.io/mcp"
    }
  }
}
Connect to just the opencellid pack
{
  "mcpServers": {
    "opencellid": {
      "url": "https://gateway.pipeworx.io/opencellid/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build November 15, 2026