MCP server providing IP geolocation, ASN, ISP, VPN/proxy detection, and interactive maps via the IPInfo API.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
One-click editor setup isnโt available for this listing yet โ we donโt have a confirmed install command, and weโd rather show nothing than point your editor at the wrong package or host. Follow the projectโs own setup instructions, linked above.
Inspect callable tools, capabilities, and parameters exposed to AI agents by MCP Server Ipinfo.
IPDetails.ipCallable MCP tool function
api_errorCallable MCP tool function
enterpriseCallable MCP tool function
MapResultCallable MCP tool function
truncatedCallable MCP tool function
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.
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.
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).
Most MCP clients accept the following values:
| Field | Value |
|---|---|
| Command | uvx |
| Arguments | mcp-server-ipinfo |
| Environment | IPINFO_API_TOKEN = <YOUR TOKEN> |
To run the latest from main:
| Field | Value |
|---|---|
| Command | uvx |
| Arguments | --from, git+https://github.com/briandconnelly/mcp-server-ipinfo, mcp-server-ipinfo |
| Environment | IPINFO_API_TOKEN = <YOUR TOKEN> |
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.| Tier | Fields available |
|---|---|
| Free Lite (no token) | country, country_code, continent, ASN basics |
| Core | full geolocation, ASN details, privacy/VPN/proxy/Tor/hosting flags |
| Plus | adds carrier and company data |
| Enterprise | adds domains and abuse contacts |
| Residential-proxy add-on | enables ipinfo_check_residential_proxy. Sold separately on top of Enterprise; not included by default. |
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.
| Variable | Description | Default |
|---|---|---|
IPINFO_API_TOKEN | IPInfo API token. Without it the server runs in free Lite mode. | unset (Lite) |
IPINFO_CACHE_TTL | Per-IP cache TTL in seconds. Cached results retain their original ts_retrieved timestamp. | 3600 |
IPINFO_CACHE_SIZE | Maximum cache entries before oldest-first eviction. | 4096 |
MIT License โ see LICENSE. Release history in CHANGELOG.md.
This project is not affiliated with IPInfo.
Factual signals from GitHub, npm, and our automated checks โ not a rating.
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/briandconnelly-mcp-server-ipinfo)<a href="https://allmcps.com/mcp/briandconnelly-mcp-server-ipinfo"><img src="https://allmcps.com/api/badge/briandconnelly-mcp-server-ipinfo?style=directory" alt="MCP Server Ipinfo on AllMCPs" /></a>