Skip to main content
Glama
eweley95

mcp-ip2location

by eweley95

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.0

  • Disambiguation5/5

    Each tool has a clearly distinct purpose: single IP geolocation, bulk geolocation, proxy detection, domain WHOIS, and reverse IP lookup. The overlap between ip_geolocation and bulk_geolocate is resolved by the batch vs. single distinction, so no ambiguity exists.

    Naming Consistency2/5

    Tool names follow mixed conventions: 'ip_geolocation' is a noun phrase, 'proxy_check' and 'whois_lookup' are object-verb, 'bulk_geolocate' is modifier-verb, and 'hosted_domains' is a noun phrase. There is no consistent verb_noun or resource_action pattern, making the naming unpredictable.

    Tool Count5/5

    With 5 tools, the server is well-scoped for an IP intelligence service. Each tool provides a distinct and necessary capability without unnecessary redundancy, and the count is within the ideal 3-15 range.

    Completeness4/5

    The tool surface covers the primary IP lookup domain: geolocation, proxy detection, bulk geolocation, WHOIS for domains, and reverse IP. Minor gaps exist, such as no direct domain-to-IP resolution or standalone ASN lookup, but these can be worked around with existing tools.

  • Average 4/5 across 5 of 5 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 2 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior3/5

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

    No annotations are provided, so the description bears full responsibility for behavioral disclosure. It mentions the batch limit (already in schema) and the compact table return format, but does not disclose error handling, invalid IP behavior, or latency characteristics. The added value is modest.

    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?

    The description is a single concise sentence plus a usage tip, with zero fluff. It front-loads the core functionality and limit in the first clause.

    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 simple tool (one parameter, no output schema, no annotations), the description covers the essential purpose and a typical use case. It lacks detail about the actual table columns or failure modes, but for a batch geolocation tool, it is reasonably complete.

    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 coverage is 100% (the 'ips' parameter has a description: 'List of IP addresses (max 50)'). The tool description adds only the redundant 'up to 50 IP addresses' detail and does not elaborate on IP format (IPv4/IPv6) or input requirements 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 clearly states the tool's action ('Geolocate'), the resource ('IP addresses'), the batch scope ('up to 50 in a single request'), and the output format ('compact table'). It also distinguishes itself from single-IP siblings like ip_geolocation through its batch focus.

    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 provides a clear use case ('analyzing a list of IPs from a log file') but does not explicitly exclude single-IP usage or mention alternatives (e.g., ip_geolocation). This is clear context without explicit when-not-to-use guidance.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It accurately describes the read-only nature of the lookup and the data returned, which is transparent for a simple geolocation tool. However, it does not disclose any potential error behavior, data source limitations, or latency expectations. With no annotations, this is adequate but not rich; it meets the minimum viable level.

    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?

    The description is two sentences: the first announces the action and expected outputs, the second gives a direct usage trigger. There is no redundant information, and it is front-loaded with the verb and resource. Every sentence earns its place, making it highly concise and well-structured.

    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's low complexity (single parameter, no output schema), the description is fairly complete: it lists the returned data categories and states when to use it. It does not explicitly mention error handling or response format, but those are not critical for a straightforward lookup. Minor gaps exist, so it is not a perfect 5.

    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 coverage is 100% for the single parameter 'ip', and its description ('IPv4 or IPv6 address, e.g. 8.8.8.8') is clear. The tool description also mentions IPv4/IPv6, but it does not add new semantic details beyond the schema. Since the schema already documents the parameter well, the description does not need to compensate, so a baseline of 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 clearly states the tool's function with a specific verb ('Look up') and resource ('geographic location of an IPv4 or IPv6 address'), and lists the output fields (country, region, city, coordinates, timezone, ASN, network operator). This distinguishes it from sibling tools like bulk_geolocate or whois_lookup by focusing on a single-IP lookup with specific data points.

    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 provides explicit when-to-use guidance: 'Use this when the user asks where an IP address is located or who operates it.' It does not explicitly mention when not to use alternatives, but the context is clear enough given the tool's simplicity and sibling set. This is a clear context without explicit exclusions, so it falls short of a 5.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It discloses the core behavior (checking against known proxy/VPN/anonymizer lists), but does not mention data source, coverage, staleness, rate limits, or return format. Basic behavior is clear; operational limitations are omitted.

    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?

    The description is two sentences, front-loaded with the action and then a use case. Every word earns its place; no redundant or vague phrasing.

    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 simple single-parameter checker with good schema coverage, the description adequately covers purpose and use case. It does not describe return values, but given the low complexity and lack of an output schema, the description is largely complete for selection and invocation.

    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?

    The schema already documents the single 'ip' parameter with 100% coverage, so the description adds no new parameter-level detail. The description's context (assessing traffic trust) reinforces the parameter's meaning, but it does not enhance the schema-provided information.

    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 ('Check whether') and clearly identifies the resource (IP address) and the target condition (known proxy, VPN, or anonymizer exit). It distinguishes from sibling tools like ip_geolocation or whois_lookup by focusing on network anonymity/trust rather than location or registration.

    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?

    It explicitly states when to use the tool: 'Use this to assess whether traffic from an IP can be trusted, e.g. for fraud triage or log investigation.' This gives clear contextual guidance, though it does not explicitly contrast with alternative tools for when not to use it.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It discloses the kind of data returned but does not mention potential limitations such as privacy redaction (e.g., GDPR), rate limits, or behavior for invalid/nonexistent domains. The description is accurate but not rich in behavioral detail.

    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 sentences: the first explains what the tool does and the data it returns, the second gives a concrete use case. No redundant information or fluff, well front-loaded.

    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 simple one-parameter lookup with no output schema, the description covers the purpose, the kind of data returned, and a practical use case. Minor gaps such as error handling or data availability caveats are not covered, but the tool's simplicity means this is mostly complete.

    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% for the single 'domain' parameter, which already has a clear description with an example. The tool description adds no additional parameter semantics beyond what the schema provides, so 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 uses specific verb 'Fetch' and resource 'WHOIS registration data for a domain', listing expected data fields (creation/expiry dates, registrar, nameservers, registrant). This clearly differentiates the tool from IP-focused siblings like ip_geolocation and proxy_check.

    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?

    It provides an explicit use case: 'Use this to judge how old or trustworthy a domain is, e.g. when vetting a sender or website.' However, it does not explicitly mention alternative tools or situations where this tool should not be used.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden. 'List' and 'lookup' strongly imply a read-only operation with no destructive side effects, which is transparent enough for this type of tool. It does not disclose every nuance (e.g., rate limits), but the core safety profile is clear.

    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?

    The description is exactly two sentences: the first states the purpose, the second provides usage context. Every sentence earns its place, and the most important information is front-loaded.

    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's simplicity (2 params, no output schema, no annotations), the description covers the essential purpose and usage. It doesn't explain the return format or detailed pagination behavior, but those are inferable and the page parameter is already described in the schema. It is complete enough for an agent to use effectively.

    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?

    The schema already provides 100% coverage for both parameters ('ip' and 'page') with clear descriptions. The tool description adds no additional parameter-specific meaning beyond reinforcing that the IP is the target. Baseling 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 opens with 'List domain names hosted on a given IP address (reverse-IP lookup)', which uses a specific verb and resource, immediately distinguishing it from sibling tools like ip_geolocation or whois_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?

    It provides explicit usage scenarios ('investigating a suspicious host or mapping an organisation's footprint') and clearly states the tool's use case for finding other sites on the same server. However, it does not explicitly name alternatives or exclusions, so it stops short of a full 5.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

mcp-ip2location MCP server

Copy to your README.md:

Score Badge

mcp-ip2location MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/eweley95/mcp-ip2location'

If you have feedback or need assistance with the MCP directory API, please join our Discord server