IP.LS — IP Lookup Service
Keyless IP geolocation, ASN/ISP, timezone and DNS records for any IP or domain, plus your own IP.
Should I use this
Quality & Safety
Findings (4)
- HIGH
- MEDIUMin ip_self
- LOWin ua
- LOWin ua
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"ipls-ip-lookup-service": {
"url": "https://ip.ls/mcp"
}
}
}Remote endpoints
https://ip.ls/mcpstreamable-httpWhat it can do
Tool inventory
Tools (5)
🟢ip_lookup(ip)
Look up geolocation, ISP and network info for any IPv4/IPv6 address or hostname, or an array of them for batch lookup. Returns ip, city, region, country, coordinates, ASN/ISP, timezone and continent (full name, e.g. North America); when a domain is queried, an extra `domain` field echoes it. Data source: DB-IP Lite (CC BY 4.0). Anycast IPs are approximate.
Input Schema
{
"type": "object",
"properties": {
"ip": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "IPv4/IPv6 address or hostname, e.g. 8.8.8.8 or example.com. Pass an array for batch lookup, e.g. [\"8.8.8.8\", \"1.1.1.1\"]."
}
},
"required": [
"ip"
]
}🟢ip_resolved(host)
Resolve a domain to all its A and AAAA records (deduplicated, up to 6) and return geolocation for each address. Returns an array of { ip, protocol, domain, city, region, country, coordinates, ASN/ISP, ... }. For a bare IP, returns a single-element array.
Input Schema
{
"type": "object",
"properties": {
"host": {
"type": "string",
"description": "Domain or IP address to resolve, e.g. example.com or baidu.com"
}
},
"required": [
"host"
]
}🟢ip_self
Get geolocation and network info about the caller's own public IP, plus the protocol stack (IPv4/IPv6) of the current connection. On dual-stack machines the stack is chosen by the client and may differ from `curl ip.ls`, which picks a random stack; use curl -4/-6 locally to get the other stack, or — for clients that cannot pick a stack (browser, PowerShell, most HTTP libraries) — the single-stack hostnames https://4.ip.ls / https://6.ip.ls (DNS selects the stack; an unreachable 6.ip.ls means no usable IPv6). Data comes from a server-side GeoIP lookup on the caller's real IP.
Input Schema
{
"type": "object",
"properties": {}
}🟢headers
Return all HTTP request headers as seen by the IP.LS server (including X-Real-IP / X-Forwarded-For injected by the frontend proxy). Useful for debugging proxies and client identity.
Input Schema
{
"type": "object",
"properties": {}
}🟢ua
Return the User-Agent string of the current HTTP client.
Input Schema
{
"type": "object",
"properties": {}
}Community
Evidence