Skip to main content
Glama

Tanod Util

utilpeek: geocode a city name or reverse-geocode coordinates

geocode
Read-onlyIdempotent

utilpeek: offline geocoding over the GeoNames cities15000 table. Input: either place alone or lat and lon together. place matches cities of 15,000+ people offline ("City" or "City, CC" with an ISO country code or a US state code); no match is a 404 place_not_found (not charged). Cities only (no street addresses). Typically under 0.1 s (first call up to 1 s). Price: USD 0.001. Free: 10 utilpeek calls per IP per UTC day. Data: GeoNames (geonames.org) cities15000, CC BY 4.0; credit it when you show or republish it (the attribution field carries the text). Docs: https://tanod.dev/learn/reverse-geocoding-api.html

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
latNoReverse: latitude (-90..90); give lat and lon together, or place.
lonNoReverse: longitude (-180..180); give lat and lon together, or place.
placeNoForward: city name, optionally "City, CC" (ISO country or US state code); give place alone, or lat and lon.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNo
errorNoOnly on an error result: an object {code, message}, or the reason string of an x402 PaymentRequired object.
queryNo
totalNo
filterNo
resultsNo
attributionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "attribution": {
      +      "properties": {
      +        "changes": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "license": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "places": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        }
      +      },
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "error": {
      +      "description": "Only on an error result: an object {code, message}, or the reason string of an x402 PaymentRequired object."
      +    },
      +    "filter": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "mode": {
      +      "enum": [
      +        "forward",
      +        "reverse",
      +        null
      +      ],
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "query": {
      +      "type": [
      +        "string",
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "results": {
      +      "items": {
      +        "properties": {
      +          "admin1_code": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "country_code": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "distance_km": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "lat": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "lon": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "matched_on": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "name": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "population": {
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "timezone": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "type": [
      +        "array",
      +        "null"
      +      ]
      +    },
      +    "total": {
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources