Skip to main content
Glama

IPStack MCP Adapter

Server Details

IPStack MCP Adapter turns IPStack's REST APIs into Model Context Protocol tools so any MCP-compatible client can call them directly in conversation. The first release ships IPStack IP geolocation and security lookups (single IP, caller's IP, and bulk). Additional APILayer services are added by registering them in a single config file, so the catalog grows without client-side changes.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

TDQS

A4.3/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: single IP lookup, bulk IP lookup, and checking the originating request IP. The descriptions explicitly call out the differences, especially ipstack_check versus ipstack_lookup, so an agent should not confuse them.

Naming Consistency5/5

All tool names follow a consistent ipstack_ prefix with descriptive suffixes: lookup, bulk_lookup, and check. The naming pattern is immediately predictable and uniform across the set.

Tool Count5/5

Three tools is well-scoped for an IP geolocation adapter, covering the primary request types without unnecessary bloat. Each tool serves a distinct real-world use case and earns its place.

Completeness5/5

The tool surface covers the core ipstack workflows: single IP lookup, bulk lookup, and requester IP detection. There are no obvious dead ends or missing operations for the stated domain of IP geolocation and security details.

Available Tools

3 tools
ipstack_bulk_lookupBulk IP Geolocation LookupA
Read-only
Inspect

Get geolocation and security details (country, region, city, timezone, latitude, longitude, ISP, currency, connection type, IP routing type, proxy/tor/threat flags) for multiple IPv4 or IPv6 addresses in one request. Useful for analyzing lists of IPs, grouping by country/region, or flagging suspicious origins. Requires a plan that supports bulk lookups.

ParametersJSON Schema
NameRequiredDescriptionDefault
ipsYesComma-separated list of IP addresses (Ex 8.8.8.8,1.1.1.1)
modelNoSelf-reported LLM identifier for analytics attribution (e.g. "claude-opus-4-7", "gpt-4o-2024-08-06"). Not used for authorization or billing.
includeNoOptional response fields to include in addition to the default set. Available: type, region_code, continent_code, zip, msa, dma, radius, current_time, is_daylight_saving, currency_plural, currency_symbol_native, carrier, sld, tld, connection_home, organization_type, isic_code, naics_code, geoname_id, capital, languages, country_flag, country_flag_emoji, country_flag_emoji_unicode, proxy_type, proxy_level, threat_types, proxy_last_detected, vpn_service, anonymizer_status, hosting_facility, is_crawler, crawler_name, crawler_type.
verboseNoInclude raw API response in output
include_optionalNoInclude all optional response fields. Overrides `include` when true.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the bar for behavioral disclosure is lower. The description adds value by specifying a plan requirement for bulk lookups and summarizing the security/geolocation data returned. It does not mention rate limits or invalid IP behavior, but those are secondary for a read-only operation.

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 sentences with no filler: the first states the core function and output domains, the second gives concrete use cases, and the third notes a key prerequisite. Information is front-loaded and every sentence earns its place.

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 read-only bulk lookup, the description covers purpose, use cases, high-level output fields, and a plan prerequisite. Schema covers all input constraints. There is no output schema, but the field list partially compensates. Minor omissions like maximum batch size and error behavior are acceptable given the schema's maxLength and annotation's read-only hint.

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%, so the schema already documents all parameters including the comma-separated format for ips and the meaning of include, verbose, and include_optional. The description does not add meaning beyond the schema; it only mentions multiple addresses, which the schema already covers.

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 begins with a specific verb and resource: 'Get geolocation and security details ... for multiple IPv4 or IPv6 addresses in one request.' It clearly lists the domains covered (country, region, city, timezone, ISP, threat flags) and differentiates from likely single-IP siblings by emphasizing bulk lookup.

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?

Provides clear context: 'Useful for analyzing lists of IPs, grouping by country/region, or flagging suspicious origins' and notes the prerequisite that a plan must support bulk lookups. However, it does not explicitly name sibling tools or state when to use a single-IP lookup instead, so it stops short of full when/when-not guidance.

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

ipstack_checkConnection Origin IP CheckA
Read-only
Inspect

Return geolocation and security details (country, region, city, timezone, latitude, longitude, ISP, currency, connection type, IP routing type, proxy/tor/threat flags) for the IP address this request appears to originate from. Takes no parameters. That address belongs to whichever client or platform made the MCP call, and is not necessarily the end user's own device or network. To look up a specific IP address, use ipstack_lookup.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoSelf-reported LLM identifier for analytics attribution (e.g. "claude-opus-4-7", "gpt-4o-2024-08-06"). Not used for authorization or billing.
includeNoOptional response fields to include in addition to the default set. Available: type, region_code, continent_code, zip, msa, dma, radius, current_time, is_daylight_saving, currency_plural, currency_symbol_native, carrier, sld, tld, connection_home, organization_type, isic_code, naics_code, geoname_id, capital, languages, country_flag, country_flag_emoji, country_flag_emoji_unicode, proxy_type, proxy_level, threat_types, proxy_last_detected, vpn_service, anonymizer_status, hosting_facility, is_crawler, crawler_name, crawler_type.
verboseNoInclude raw API response in output
include_optionalNoInclude all optional response fields. Overrides `include` when true.

