io.github.7mza/geolocation-mcp
An MCP server that provides fast and up-to-date IP geolocation data.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
7mza/geolocation-mcp:0.0.1claude mcp add geolocation-mcp -- docker run -i --rm 7mza/geolocation-mcp:0.0.1
{
"mcpServers": {
"geolocation-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"7mza/geolocation-mcp:0.0.1"
]
}
}
}
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
GeoLocation MCP Server
Fast and up-to-date IP geolocation data for LLMs
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
| Tool | Description |
|---|---|
getGeoLocationData | single IP lookup |
getGeoLocationDataBulk | batch lookup, failed IPs don't block the rest |
Data sources
| Data | Source | Refresh |
|---|---|---|
| City / ASN | GeoLite2 via P3TERX/GeoLite.mmdb | on startup if absent |
| Tor exit nodes | Tor Project | daily |
| VPN / Datacenter ranges | X4BNet/lists_vpn | daily |
Usage
# named volume so DBs persist across restarts
docker run -p 8891:8080 -v geolocation_data:/home/nonroot/.geolocation-mcp 7mza/geolocation-mcp:latest
or with compose
services:
geolocation-mcp:
image: 7mza/geolocation-mcp:latest
ports:
- '8891:8080'
restart: unless-stopped
volumes:
- geolocation_data:/home/nonroot/.geolocation-mcp
volumes:
geolocation_data:
name: geolocation_data
Connect your LLM:
# example for claude
claude mcp add --transport http geolocation http://localhost:8891/mcp
Test with MCP inspector:
npm i && npm run mcp
# transport: streamable
# url: http://localhost:8891/mcp
Build from source
nvm use && npm i && sdk env install
JVM:
./gradlew clean ktlintFormat ktlintCheck build
./gradlew bootRun
Native:
./gradlew clean ktlintFormat ktlintCheck build -PgenerateMetadata
./gradlew buildImage
docker run -p 8891:8080 -v geolocation_data:/home/nonroot/.geolocation-mcp 7mza/geolocation-mcp:latest
License
GeoLite2 DBs are subject to the GeoLite2 EULA.
Frequently asked questions
What is io.github.7mza/geolocation-mcp?
An MCP server that provides fast and up-to-date IP geolocation data.
How do I install io.github.7mza/geolocation-mcp?
It runs on your machine. In Claude Code: claude mcp add geolocation-mcp -- docker run -i --rm 7mza/geolocation-mcp:0.0.1. For other clients, paste the JSON configuration from this page into their MCP settings.
Does io.github.7mza/geolocation-mcp need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is io.github.7mza/geolocation-mcp open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains io.github.7mza/geolocation-mcp?
It is published by 7mza. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.