batch_geolocate
Pack: iplookup · Endpoint: https://gateway.pipeworx.io/iplookup/mcp
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/batch_geolocate for the schema, then POST the same URL with its arguments for the data.
Look up locations for up to 100 IP addresses at once. Returns geolocation and ISP data in the same order as input. Use for analyzing multiple IPs efficiently.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
ips | array | yes | Array of IPv4 or IPv6 addresses to look up (maximum 100) |
items | string | no |
Example call
Arguments
{
"ips": [
"8.8.8.8",
"1.1.1.1",
"208.67.222.222"
]
}
curl
curl -X POST https://gateway.pipeworx.io/iplookup/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"batch_geolocate","arguments":{"ips":["8.8.8.8","1.1.1.1","208.67.222.222"]}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('batch_geolocate', {
"ips": [
"8.8.8.8",
"1.1.1.1",
"208.67.222.222"
]
});
Response shape
Always returns: count, results
| Field | Type | Description |
|---|---|---|
count | integer | Number of results returned |
results | array | Array of geolocation results or error objects |
Full JSON Schema
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"description": "Number of results returned"
},
"results": {
"type": "array",
"description": "Array of geolocation results or error objects",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"ip": {
"type": [
"string",
"null"
],
"description": "The queried IP address"
},
"country": {
"type": [
"string",
"null"
],
"description": "Country name"
},
"country_code": {
"type": [
"string",
"null"
],
"description": "ISO 3166-1 alpha-2 country code"
},
"region": {
"type": [
"string",
"null"
],
"description": "State/region name"
},
"city": {
"type": [
"string",
"null"
],
"description": "City name"
},
"postal_code": {
"type": [
"string",
"null"
],
"description": "ZIP or postal code"
},
"latitude": {
"type": [
"number",
"null"
],
"description": "Latitude coordinate"
},
"longitude": {
"type": [
"number",
"null"
],
"description": "Longitude coordinate"
},
"timezone": {
"type": [
"string",
"null"
],
"description": "IANA timezone identifier"
},
"isp": {
"type": [
"string",
"null"
],
"description": "Internet Service Provider name"
},
"organization": {
"type": [
"string",
"null"
],
"description": "Organization name"
},
"as_number": {
"type": [
"string",
"null"
],
"description": "Autonomous System number and name"
}
},
"required": [
"ip",
"country",
"country_code",
"region",
"city",
"postal_code",
"latitude",
"longitude",
"timezone",
"isp",
"organization",
"as_number"
]
},
{
"type": "object",
"properties": {
"ip": {
"type": [
"string",
"null"
],
"description": "The queried IP address"
},
"error": {
"type": "string",
"description": "Error message from lookup failure"
}
},
"required": [
"ip",
"error"
]
}
]
}
}
},
"required": [
"count",
"results"
]
}
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"iplookup": {
"url": "https://gateway.pipeworx.io/iplookup/mcp"
}
}
}
See Getting Started for client-specific install steps.