MCP server providing geolocation data lookup for IPv4 and IPv6 addresses using MaxMind GeoLite2 databases, with VPN/datacenter/Tor exit node detection
Two tools with clear verb-noun naming (getGeoLocationData, getGeoLocationDataBulk) and comprehensive descriptions (200+ chars each). Input schemas present with type definitions and descriptions. However, output schemas are not documented in the source code, critical for LLM planning. Parameter descriptions are adequate but lack format constraints (e.g., IPv4 vs IPv6 validation rules, array size limits). No error handling guidance visible. Tool composition is sound (single responsibility, bulk variant provided), but missing pagination/limit parameters for bulk operations.
Returns geolocation data for a public IPv4 or IPv6 address, including: - Flags: isDatacenter, isTorExitNode, isVPN - City name, region ISO code, latitude/longitude, accuracy radius, postal code, timezone - Country name, ISO code, EU membership - Continent name and code - ASN number, ISP/organization name, network CIDR Fails for private, loopback, or reserved IP ranges (e.g. 192.168.x.x, 127.0.0.1) as they are not present in the databases.
Returns geolocation data for a list of public IPv4 or IPv6 addresses. Each result contains the queried IP and either full geolocation data or an error message. Failed lookups (e.g. private/reserved IPs) do not affect the rest of the results, they appear with a null `data` and a populated `error` field.
Output schemas not documented. LLMs cannot plan downstream operations or extract required fields (latitude, longitude, ISP, etc.) without knowing the response structure.
Bulk tool lacks pagination/limit parameters. No max array size documented. Agents could pass thousands of IPs, risking timeout or context window exhaustion.
Parameter descriptions lack format constraints. 'ip' parameter does not specify IPv4 vs IPv6 validation rules, CIDR rejection, or acceptable formats beyond examples.
No error recovery guidance. Descriptions mention private/reserved IP failures but do not guide LLM on retry strategy or alternative actions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2025-06-18+ | v2 |
Bulk tool response structure unclear. Description states 'null data and populated error field' but does not document the exact response schema or per-item error format.