TDQS

A4/5.0
Behavior3/5

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

The readOnlyHint annotation already establishes that this is a safe read operation, so the bar for additional disclosure is lower. The description adds useful context about the origin IP semantics and the categories of returned data. However, the claim 'Takes no parameters' is misleading because the input schema defines four optional parameters, so the description partially misrepresents how the tool is invoked.

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 description is brief and front-loaded, with the core behavior stated first and the sibling-tool routing near the end. The only structural flaw is the ambiguous 'Takes no parameters' sentence, which should be qualified as 'takes no IP address parameter' to avoid contradicting the schema.

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 read-only tool with no required parameters and a 100%-documented schema, the description covers the essential context: what it returns, whose IP it uses, and which alternative to use for specific IPs. The missing discussion of optional response fields is acceptable because the schema already documents them.

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

Parameters2/5

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

Schema description coverage is 100%, so the baseline would normally be 3, but the description's flat statement 'Takes no parameters' conflicts with the actual schema, which includes model, include, verbose, and include_optional. The description neither clarifies that no IP parameter is required nor explains the optional parameters, so it actively confuses rather than adding value.

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 opens with a specific verb and resource: 'Return geolocation and security details ... for the IP address this request appears to originate from.' It clearly differentiates itself from ipstack_lookup by noting the IP is the request origin rather than a user-supplied address.

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?

It explicitly states when to use this tool, explains the important caveat that the IP belongs to the calling client/platform rather than the end user, and directly points to ipstack_lookup for specific IP lookups. This gives the agent clear decision criteria.

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

ipstack_lookupIP Geolocation LookupA
Read-only
Inspect

Get geolocation and security details (country, region, city, timezone, latitude, longitude, ISP, currency, connection type, IP routing type, proxy/tor/threat flags) for a single IP address.

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYesIP address to lookup (Ex 8.8.8.8)
modelNoSelf-reported LLM identifier for analytics attribution (e.g. "claude-opus-4-7", "gpt-4o-2024-08-06"). Not used for authorization or billing.
includeNoOptional response fields to include in addition to the default set. Available: type, region_code, continent_code, zip, msa, dma, radius, current_time, is_daylight_saving, currency_plural, currency_symbol_native, carrier, sld, tld, connection_home, organization_type, isic_code, naics_code, geoname_id, capital, languages, country_flag, country_flag_emoji, country_flag_emoji_unicode, proxy_type, proxy_level, threat_types, proxy_last_detected, vpn_service, anonymizer_status, hosting_facility, is_crawler, crawler_name, crawler_type.
verboseNoInclude raw API response in output
include_optionalNoInclude all optional response fields. Overrides `include` when true.

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds value by enumerating the response contents, which is useful given there is no output schema. However, it does not disclose operational behaviors such as API-key requirements, paid-plan dependencies for security fields, or rate-limit behavior, so it does not go beyond what annotations and the field list already provide.

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 front-loads the core purpose before the parenthetical field list, with zero filler words. The field list is long but earns its place by setting concrete expectations for the response, which matters given the absence of an output schema.

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

Completeness3/5

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

Given no output schema, the description reasonably conveys the return content, and the schema fully documents parameters while annotations cover safety. However, it omits operational context such as the need for an API key, tier-dependent field availability, and any guidance on how this tool relates to ipstack_check, leaving those gaps for the agent to discover.

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%, so every parameter (ip, model, include, verbose, include_optional) is already documented in the schema; the baseline of 3 applies. The description's field list does complement the 'include' parameter by implying which fields are default versus optional, but it adds no direct parameter-level meaning beyond the schema.

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 ('Get') with a clear resource ('geolocation and security details') and scope ('for a single IP address'). The field enumeration (country, region, city, timezone, ISP, proxy/tor/threat flags) precisely tells an agent what it will receive. The 'single IP address' qualifier cleanly distinguishes it from the sibling ipstack_bulk_lookup even without opening the schema.

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 phrase 'for a single IP address' provides clear contextual guidance that this tool handles one address at a time, implying ipstack_bulk_lookup is the alternative for multiple addresses. However, it never explicitly names the alternatives or states when not to use this tool, leaving the routing to inference rather than direct instruction.

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. 3 tool updates
    • First observedipstack_bulk_lookup
    • First observedipstack_check
    • First observedipstack_lookup

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    A Model Context Protocol server that enables LLMs to perform IP geolocation, reverse geocoding, and detect the host's public IP without requiring API keys.
    3
    12 npm
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP (Multi-Agent Conversation Protocol) server that enables natural language interaction with the AbstractAPI geolocation service, allowing users to retrieve geographic information about IP addresses.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources