IP.LS — IP Lookup Service
by ip.ls · remote · no sign-in to list tools · v1.4.0 · published by ls.ip
Keyless IP geolocation, ASN/ISP, timezone and DNS records for any IP or domain, plus your own IP.
6 tools: 6 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads6Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http ipls-ip-lookup-service https://ip.ls/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
6 tools
Only reads 6Claude Code: allow
headersReturn all HTTP request headers as seen by the IP.LS server (including X-Real-IP / X-Forwarded-For injected by the frontend proxy).No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
ip_lookupLook up geolocation, ISP and network info for any IPv4/IPv6 address or hostname, or an array of them for batch lookup.No findings
Why it is in this group
- The name "ip_lookup" says "lookup": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
ip_resolvedResolve a domain to all its A and AAAA records (deduplicated, up to 6) and return geolocation for each address.No findings
Why it is in this group
- The description's first verb is "resolve": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
ip_selfGet geolocation and network info about the caller's own public IP, plus the protocol stack (IPv4/IPv6) of the current connection.No findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
ip_summarySummarize a large batch of IPs into distributions by country, continent, ASN/operator and network prefix, each bucket with a sample of addresses.No findings
Why it is in this group
- The description's first verb is "summarize": a word for reading.
Description, as the server wrote it Summarize a large batch of IPs into distributions by country, continent, ASN/operator and network prefix, each bucket with a sample of addresses. Use instead of ip_lookup once the input is in the hundreds or thousands — ip_lookup returns every row, which no context window holds. Up to 5000 addresses or 100 hostnames. Counts are per occurrence; nothing is dropped silently (failed → `errors`, no database record → `no_data`, unlisted buckets → `tail`), the same input set always returns the same numbers, and the result is facts only — no datacenter/residential classification, no verdict. DB-IP Lite (CC BY 4.0).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
uaReturn the User-Agent string of the current HTTP client.No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it Return the User-Agent string of the current HTTP client.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.4.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http ipls-ip-lookup-service https://ip.ls/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__ipls-ip-lookup-service__ip_lookup",
"mcp__ipls-ip-lookup-service__ip_resolved",
"mcp__ipls-ip-lookup-service__ip_self",
"mcp__ipls-ip-lookup-service__headers",
"mcp__ipls-ip-lookup-service__ua",
"mcp__ipls-ip-lookup-service__ip_summary"
],
"ask": [],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as ipls-ip-lookup-service. Review it before you use it.