Geolocation Mcp

io.github.7mzaPublished by GitHub account 7mzav0.0.1Updated Oct 24, 2026

An MCP server that provides fast and up-to-date IP geolocation data.

Overview

AI-generated overview

An MCP server that looks up IP geolocation data, giving an assistant city, country, ASN, timezone and VPN, Tor or datacenter flags for IPv4 and IPv6 addresses.

What you can do
Look up a single public IPv4 or IPv6 address for location and network details, including city, region ISO code, latitude and longitude, accuracy radius, postal code and timezone, plus country name, ISO code and EU/GDPR membership, ASN number, ISP or organization name and network CIDR, and flags for datacenter, Tor exit node and VPN. Run batch lookups over many addresses, where failed IPs do not block the rest.
When to use it
Useful when an assistant needs to enrich logs, sign-ups or traffic data with geographic and network context, or to judge whether an address belongs to a VPN, Tor exit node or datacenter.
Requirements
Runs as a local container image served over streamable HTTP, typically started with Docker or Compose and a persistent volume so its databases survive restarts. The README connects clients to a local HTTP endpoint. Building from source needs SDKMAN and nvm.
Before you install
IP addresses are sent to the server for lookup, and its data comes from third-party sources (GeoLite2, Tor Project, X4BNet lists) refreshed on startup or daily, so results may be approximate or stale. No authentication is declared, so anyone who can reach the exposed port can query it.

Installation

In SourceWeft

  1. Open Geolocation Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

GeoLocation MCP Server

[Coverage]

Fast and up-to-date IP geolocation data for LLMs

Demo

[demo]

For public IPv4 / IPv6 address:

  • Flags: isDatacenter, isTorExitNode, isVPN
  • City name, region ISO code, latitude/longitude, accuracy radius, postal code, timezone
  • Country name, ISO code, EU membership/GDPR
  • ASN number, ISP/organization name, network CIDR

MCP tools

ToolDescription
getGeoLocationDatasingle IP lookup
getGeoLocationDataBulkbatch lookup, failed IPs don't block the rest

Data sources

DataSourceRefresh
City / ASNGeoLite2 via P3TERX/GeoLite.mmdbon startup if absent
Tor exit nodesTor Projectdaily
VPN / Datacenter rangesX4BNet/lists_vpndaily

Usage

shell
# named volume so DBs persist across restartsdocker run -p 8891:8080 -v geolocation_data:/home/nonroot/.geolocation-mcp 7mza/geolocation-mcp:latest

or with compose

yaml
services:  geolocation-mcp:    image: 7mza/geolocation-mcp:latest    ports:      - '8891:8080'    restart: unless-stopped    volumes:      - geolocation_data:/home/nonroot/.geolocation-mcpvolumes:  geolocation_data:    name: geolocation_data

Connect your LLM:

shell
# example for claudeclaude mcp add --transport http geolocation http://localhost:8891/mcp

Test with MCP inspector:

shell
npm i && npm run mcp# transport: streamable# url: http://localhost:8891/mcp

Build from source

Requires SDKMAN and nvm.

shell
nvm use && npm i && sdk env install

JVM:

shell
./gradlew clean ktlintFormat ktlintCheck build./gradlew bootRun

Native:

shell
./gradlew clean ktlintFormat ktlintCheck build -PgenerateMetadata./gradlew buildImagedocker run -p 8891:8080 -v geolocation_data:/home/nonroot/.geolocation-mcp 7mza/geolocation-mcp:latest

License

GeoLite2 DBs are subject to the GeoLite2 EULA.

Source: README.md at commit bfaec94

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.0.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts