netloc8-mcp
OfficialNetLoc8 MCP gives AI assistants IP geolocation, network utilities, and account management via 14 tools and 4 prompts, usable with or without an API key.
Geolocation (API-based)
Geolocate any IP (
geolocate_ip): Look up country, city, region, coordinates, timezone, ASN, org, and EU membership for any IPv4/IPv6 address.Geolocate your own machine (
geolocate_me): Retrieve rich geo data for the server's own public IP — no arguments needed.Get timezone for an IP (
get_timezone): Fetch just the IANA timezone string for an IP, useful for scheduling or date formatting.
Local Utilities (no API call, no quota)
Validate an IP (
validate_ip): Check whether a string is a valid IPv4 or IPv6 address.Check if an IP is public (
is_public_ip): Determine if an IP is publicly routable, rejecting RFC1918, CGNAT, loopback, link-local, and ULA addresses.Normalize an IP string (
normalize_ip): Strip brackets, remove IPv4-mapped prefixes, trim whitespace, and lowercase.Derive subnet (
get_subnet): Calculate the/24CIDR prefix from an IPv4 address (e.g.,8.8.8.8→8.8.8.0/24).
Account Management (requires API key)
List, create, delete, and renew API keys; view usage stats, account profile, and audit logs.
Guided Prompts
Deep-dive IP analysis, security audits, batch geolocation comparisons, and onboarding workflows.
Resources
Product overview, SDKs, pricing, and quick-start guides via
netloc8://about.Direct geo data for a specific IP via
netloc8://ip/{address}.
NetLoc8 MCP Server
Note: This repository is a read-only mirror. Please do not submit issues or pull requests here; contributions and development are managed internally.
⚠️ Deprecated: This Go binary is replaced by the
@netloc8/mcpnpm package and the hosted server atmcp.netloc8.com. See Migration below.# New install (no Go required): npx --yes --prefer-online @netloc8/mcp@latest
An MCP server that gives AI assistants access to NetLoc8 — IP geolocation deployed to 300+ edge locations worldwide.
Works with or without an API key. Without a key, you get country-level geo data and local utility tools. With a free key, you unlock city-level detail, coordinates, timezone, and account management.
Why?
AI coding assistants run into IP geolocation constantly — parsing access logs, debugging proxy chains, geo-routing traffic, checking EU compliance, verifying CDN behavior. Without an MCP server, you have to copy-paste results from a browser tab. With this server, your AI assistant resolves IPs inline, in context, without breaking flow.
Zero-config —
go installand add three lines to your MCP configWorks without a key — country-level lookups and local IP utilities with no sign-up
14 tools — geo lookup, timezone, IP validation, subnet math, account management
4 guided prompts — IP analysis, security audit, batch comparison, onboarding
Freemium built in — unauthenticated users see upgrade hints for city-level data
Related MCP server: IP Geolocation MCP Server
Example
Ask your AI assistant:
Where is 8.8.8.8?
The assistant calls geolocate_ip and responds with something like:
8.8.8.8 is located in Mountain View, California, US.
Country United States (US) 🇺🇸
Region California (CA)
City Mountain View
Coordinates 37.386, -122.084
Timezone America/Los_Angeles (UTC-07:00)
ASN AS15169
Org Google LLC
EU member NoOther things you can ask:
Prompt | What happens |
"Where is my server?" | Calls |
"Is 10.0.0.1 a public IP?" | Calls |
"Analyze 203.0.113.42" | Runs the |
"Compare these IPs: 8.8.8.8, 1.1.1.1, 208.67.222.222" | Runs |
"Audit my NetLoc8 account" | Runs |
"What subnet is 203.0.113.42 in?" | Calls |
"Set me up with NetLoc8 for Next.js" | Runs |
Install
Requires Go 1.26+.
go install github.com/netloc8/netloc8-mcp@latestConfiguration
Claude Code
One-liner:
claude mcp add --env NETLOC8_API_KEY=sk_live_YOUR_KEY netloc8 -- netloc8-mcpOr add to .mcp.json in your project root (committable):
{
"mcpServers": {
"netloc8": {
"command": "netloc8-mcp",
"env": {
"NETLOC8_API_KEY": "sk_live_YOUR_KEY"
}
}
}
}Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"netloc8": {
"command": "netloc8-mcp",
"env": {
"NETLOC8_API_KEY": "sk_live_YOUR_KEY"
}
}
}
}Cursor
Add to .cursor/mcp.json in your project root (or ~/.cursor/mcp.json for global):
{
"mcpServers": {
"netloc8": {
"command": "netloc8-mcp",
"env": {
"NETLOC8_API_KEY": "sk_live_YOUR_KEY"
}
}
}
}VS Code
Add to .vscode/mcp.json in your project root:
{
"servers": {
"netloc8": {
"command": "netloc8-mcp",
"env": {
"NETLOC8_API_KEY": "sk_live_YOUR_KEY"
}
}
}
}OpenAI Codex
One-liner:
codex mcp add --env NETLOC8_API_KEY=sk_live_YOUR_KEY netloc8 -- netloc8-mcpOr add to ~/.codex/config.toml (global) or .codex/config.toml (project):
[mcp_servers.netloc8]
command = "netloc8-mcp"
env = { NETLOC8_API_KEY = "sk_live_YOUR_KEY" }Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"netloc8": {
"command": "netloc8-mcp",
"env": {
"NETLOC8_API_KEY": "sk_live_YOUR_KEY"
}
}
}
}Antigravity
Add to ~/.gemini/config/mcp_config.json:
{
"mcpServers": {
"netloc8": {
"command": "netloc8-mcp",
"env": {
"NETLOC8_API_KEY": "sk_live_YOUR_KEY"
}
}
}
}No API key? Remove the
"env"block entirely. The server starts in unauthenticated mode with country-level geo lookups and local tools. Sign up for a free key at netloc8.com to unlock full features.
Environment Variables
Variable | Required | Default | Description |
| No | — | Your NetLoc8 API key. Enables city-level data and account management. |
| No |
| Override the API base URL (for staging/dev). |
Available Tools
Geo Lookup (work with or without API key)
Tool | Description |
| Look up geolocation for any IPv4/IPv6 address |
| Look up geolocation for the server's own IP |
| Get IANA timezone for an IP address |
| Check if a string is a valid IP address |
Local Utilities (no API call, no quota)
Tool | Description |
| Check if an IP is publicly routable |
| Clean up IP strings (brackets, ::ffff: prefix, whitespace) |
| Derive /24 CIDR prefix from an IPv4 address |
Account Management (requires API key)
Tool | Description |
| List all API keys on your account |
| Get request counts and plan limits |
| Get account profile (name, email) |
| View account activity log |
| Create a new API key |
| Revoke an API key (irreversible) |
| Extend an API key's expiration |
Prompts
Prompts are guided workflows that chain multiple tools together. Select them from your MCP client's prompt picker, or just describe what you want — most clients will match you to the right prompt automatically.
Prompt | Description |
| Deep-dive analysis of a single IP — classification, geolocation, network, timezone, EU status |
| Review your NetLoc8 account — API key inventory, recent activity, usage, recommendations |
| Look up multiple IPs and produce a comparison table |
| Guided onboarding — create a key, verify it, get SDK install instructions for your platform |
Resources
URI | Description |
| Product overview, SDKs, pricing, and quick start guide |
| Geo data for a specific IP address |
What You Get
Feature | No API Key | Free Key | Paid Key |
Country-level geo | ✅ | ✅ | ✅ |
City, coordinates, timezone | — | ✅ | ✅ |
Local utility tools | ✅ | ✅ | ✅ |
Account management | — | ✅ | ✅ |
Monthly requests | — | 5,000 | 25,000+ |
Links
NetLoc8 — Sign up (free, no credit card)
Migration
This Go binary server is deprecated in favor of:
npm package —
@netloc8/mcp— same tools, no Go requiredHosted server —
mcp.netloc8.com— zero install, OAuth 2.1 auth
Migrate to npm package
Replace your MCP client config:
{
"mcpServers": {
"netloc8": {
- "command": "/path/to/netloc8-mcp",
+ "command": "npx",
+ "args": ["--yes", "--prefer-online", "@netloc8/mcp@latest"],
"env": {
"NETLOC8_API_KEY": "sk_live_YOUR_KEY"
}
}
}
}All 14 tools, 4 prompts, and 2 resources are identical — no client-side changes needed.
License
Available Tools
7 toolsgeolocate_ipGeolocate IP AddressARead-onlyIdempotent
Look up geolocation data for an IPv4 or IPv6 address using NetLoc8's edge network. Returns country, city, region, coordinates, timezone, ASN, and EU membership status. Use this when you need the physical location of an IP address. Example: ip="8.8.8.8" → United States, Mountain View, CA, America/Los_Angeles.
Inputs: ip (required).
geolocate_meGeolocate My IPARead-onlyIdempotent
Look up geolocation data for this machine's public IP address using NetLoc8. Returns the same rich data as geolocate_ip (country, city, coordinates, ASN, EU status). Useful for determining the developer's location or the server's egress point. No arguments required.
get_subnetGet SubnetARead-onlyIdempotent
Derive the /24 CIDR prefix from an IPv4 address (e.g. 8.8.8.8 → 8.8.8.0/24). For IPv6 or invalid addresses, returns a message explaining why no /24 subnet applies. Runs locally — no API call, no quota usage.
Inputs: ip (required).
get_timezoneGet TimezoneARead-onlyIdempotent
Get the IANA timezone string for an IP address. Lighter than a full geolocate_ip call when you only need the timezone. Useful for scheduling, date formatting, or timezone-aware code. Example: ip="8.8.8.8" → "America/Los_Angeles".
Inputs: ip (required).
is_public_ipCheck Public IPARead-onlyIdempotent
Check if an IP address is publicly routable. Rejects RFC1918, CGNAT, loopback, link-local, and ULA addresses. Example: ip="8.8.8.8" → public, ip="192.168.1.1" → private. Runs locally — no API call, no quota usage.
Inputs: ip (required).
normalize_ipNormalize IP AddressARead-onlyIdempotent
Normalize an IP address string: strip brackets, remove IPv4-mapped prefix (::ffff:), trim whitespace, and lowercase. Runs locally — no API call, no quota usage.
Inputs: ip (required).
validate_ipValidate IP AddressARead-onlyIdempotent
Check if a string is a valid IPv4 or IPv6 address. Returns a human-readable message stating whether the input is valid. Useful for input validation before making a geo lookup. Example: ip="8.8.8.8" → valid, ip="not-an-ip" → invalid. Runs locally — no API call, no quota usage.
Inputs: ip (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
All tools have clearly distinct purposes: full geolocation (geolocate_ip, geolocate_me), subnet derivation, timezone lookup, public IP check, normalization, and validation. No overlap in functionality.
Tool names follow a consistent verb_noun snake_case pattern: geolocate_ip, get_subnet, is_public_ip, normalize_ip, validate_ip. The pattern is uniform and predictable.
With 7 tools, the server is well-scoped for IP geolocation and utility tasks. Each tool serves a distinct need without being too few or too many.
The tool set covers essential IP operations: geolocation (full and for current machine), subnet info, timezone, validation, normalization, and public/private check. No obvious gaps for common use cases.
Maintenance
Related MCP Connectors
The official Model Context Protocol server for Ambee. It gives any MCP-compatible AI assistant — Claude, ChatGPT, Cursor, VS Code, Ollama, and more direct access to live air quality, pollen, and weather data. To get started, including information on signing up and obtaining your Ambee key, check out the Ambee documentation on https://docs.ambeedata.com
IPStack MCP Adapter turns IPStack's REST APIs into Model Context Protocol tools so any MCP-compatible client can call them directly in conversation. The first release ships IPStack IP geolocation and security lookups (single IP, caller's IP, and bulk). Additional APILayer services are added by registering them in a single config file, so the catalog grows without client-side changes.
A Model Context Protocol server for Wix AI tools
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Related MCP Servers
- AlicenseAqualityBmaintenanceA Model Context Protocol server that provides LLM Agents with a comprehensive toolset for IP geolocation, network diagnostics, system monitoring, cryptographic operations, and QR code generation.5454 npm20Apache 2.0
- AlicenseAqualityFmaintenanceA Model Context Protocol server that retrieves detailed geographic information about IP addresses using the ipinfo.io API, helping determine user location and network details.5172 PyPI45MIT
- AlicenseAqualityFmaintenanceA Model Context Protocol server that provides geocoding services by integrating with the Nominatim API, allowing AI assistants to perform location-based lookups.2491 npm3MIT
- AlicenseAqualityBmaintenanceIP Geolocation MCP server using IP2Location.io API to ease the query of geolocation information.116PythonMIT