Skip to main content
Glama
briandconnelly

IP Geolocation MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
IPINFO_API_TOKENYesIPInfo API token for premium features. Required for batch lookups and residential proxy info.
IPINFO_CACHE_TTLNoCache TTL in seconds3600

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
ipinfo_lookup_my_ip

Geolocate the calling client's own IP. No arguments.

On stdio transports the result is this server's outbound IP, not the end user's. Use ipinfo_lookup_ips when the caller already has a specific IP. Errors raise ToolError with a JSON-encoded envelope.

ipinfo_lookup_ips

Geolocate one or more IPs and return ISP/ASN details.

Returns a list of IPDetails in input order (after dedup and invalid-IP filtering). Match results back to your input via the ip field. Capped at 500,000 IPs per call (too_many_ips if exceeded). Higher plan tiers populate more fields; see the server instructions for the Lite/Core/Plus/Enterprise tier mapping. Errors raise ToolError with a JSON-encoded envelope.

ipinfo_check_residential_proxy

Classify whether an IP is a known residential-proxy exit node.

Returns ResidentialProxyDetails with is_residential_proxy (the canonical yes/no), and — when true — service, last_seen (YYYY-MM-DD), and percent_days_seen over a 7-day window. Useful for fraud, bot, and ad-fraud detection. Requires IPINFO_API_TOKEN with the Enterprise residential-proxy add-on; absence surfaces as auth_insufficient_scope (distinct from auth_invalid for a missing/wrong token).

ipinfo_generate_map_url

Build an interactive ipinfo.io map for a set of IPs.

Returns MapResult{url, mapped_ip_count, skipped_ips, skipped_count, truncated}. skipped_ips is a list of {ip, reason} entries for filtered inputs, capped at 100; truncated flags overflow. skipped_count is the true total even when the list is capped, so mapped_ip_count + skipped_count equals the input length. Errors raise ToolError with a JSON-encoded envelope.

get_ip_details

[DEPRECATED in 0.5.0 — use ipinfo_lookup_my_ip / ipinfo_lookup_ips. Removed in 0.6.0.]

Forwards to ipinfo_lookup_my_ip when called with no ips (or ips=None), and to ipinfo_lookup_ips otherwise. Behavior is otherwise unchanged.

get_residential_proxy_info

[DEPRECATED in 0.5.0 — use ipinfo_check_residential_proxy. Removed in 0.6.0.]

get_map_url

[DEPRECATED in 0.5.0 — use ipinfo_generate_map_url. Removed in 0.6.0.]

Returns just the bare map URL string for 0.4.x cached-client parity. Callers wanting structured skip/truncation metadata should call ipinfo_generate_map_url directly.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/briandconnelly/mcp-server-ipinfo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server