ip-geolocation-mcp

IP Geolocation MCP Server

Smithery

An MCP (Model Context Protocol) server that provides IP geolocation data using ipinfo.io (free tier — no API key required, 50,000 lookups/month).

Tools

ip_lookup(ip)

Look up geolocation data for a specific IP address.

Parameters: | Name | Type | Required | Description | |——|——–|———-|————————————————–| | ip | string | yes | IPv4 or IPv6 address (e.g. "8.8.8.8") |

Returns: city, region, country, org (ISP), timezone, postal code, latitude, longitude.

ip_lookup_own()

Get geolocation data for your own public IP address. No arguments needed.

ip_batch(ips)

Batch lookup up to 10 IP addresses at once.

Parameters: | Name | Type | Required | Description | |——|————–|———-|————————————–| | ips| string[] | yes | Array of IPs (max 10) |

Returns: Array of geolocation objects, one per IP.

Usage

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "ip-geolocation": {
      "command": "python",
      "args": ["path/to/server.py"],
      "env": {}
    }
  }
}

Or via uv (recommended for dependency management):

{
  "mcpServers": {
    "ip-geolocation": {
      "command": "uv",
      "args": [
        "--directory", "path/to/ip-geolocation-mcp",
        "run", "server.py"
      ]
    }
  }
}

Any MCP Client

pip install -r requirements.txt
python server.py

Pricing

Tier Price Lookups/month
Free $0 50,000
Pro $19/month Unlimited

Subscribe to Pro

Deployment

Smithery

This server is compatible with Smithery.ai. See smithery.yaml for configuration.

Data Fields

Each lookup returns:

Field Description Example
ip Queried IP address 8.8.8.8
city City name Mountain View
region Region/state California
country 2-letter ISO country code US
org ISP/Organization AS15169 Google LLC
timezone IANA timezone America/Los_Angeles
postal Postal/ZIP code 94043
latitude Latitude 37.4056
longitude Longitude -122.0775
loc Raw “lat,lon” string 37.4056,-122.0775

License

MIT