oci 7mza/geolocation-mcp:0.0.1stdioMITupdated 13d ago
Fast and up-to-date IP geolocation data for LLMs
What can you do with geolocation mcp?
GeoLocation MCP Server
Fast and up-to-date IP geolocation data for LLMs

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.
Install
Add geolocation mcp to your client. Pick the one you use.
claude mcp add 7mza-geolocation-mcp-0-0-1 -- docker run -i --rm 7mza/geolocation-mcp:0.0.1codex mcp add 7mza-geolocation-mcp-0-0-1 -- docker run -i --rm 7mza/geolocation-mcp:0.0.1amp mcp add 7mza-geolocation-mcp-0-0-1 -- docker run -i --rm 7mza/geolocation-mcp:0.0.1{
"mcpServers": {
"7mza-geolocation-mcp-0-0-1": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"7mza/geolocation-mcp:0.0.1"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"7mza-geolocation-mcp-0-0-1": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"7mza/geolocation-mcp:0.0.1"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"7mza-geolocation-mcp-0-0-1","command":"docker","args":["run","-i","--rm","7mza/geolocation-mcp:0.0.1"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"7mza-geolocation-mcp-0-0-1": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"7mza/geolocation-mcp:0.0.1"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"7mza-geolocation-mcp-0-0-1": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"7mza/geolocation-mcp:0.0.1"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"7mza-geolocation-mcp-0-0-1": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"7mza/geolocation-mcp:0.0.1"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"7mza-geolocation-mcp-0-0-1": {
"type": "local",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"7mza/geolocation-mcp:0.0.1"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"7mza-geolocation-mcp-0-0-1": {
"command": {
"path": "docker",
"args": [
"run",
"-i",
"--rm",
"7mza/geolocation-mcp:0.0.1"
]
}
}
}
}Add to your Zed `settings.json`.
docker run -i --rm 7mza/geolocation-mcp:0.0.1Run `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
Score
39 / 100
Incomplete
- Documentation18/25
- Maintenance19/25
- Trust13/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 5 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 0.0.1Latest | Jun 9, 2026 |