Frostbyte · Capability

Frostbyte IP Geolocation API — IP Geolocation

Frostbyte IP Geolocation API — IP Geolocation. 8 operations. Lead operation: Get Geolocation for an IP Address. Self-contained Naftiko capability covering one Frostbyte business surface.

Run with Naftiko FrostbyteIP Geolocation

What You Can Do

GET
Getipgeo — Get Geolocation for an IP Address
/v1/ip/geo/{ip}
GET
Getownip — Get Your Own IP Geolocation
/v1/ip/json
POST
Batchgeo — Batch IP Geolocation Lookup
/v1/v1/agent-geo/api/geo/batch
GET
Getcountry — Get Country Code for an IP
/v1/v1/agent-geo/api/geo/country/{ip}
POST
Getdistance — Calculate Distance Between Two IPs
/v1/v1/agent-geo/api/geo/distance
GET
Getgeome — Get Your Own Geolocation
/v1/v1/agent-geo/api/geo/me
GET
Gettimezone — Get Timezone for an IP
/v1/v1/agent-geo/api/geo/timezone/{ip}
GET
Getgeoviagateway — Full Geolocation Lookup (via Gateway)
/v1/v1/agent-geo/api/geo/{ip}

MCP Tools

get-geolocation-ip-address

Get Geolocation for an IP Address

read-only idempotent
get-your-own-ip-geolocation

Get Your Own IP Geolocation

read-only idempotent
batch-ip-geolocation-lookup

Batch IP Geolocation Lookup

read-only
get-country-code-ip

Get Country Code for an IP

read-only idempotent
calculate-distance-between-two-ips

Calculate Distance Between Two IPs

get-your-own-geolocation

Get Your Own Geolocation

read-only idempotent
get-timezone-ip

Get Timezone for an IP

read-only idempotent
full-geolocation-lookup-gateway

Full Geolocation Lookup (via Gateway)

read-only idempotent

Capability Spec

ip-geolocation-ip-geolocation.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Frostbyte IP Geolocation API — IP Geolocation
  description: 'Frostbyte IP Geolocation API — IP Geolocation. 8 operations. Lead operation: Get Geolocation for an IP Address.
    Self-contained Naftiko capability covering one Frostbyte business surface.'
  tags:
  - Frostbyte
  - IP Geolocation
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    FROSTBYTE_API_KEY: FROSTBYTE_API_KEY
capability:
  consumes:
  - type: http
    namespace: ip-geolocation-ip-geolocation
    baseUri: https://agent-gateway-kappa.vercel.app
    description: Frostbyte IP Geolocation API — IP Geolocation business capability. Self-contained, no shared references.
    resources:
    - name: ip-geo-ip
      path: /ip/geo/{ip}
      operations:
      - name: getipgeo
        method: GET
        description: Get Geolocation for an IP Address
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ip
          in: path
          type: string
          description: IPv4 or IPv6 address to look up
          required: true
    - name: ip-json
      path: /ip/json
      operations:
      - name: getownip
        method: GET
        description: Get Your Own IP Geolocation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-agent-geo-api-geo-batch
      path: /v1/agent-geo/api/geo/batch
      operations:
      - name: batchgeo
        method: POST
        description: Batch IP Geolocation Lookup
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-agent-geo-api-geo-country-ip
      path: /v1/agent-geo/api/geo/country/{ip}
      operations:
      - name: getcountry
        method: GET
        description: Get Country Code for an IP
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ip
          in: path
          type: string
          required: true
    - name: v1-agent-geo-api-geo-distance
      path: /v1/agent-geo/api/geo/distance
      operations:
      - name: getdistance
        method: POST
        description: Calculate Distance Between Two IPs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-agent-geo-api-geo-me
      path: /v1/agent-geo/api/geo/me
      operations:
      - name: getgeome
        method: GET
        description: Get Your Own Geolocation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-agent-geo-api-geo-timezone-ip
      path: /v1/agent-geo/api/geo/timezone/{ip}
      operations:
      - name: gettimezone
        method: GET
        description: Get Timezone for an IP
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ip
          in: path
          type: string
          required: true
    - name: v1-agent-geo-api-geo-ip
      path: /v1/agent-geo/api/geo/{ip}
      operations:
      - name: getgeoviagateway
        method: GET
        description: Full Geolocation Lookup (via Gateway)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ip
          in: path
          type: string
          required: true
    authentication:
      type: apikey
      key: X-API-Key
      value: '{{env.FROSTBYTE_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: ip-geolocation-ip-geolocation-rest
    port: 8080
    description: REST adapter for Frostbyte IP Geolocation API — IP Geolocation. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/ip/geo/{ip}
      name: ip-geo-ip
      description: REST surface for ip-geo-ip.
      operations:
      - method: GET
        name: getipgeo
        description: Get Geolocation for an IP Address
        call: ip-geolocation-ip-geolocation.getipgeo
        with:
          ip: rest.ip
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/ip/json
      name: ip-json
      description: REST surface for ip-json.
      operations:
      - method: GET
        name: getownip
        description: Get Your Own IP Geolocation
        call: ip-geolocation-ip-geolocation.getownip
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/agent-geo/api/geo/batch
      name: v1-agent-geo-api-geo-batch
      description: REST surface for v1-agent-geo-api-geo-batch.
      operations:
      - method: POST
        name: batchgeo
        description: Batch IP Geolocation Lookup
        call: ip-geolocation-ip-geolocation.batchgeo
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/agent-geo/api/geo/country/{ip}
      name: v1-agent-geo-api-geo-country-ip
      description: REST surface for v1-agent-geo-api-geo-country-ip.
      operations:
      - method: GET
        name: getcountry
        description: Get Country Code for an IP
        call: ip-geolocation-ip-geolocation.getcountry
        with:
          ip: rest.ip
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/agent-geo/api/geo/distance
      name: v1-agent-geo-api-geo-distance
      description: REST surface for v1-agent-geo-api-geo-distance.
      operations:
      - method: POST
        name: getdistance
        description: Calculate Distance Between Two IPs
        call: ip-geolocation-ip-geolocation.getdistance
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/agent-geo/api/geo/me
      name: v1-agent-geo-api-geo-me
      description: REST surface for v1-agent-geo-api-geo-me.
      operations:
      - method: GET
        name: getgeome
        description: Get Your Own Geolocation
        call: ip-geolocation-ip-geolocation.getgeome
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/agent-geo/api/geo/timezone/{ip}
      name: v1-agent-geo-api-geo-timezone-ip
      description: REST surface for v1-agent-geo-api-geo-timezone-ip.
      operations:
      - method: GET
        name: gettimezone
        description: Get Timezone for an IP
        call: ip-geolocation-ip-geolocation.gettimezone
        with:
          ip: rest.ip
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/agent-geo/api/geo/{ip}
      name: v1-agent-geo-api-geo-ip
      description: REST surface for v1-agent-geo-api-geo-ip.
      operations:
      - method: GET
        name: getgeoviagateway
        description: Full Geolocation Lookup (via Gateway)
        call: ip-geolocation-ip-geolocation.getgeoviagateway
        with:
          ip: rest.ip
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: ip-geolocation-ip-geolocation-mcp
    port: 9090
    transport: http
    description: MCP adapter for Frostbyte IP Geolocation API — IP Geolocation. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: get-geolocation-ip-address
      description: Get Geolocation for an IP Address
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: ip-geolocation-ip-geolocation.getipgeo
      with:
        ip: tools.ip
      outputParameters:
      - type: object
        mapping: $.
    - name: get-your-own-ip-geolocation
      description: Get Your Own IP Geolocation
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: ip-geolocation-ip-geolocation.getownip
      outputParameters:
      - type: object
        mapping: $.
    - name: batch-ip-geolocation-lookup
      description: Batch IP Geolocation Lookup
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: ip-geolocation-ip-geolocation.batchgeo
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-country-code-ip
      description: Get Country Code for an IP
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: ip-geolocation-ip-geolocation.getcountry
      with:
        ip: tools.ip
      outputParameters:
      - type: object
        mapping: $.
    - name: calculate-distance-between-two-ips
      description: Calculate Distance Between Two IPs
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: ip-geolocation-ip-geolocation.getdistance
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-your-own-geolocation
      description: Get Your Own Geolocation
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: ip-geolocation-ip-geolocation.getgeome
      outputParameters:
      - type: object
        mapping: $.
    - name: get-timezone-ip
      description: Get Timezone for an IP
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: ip-geolocation-ip-geolocation.gettimezone
      with:
        ip: tools.ip
      outputParameters:
      - type: object
        mapping: $.
    - name: full-geolocation-lookup-gateway
      description: Full Geolocation Lookup (via Gateway)
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: ip-geolocation-ip-geolocation.getgeoviagateway
      with:
        ip: tools.ip
      outputParameters:
      - type: object
        mapping: $.