Skip to main content
Glama

IP.LS — IP Lookup Service

Server Details

Keyless IP geolocation, ASN/ISP, timezone and DNS records for any IP or domain, plus your own IP.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A4.4/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: headers returns HTTP headers, ip_lookup provides geolocation for arbitrary IPs/domains, ip_resolved resolves domains to IPs with geolocation, ip_self gives the caller's own IP info, and ua returns the User-Agent. No overlap or ambiguity exists.

Naming Consistency4/5

Tool names are consistently lowercase snake_case and follow a logical pattern with the ip_ prefix for IP-related operations. Minor inconsistency: 'ua' is an abbreviation that could be more descriptive, but it does not detract from overall predictability.

Tool Count5/5

Five tools is well-scoped for an IP lookup service, covering the essential operations without bloat. Each tool serves a distinct need and contributes to the service's purpose.

Completeness5/5

The tool surface covers all core operations for the domain: IP/domain lookup (including batch), self-lookup, domain resolution, and request introspection (headers, user-agent). No obvious gaps for the stated purpose.

Available Tools

5 tools
headersShow request headers as the server sees themA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and non-destructive, so the description's addition of 'as seen by the server' and the proxy-injected headers adds valuable behavioral context about networking specifics. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with high information density; the most critical descriptive info ('as seen by the server') appears early, and every clause adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool is simple (no params, read-only, no output schema), the description covers all essential aspects: what it returns and its purpose. The absence of a detailed output format is acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so the description needs to clarify the scope and return. It states it returns 'all HTTP request headers' with specific proxy headers, which gives the agent a clear expectation of what the output will contain.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it returns all HTTP request headers as seen by the server, with a verb and resource. It differentiates from siblings by mentioning proxy-injected headers, but doesn't explicitly name sibling tools or their scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Useful for debugging proxies and client identity' provides clear context for when to use it. Although it doesn't explicitly say when not to use it, the context is sufficient given the sibling tools are distinct.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ip_lookupIP / domain geolocation lookupA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYesIPv4/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"].

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context beyond that: data source (DB-IP Lite, CC BY 4.0), the anycast approximation caveat, the domain field echo, and the exact set of returned fields, which helps an agent anticipate output shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three focused sentences: the first states functionality, the second enumerates return fields, and the third adds data-source and accuracy caveats. Every sentence earns its place, with no repetition or padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, read-only lookup with no output schema, the description is complete: it covers accepted inputs, return fields, special behavior for domains, data provenance, and an important geographic caveat. An agent has enough context to call this tool and interpret the result correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already documents the string/array types, batch lookup, and examples such as 8.8.8.8 and example.com. The description reinforces that arrays are supported but introduces no new parameter-level meaning, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Look up') and resource (geolocation, ISP, network info for IPv4/IPv6, hostname, or batch arrays). The scope 'any IPv4/IPv6 address or hostname' plus the return-field list clearly distinguishes it from siblings like ip_self or ip_resolved.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool: whenever an agent needs geolocation, ISP, or network metadata for an arbitrary IP or hostname. However, it does not explicitly state when not to use it or name alternatives such as ip_self or ip_resolved, so the usage guidance remains implicit rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ip_resolvedResolve a domain to its IPs, with geolocationA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostYesDomain or IP address to resolve, e.g. example.com or baidu.com

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, non-destructive, idempotent, and openWorld. The description adds useful behavioral details beyond that: deduplication, the 6-entry limit, and the single-element array for a bare IP. It does not address error cases or rate limits, but the annotation bar lowers the requirement.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, front-loaded with the main purpose and limits, then a concise return-format note. No filler or repetition of schema content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read-only tool with strong annotations and an output description embedded, this is largely complete. It lacks explicit guidance on failure modes (e.g., unresolved domains) or rate limits, but overall it gives an agent enough to invoke and interpret the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already describes host as a domain or IP. The description adds extra semantics by explaining the return shape differs for bare IPs ('single-element array'), which gives the agent a clearer expectation of behavior tied to the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Resolve a domain to all its A and AAAA records') and adds concrete scope details: deduplication, a 6-record cap, and geolocation. This clearly distinguishes it from sibling tools like ip_lookup or ip_self, which likely serve different lookup purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description conveys a clear context for use: resolving domains to IP addresses with geolocation, and also notes behavior for bare IPs. However, it does not explicitly name sibling tools or state when NOT to use this tool, so it falls short of the 5-level standard.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ip_selfLook up my own public IPA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, openWorld, idempotent, and non-destructive behavior. The description goes beyond by disclosing client-dependent stack selection, dual-stack behavior, DNS-based stack resolution, and that data comes from a server-side GeoIP lookup on the caller's real IP. It also warns that an unreachable 6.ip.ls means no usable IPv6.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The main purpose is front-loaded in the first sentence, and every subsequent sentence adds relevant technical context. The description is somewhat long for a zero-parameter tool, but the stack-selection caveats are valuable and not redundant with the schema or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the burden of explaining results. It names the return categories (geolocation, network info, protocol stack) and the data source, which is enough for an agent to invoke and interpret. It does not enumerate exact response fields, but for a simple zero-parameter read-only lookup this is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so the baseline is 4. The description correctly does not invent parameter semantics, and there is nothing more to explain about inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Get geolocation and network info about the caller's own public IP, plus the protocol stack.' The word 'own' clearly distinguishes it from sibling lookup tools such as ip_lookup, making the tool's scope immediately obvious.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly explains when this tool's stack choice may differ from other methods and names concrete alternatives: 'use curl -4/-6 locally to get the other stack' and 'the single-stack hostnames https://4.ip.ls / https://6.ip.ls' for clients that cannot pick a stack. This is direct, actionable usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

uaShow the caller's User-AgentA
Read-onlyIdempotent
Inspect

Return the User-Agent string of the current HTTP client.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, non-destructive behavior, so the burden on the description is low. It adds the key behavioral fact that the tool returns the caller's User-Agent string, which is sufficient for a zero-parameter getter. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One concise, front-loaded sentence with no redundant words. Everything present earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, non-mutating getter with no output schema, the description fully specifies what the agent needs to know: the output is the current HTTP client's User-Agent string. No meaningful information is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the input schema is empty, so there are no parameter semantics to document. The 0-parameter baseline of 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Return') and resource ('User-Agent string of the current HTTP client'), which is immediately distinguishable from the IP-oriented siblings. It fully states what the tool does without relying on the title.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use is clear: call this when you need the current client's User-Agent string. It does not explicitly name alternatives or exclusions, but the sibling list and the precise resource make selection straightforward.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updates
    • First observedheaders
    • First observedip_lookup
    • First observedip_resolved
    • First observedip_self
    • First observedua

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources