mcpField
I
IP Geolocation MCP Server

IP Geolocation MCP Server

Local
github.com/briandconnellyMaps & Travel44Updated 19w ago

About IP Geolocation MCP Server

IP Geolocation MCP Server is an MCP server that exposes the ipinfo.io API to AI agents. It suits users who need to geolocate addresses or check ISP, ASN and network risk flags.

Key features

  1. 01IPv4 and IPv6 address geolocation
  2. 02ISP and ASN detail lookup
  3. 03VPN, proxy and Tor exit node detection
  4. 04Batch IP aggregation by country or ASN
  5. 05Interactive map URL generation for IP sets

Use cases

  1. 01Summarizing countries and ASNs across large IP log files
  2. 02Checking whether access sources are VPN or Tor nodes
  3. 03Creating a map view for a set of IP addresses

MCP support

This project is an MCP server that exposes IP lookup, batch summary, proxy check and map generation tools to MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"ipinfo": {
"command": "uvx",
"args": [
"mcp-server-ipinfo"
],
"env": {
"IPINFO_API_TOKEN": "<IPINFO_API_TOKEN>"
}
}
}
}
Run commanduvx mcp-server-ipinfo
Environment variables to set
IPINFO_API_TOKENSecret

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypimcp-server-ipinfo

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

IP Geolocation MCP Server

PyPI CI License: MIT

A Model Context Protocol server that exposes the ipinfo.io API to AI agents. Geolocate IPv4 and IPv6 addresses, identify ISPs and ASNs, detect VPN/proxy/Tor exit nodes, and generate interactive maps for sets of IPs.

Installation

Sign up for a free IPInfo API token at https://ipinfo.io/signup if you don't have one. The server runs with no token (free Lite tier — country and ASN basics) but most fields require a token.

Claude Desktop (one-click bundle)

Download the .mcpb bundle from the latest release and open it to install in Claude Desktop. You can set your IPINFO_API_TOKEN (and optional cache tuning) in the install dialog; leave the token blank to run in the free Lite tier. The bundle launches the server with uv, so uv must be installed and on your system PATH (GUI apps don't inherit your shell's PATH).

Other MCP clients

Most MCP clients accept the following values:

FieldValue
Commanduvx
Argumentsmcp-server-ipinfo
EnvironmentIPINFO_API_TOKEN = <YOUR TOKEN>
Development Version

To run the latest from main:

FieldValue
Commanduvx
Arguments--from, git+https://github.com/briandconnelly/mcp-server-ipinfo, mcp-server-ipinfo
EnvironmentIPINFO_API_TOKEN = <YOUR TOKEN>

Tools

  • ipinfo_lookup_my_ip() — Geolocate the calling client's own IP. Takes no arguments. On stdio transports the result reflects this server's outbound IP, not the end user's.
  • ipinfo_lookup_ips(ips, detail="summary") — Geolocate one or more specified IPs. Defaults to detail="summary", which omits heavy nested blocks (continent, flags, currency, abuse, domains) for batch token savings; pass detail="full" for every field. Capped at 500,000 IPs per call. Invalid or special-use addresses (private, loopback, etc.) are filtered with ctx.warning() and excluded from the result list, as are IPs that fail upstream — match returned IPDetails.ip values back to your input to detect what was dropped. If every attempted lookup fails, a temporary api_error is raised.
  • ipinfo_summarize_ips(ips, group_by=("country", "asn"), top_n=50) — Geolocate and aggregate a batch into fixed-size counts and percentages by country, continent, ASN, and/or privacy flags. Use this for large log-analysis tasks where per-IP records would waste context. Returns mapped, skipped, and failed counts plus capped top-N groups.
  • ipinfo_check_residential_proxy(ip) — Check whether an IP is a known residential-proxy exit node. Tagged enterprise — requires the IPInfo residential-proxy add-on.
  • ipinfo_generate_map_url(ips) — Build an interactive ipinfo.io map for a set of IPs. Returns a MapResult with the URL, the count that made the map, the IPs filtered out (with reasons, capped at 100), and a truncated flag.
Plan tiers
TierFields available
Free Lite (no token)country, country_code, continent, ASN basics
Corefull geolocation, ASN details, privacy/VPN/proxy/Tor/hosting flags
Plusadds carrier and company data
Enterpriseadds domains and abuse contacts
Residential-proxy add-onenables ipinfo_check_residential_proxy. Sold separately on top of Enterprise; not included by default.
Errors

Every tool raises a ToolError whose message is a JSON-encoded envelope with a stable code (invalid_ip_address, special_ip_unsupported, no_valid_ips, too_many_ips, auth_invalid, auth_insufficient_scope, quota_exceeded, timeout, api_error, unknown_error), a temporary flag, optional retry_after_ms, a repair hint, and a request_id correlation id. Agents should parse the message as JSON and branch on code. Each tool also advertises the subset of codes it can raise via meta.error_codes, so you can see the branch set from tool introspection.

Configuration

Environment Variables
VariableDescriptionDefault
IPINFO_API_TOKENIPInfo API token. Without it the server runs in free Lite mode.unset (Lite)
IPINFO_CACHE_TTLPer-IP cache TTL in seconds. Cached results retain their original ts_retrieved timestamp.3600
IPINFO_CACHE_SIZEMaximum cache entries before oldest-first eviction.4096

License

MIT License — see LICENSE. Release history in CHANGELOG.md.

Disclaimer

This project is not affiliated with IPInfo.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.