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
Uptime
89.1% over 69 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.9/5.0

Scored across 3 tools

Disambiguation4/5

The three tools have overlapping core functionality (IP geolocation/security lookup), but differ clearly in input: bulk_lookup takes multiple IPs, lookup takes a single IP, and check takes no parameters and returns the requester's IP. The distinction between single and bulk lookup is functional but could be confused if an agent doesn't read cardinality requirements.

Naming Consistency4/5

All tools share the ipstack_ prefix and use snake_case, which is consistent. However, the suffixes (bulk_lookup, check, lookup) do not follow a uniform verb_noun pattern; 'check' is a verb while 'lookup' and 'bulk_lookup' are noun-like, a minor deviation.

Tool Count5/5

Three tools perfectly match the IPStack API's core endpoints: single lookup, bulk lookup, and requester IP check. Each tool serves a distinct purpose without redundancy, making the count well-scoped.

Completeness5/5

The tool surface covers the essential read-only operations of an IP geolocation service: single IP lookup, bulk IP lookup, and self IP detection. No CRUD operations are needed, and no obvious gaps exist for the stated purpose.

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.

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

A3.6/5.0
Behavior3/5

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

Annotations already establish readOnlyHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds one genuinely new behavioral fact, the plan-tier prerequisite, but says nothing about per-request IP limits, partial-failure behavior, or rate limits for a bulk endpoint.

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?

Two sentences, front-loaded with the return payload then the use cases and prerequisite. The long parenthetical field list is dense but earns its place given there is no output schema, though it could be trimmed.

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's enumeration of returned fields (country, region, ISP, proxy/tor/threat flags, etc.) is the only place an agent learns the response shape, and the plan prerequisite is captured. Missing are bulk-specific details such as how many IPs are allowed per call and how failures for individual addresses are reported.

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 all five parameters (including the unusual model and include_optional flags) are already documented in the schema. The description adds no parameter-level syntax or semantics beyond what the schema provides, which is the baseline-3 case.

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?

States a specific verb ('Get') and resource ('geolocation and security details') and explicitly scopes it to 'multiple IPv4 or IPv6 addresses in one request', which separates it in spirit from the singular ipstack_lookup sibling. It never names the siblings, so an agent must infer the bulk-vs-single distinction rather than being told it.

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?

Gives concrete use cases ('analyzing lists of IPs, grouping by country/region, or flagging suspicious origins') and a real prerequisite ('Requires a plan that supports bulk lookups'). It stops short of naming ipstack_lookup as the alternative for single-address queries or stating any when-not condition.

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.

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.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, destructiveHint=false, so the safety profile is covered. The description adds genuinely useful semantics beyond that: the resolved address belongs to the calling client/platform and is 'not necessarily the end user's own device or network' — a caveat that changes how an agent should interpret the result. It stops short of mentioning rate limits, auth, or result caching.

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?

Three sentences, front-loaded with what is returned and then the routing caveat. The long parenthetical field list is a bit dense but earns its place by previewing output in the absence of an output 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?

With no output schema, the description compensates by enumerating the returned fields, and it clarifies the origin-IP semantics. The one gap is that it never acknowledges the optional include/verbose/include_optional controls, which are the only knobs an agent could set.

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 coverage is 100%, so the schema already documents model, include, verbose, and include_optional well. However, the description asserts 'Takes no parameters,' which is factually at odds with the four optional parameters in the schema and could lead an agent to skip include/verbose. The misleading claim pulls this below the 3 baseline.

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?

Opens with a specific verb+resource ('Return geolocation and security details ... for the IP address this request appears to originate from') and even enumerates the returned field categories. It explicitly distinguishes itself from the sibling ipstack_lookup, so an agent can route correctly without opening either schema.

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?

States exactly when to use this tool (origin IP of the current MCP call) and names the alternative for the other case ('To look up a specific IP address, use ipstack_lookup'). Selection criteria are explicit, not inferred.

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.

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.7/5.0
Behavior3/5

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

Annotations already establish readOnlyHint=true, openWorldHint=true, destructiveHint=false, so the safety profile is covered. The description adds that responses include proxy/tor/threat flags, which is useful content context, but says nothing about rate limits, auth, or error behavior.

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?

A single sentence, front-loaded with the verb and resource, with the field list parenthetical doing real work. The long enumeration makes it slightly dense but nothing is wasted.

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 return-value burden and largely does so by listing fields. Minor gap: it lists fields such as proxy_type and threat_types that actually require the include/include_optional parameters, implying a default set that the schema contradicts.

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% across all five parameters, so the schema already documents ip, model, include, verbose, and include_optional thoroughly. The description adds no syntax, format, or default-behavior detail beyond what the schema supplies, so baseline 3 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?

States a specific verb (Get) and resource (geolocation and security details) and enumerates the returned fields, so the agent knows exactly what comes back. The phrase 'for a single IP address' distinguishes it from the sibling ipstack_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 Guidelines3/5

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

The 'single IP address' scope implicitly routes the agent away from ipstack_bulk_lookup, but no alternative or condition is named explicitly, and ipstack_check is never addressed. Usage is inferable rather than stated.

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
    7 npm
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Official IPGeolocation.io MCP server for accurate IP geolocation, company information, ASN and network data, IP security (VPN, proxy, Tor, bot, hosting and spam detection), abuse contacts, time zones, astronomy, currency data and user-agent parsing. Its 17 tools support bulk lookups and cached-result pagination. Local stdio installation requires Node.js 22 or later. API plan restrictions apply.
    17
    47 npm
    4
    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