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
| Name | Type | Required | Description |
|---|---|---|---|
mcc | number | yes | Mobile Country Code (e.g., 310 = US) |
mnc | number | yes | Mobile Network Code (e.g., 410 = AT&T US) |
lac | number | yes | Location Area Code |
cell_id | number | yes | Cell ID |
radio | string | no | GSM | 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.