Skip to main content
Glama
netloc8-mcp
by netloc8

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/mcp npm package and the hosted server at mcp.netloc8.com. See Migration below.

# New install (no Go required):
npx --yes --prefer-online @netloc8/mcp@latest

Go Reference Go 1.26+ License: ELv2 netloc8-mcp MCP server

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 install and add three lines to your MCP config

  • Works 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   No

Other things you can ask:

Prompt

What happens

"Where is my server?"

Calls geolocate_me to look up the machine's own IP

"Is 10.0.0.1 a public IP?"

Calls is_public_ip locally — no API call, no quota

"Analyze 203.0.113.42"

Runs the analyze_ip prompt — classification, geo, network, timezone in one report

"Compare these IPs: 8.8.8.8, 1.1.1.1, 208.67.222.222"

Runs batch_geolocate — table with country, city, ASN for each

"Audit my NetLoc8 account"

Runs security_audit — reviews API keys, recent activity, usage

"What subnet is 203.0.113.42 in?"

Calls get_subnet locally — returns 203.0.113.0/24

"Set me up with NetLoc8 for Next.js"

Runs getting_started — creates a key, verifies it, shows SDK install

Install

Requires Go 1.26+.

go install github.com/netloc8/netloc8-mcp@latest

Configuration

Claude Code

One-liner:

claude mcp add --env NETLOC8_API_KEY=sk_live_YOUR_KEY netloc8 -- netloc8-mcp

Or 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-mcp

Or 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

NETLOC8_API_KEY

No

—

Your NetLoc8 API key. Enables city-level data and account management.

NETLOC8_API_URL

No

https://api.netloc8.com

Override the API base URL (for staging/dev).

Available Tools

Geo Lookup (work with or without API key)

Tool

Description

geolocate_ip

Look up geolocation for any IPv4/IPv6 address

geolocate_me

Look up geolocation for the server's own IP

get_timezone

Get IANA timezone for an IP address

validate_ip

Check if a string is a valid IP address

Local Utilities (no API call, no quota)

Tool

Description

is_public_ip

Check if an IP is publicly routable

normalize_ip

Clean up IP strings (brackets, ::ffff: prefix, whitespace)

get_subnet

Derive /24 CIDR prefix from an IPv4 address

Account Management (requires API key)

Tool

Description

list_api_keys

List all API keys on your account

get_usage

Get request counts and plan limits

get_profile

Get account profile (name, email)

get_audit_log

View account activity log

create_api_key

Create a new API key

delete_api_key

Revoke an API key (irreversible)

renew_api_key

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

analyze_ip

Deep-dive analysis of a single IP — classification, geolocation, network, timezone, EU status

security_audit

Review your NetLoc8 account — API key inventory, recent activity, usage, recommendations

batch_geolocate

Look up multiple IPs and produce a comparison table

getting_started

Guided onboarding — create a key, verify it, get SDK install instructions for your platform

Resources

URI

Description

netloc8://about

Product overview, SDKs, pricing, and quick start guide

netloc8://ip/{address}

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+

Migration

This Go binary server is deprecated in favor of:

  1. npm package — @netloc8/mcp — same tools, no Go required

  2. Hosted 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

Elastic License 2.0 (ELv2)

Available Tools

7 tools
geolocate_ipGeolocate IP AddressA
Read-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 IPA
Read-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 SubnetA
Read-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 TimezoneA
Read-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 IPA
Read-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 AddressA
Read-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 AddressA
Read-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

    A4.6/5.0

    Scored across 7 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    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.

    Tool Count5/5

    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.

    Completeness5/5

    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

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      A 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.
      5
      454 npm
      20
      Apache 2.0
    • A
      license
      A
      quality
      F
      maintenance
      A Model Context Protocol server that retrieves detailed geographic information about IP addresses using the ipinfo.io API, helping determine user location and network details.
      5
      172 PyPI
      45
      MIT
    • A
      license
      A
      quality
      F
      maintenance
      A Model Context Protocol server that provides geocoding services by integrating with the Nominatim API, allowing AI assistants to perform location-based lookups.
      2
      491 npm
      3
      MIT