Skip to main content
Glama

isIPsafe

Server Details

Check whether an IP address or network is malicious and report abusive IPs to isIPsafe.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
isipsafe/isipsafe-python
GitHub Stars
0
ChatGPT
–
Claude
–

TDQS

A3.9/5.0

Scored across 10 tools

Disambiguation4/5

Each tool targets a distinct resource or action: single address, CIDR block, ASN, country, blocklist, statistics, categories, reporting, and product info. The main risk is confusion between check_network (a CIDR block) and get_network_report (an autonomous system), and between check_ip and get_reports (summary vs. individual reports), though descriptions make the boundaries clear.

Naming Consistency4/5

All names use snake_case with a predictable verb_noun shape (check_ip, get_blocklist, list_categories, report_ip). The only deviation is about_isipsafe, which is not a verb_noun pattern, but it is a recognizable product-info convention.

Tool Count5/5

Ten tools is well within the sweet spot for a domain-specific reputation API, and each tool maps to a distinct lookup or action. No filler tools are present.

Completeness4/5

The surface covers single-address checks, subnet and ASN analysis, country views, blocklist retrieval, statistics, categories, and report submission—essentially the full read/write lifecycle for IP reputation. Minor gaps exist: no delisting request tool (only described in about_isipsafe) and no bulk multi-address check, though agents can work around these.

Available Tools

10 tools
about_isipsafeAbout isIPsafeA
Read-only
Inspect

Explains isIPsafe itself. Use it for any question about the product rather than guessing: what it is and who it is for, its mission and aims, how reports and the confidence score work, plans, pricing and limits, how to get started, how to get an address delisted, privacy, and who runs it. Needs no API key and uses no allowance.

NameRequiredDescriptionDefault
topicNoWhat to read about. overview: What the product is, who it is for and what it offers. Start here. mission: Why it exists, what it aims for, its principles and where it is heading. how_it_works: How reports become a confidence score, what the score means, and where the data comes from. plans: What is free, the limits of each plan, Enterprise, and what the data may be used for. getting_started: How to look addresses up, report attacks, use the blocklist, the API, the integrations and MCP. delisting: What to do about an address that is listed, whether by mistake or for good reason. privacy: What is stored about reporters and visitors, public profiles, GDPR and deleting an account. company: The team, the company behind the service, contact details and legal documents. faq: Every question on the FAQ page: basics, reporting, scores, the blocklist and API, delisting and privacy.overview

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint=false, so safety is covered; the description adds genuinely new operational facts an agent would otherwise have to discover: no API key required and no allowance consumed. It does not describe the shape of the returned content, which is the only remaining gap for a static-content tool.

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 purpose sentence is front-loaded and the usage instruction follows immediately; there is no filler. The long topic enumeration partially duplicates the enum values, which is mild redundancy but also serves as fast routing signal.

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 optional enum parameter, read-only, no output schema tool, the description covers purpose, usage, cost/auth behavior, and full topical scope. Nothing an agent needs in order to call it correctly is missing.

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 each enum value is already explained in detail in the schema, so the description's parallel topic list adds little meaning beyond it. Baseline 3 is correct when the parameter documentation is already self-sufficient.

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?

"Explains isIPsafe itself" names a specific verb (explains) and resource (the product documentation), and the enumerated content areas make it unmistakably distinct from every sibling, which all operate on IP/network data. An agent can tell at a glance that this is the self-documentation tool rather than a 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?

"Use it for any question about the product rather than guessing" is an explicit use condition with an anti-pattern named, and the topic list clarifies the scope of those questions. It stops short of naming a sibling alternative or an exclusion (e.g., 'not for checking an address – use check_ip'), so it falls just short of the top band.

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

check_ipCheck an IP addressA
Read-only
Inspect

Reputation of one IPv4 or IPv6 address: abuse confidence score (0-100, 75+ is on the blocklist), number of reports and distinct reporters, attack categories, country, network owner (ASN), Tor exit status and a link to its page. Set verbose to include the latest reports with their comments.

NameRequiredDescriptionDefault
ipYesIPv4 or IPv6 address, e.g. 203.0.113.7
verboseNoInclude up to 100 recent reports with comments
maxAgeInDaysNoOnly count reports from the last N days

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful behavior beyond that: the 0-100 scoring scale with 75+ as the blocklist threshold, the fact that verbose pulls in report comments, and a pointer to the web page link. It omits rate limits, auth requirements, and what happens for an unknown or malformed IP.

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, both front-loaded with the highest-value information: what is returned, then how to expand it. No filler, no restatement of the title.

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 field enumeration in the description does the heavy lifting of explaining return values, which is exactly right. The gap is edge-case behavior: not-found IPs, invalid input, and whether results are cached or rate limited are unaddressed.

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%, so all three parameters are already documented in structured fields, which sets the baseline at 3. The description restates the verbose behavior and adds the meaning of the score threshold, but says nothing about maxAgeInDays (the 30-day default window) that would help an agent reason about result freshness.

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+resource ('Reputation of one IPv4 or IPv6 address') and scopes it to a single address, which implicitly separates it from the sibling check_network that handles networks. It goes further by enumerating what reputation data means here (abuse confidence score, reporters, categories, country, ASN, Tor exit), so an agent knows exactly what it gets.

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?

Usage is implied rather than stated: nothing says 'use this for a single IP, use check_network for a CIDR range' or when to prefer get_reports/get_network_report. The only explicit conditional is 'Set verbose to include the latest reports', which is a parameter hint, not a routing rule.

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

check_networkCheck a network (CIDR)A
Read-only
Inspect

Every reported address inside a CIDR block (IPv4 up to /16, IPv6 up to /48), with score, report count and last report time, plus the network's owner. Use it to judge a whole hosting range or subnet.

NameRequiredDescriptionDefault
networkYesCIDR block, e.g. 203.0.113.0/24
maxAgeInDaysNoOnly count reports from the last N days

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 and openWorldHint=false, so the safety profile is covered. The description adds genuinely new behavioral context: the accepted CIDR size ceilings (IPv4 up to /16, IPv6 up to /48) and the shape of what comes back, including the network's owner. It doesn't say whether results are capped or paginated for large blocks.

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, no filler, with the return contents and the hard size limits front-loaded before the use-case hint. Every clause carries information an agent would otherwise have to discover by trial.

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 describing return fields, and it does so adequately (score, report count, last report time, owner). The remaining gap is result-volume behavior for large CIDR blocks, which matters for a tool that enumerates addresses.

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%, so both parameters are documented structurally, making 3 the baseline. The description goes beyond that by constraining the meaning of the network parameter with maximum prefix sizes that the schema itself does not state, which prevents oversized-query failures. The maxAgeInDays window is left entirely to the schema.

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 and resource — enumerating every reported address inside a CIDR block, with score, report count, last report time and network owner. It is clearly distinct from check_ip (single address), but it never distinguishes itself from the sibling get_network_report, which an agent could plausibly confuse it with.

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?

"Use it to judge a whole hosting range or subnet" gives a clear selection context, implying this is the bulk/range tool versus a single-IP lookup. There are no explicit exclusions and no named alternatives such as check_ip or get_network_report, so the agent must infer the routing.

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

get_blocklistGet the blocklistA
Read-only
Inspect

The highest-confidence abusive addresses right now, best first, with score, country and categories. Needs an API key and counts as one blocklist download. For a firewall-ready file, point the firewall at the blocklist URL instead (see the integrations).

NameRequiredDescriptionDefault
limitNoMaximum number of addresses
ipVersionNoOnly IPv4 or only IPv6
onlyCountriesNoComma-separated ISO country codes to include, e.g. CN,RU
exceptCountriesNoComma-separated ISO country codes to leave out
confidenceMinimumNoLowest score to include

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, and the description adds genuinely new behavior: an API key is required and each call is metered as one blocklist download. It also discloses the result ordering (best first) and which fields come back, which annotations alone would not reveal.

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 short sentences with the payload description and ordering front-loaded, followed by the prerequisites and the alternative. Nothing is redundant and no sentence could be dropped without losing information.

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 usefully lists the returned fields and ordering, and it covers prerequisites and quota cost, which is enough for a read-only list tool with fully documented parameters. Only minor details such as pagination behavior or what an empty result means are absent.

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 is already documented in the schema, and the description adds only the implicit notion of confidence ranking behind confidenceMinimum and the 'best first' ordering. That is marginal added meaning over the schema, so the baseline of 3 applies.

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?

The description states a specific resource and its content: the highest-confidence abusive addresses, ordered best first, with score, country and categories included. That naturally distinguishes it from the single-entity siblings like check_ip and check_network, though it never names an alternative retrieval tool.

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 gives a clear usage boundary by naming an alternative path: for a firewall-ready file, point the firewall at the blocklist URL rather than calling this tool. It also signals the operational precondition (API key required) and cost (one blocklist download), but does not state when-not to use it beyond that single case.

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

get_country_reportAbuse report for a countryA
Read-only
Inspect

How many addresses in a country were reported in the last 30 days, how many are on the blocklist, the most reported addresses there, and the networks and attack categories behind them.

NameRequiredDescriptionDefault
countryYesISO 3166-1 alpha-2 code, e.g. DE

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds real value beyond them by fixing the time window at the last 30 days and disclosing that the response is an aggregated summary with rankings and category/network breakdowns, but it says nothing about rate limits, edge cases for unknown countries, or ordering.

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?

One sentence that is front-loaded with the core metrics and progressively adds detail. No wasted words, though the question-phrasing reads slightly awkwardly for a tool description rather than a declarative statement.

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?

No output schema exists, so the description carries the burden of explaining return values, and it does so by enumerating the five kinds of data returned. For a one-parameter read-only report tool that is nearly complete; only unknown-country behavior and the 30-day window's timezone semantics are unaddressed.

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?

With a single parameter and 100% schema description coverage, the schema already specifies the ISO 3166-1 alpha-2 format with an example. The description adds no param detail, but there is nothing for it to compensate for, so the baseline is satisfied.

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?

The description names the resource (a country-level abuse report) and enumerates the contents: reported address counts, blocklist counts, top reported addresses, networks and attack categories. That is specific enough to distinguish it from siblings like get_network_report or get_statistics, though it never states the verb explicitly and relies on the question framing.

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?

Usage is only implied: it is the tool to reach for when you want an aggregate abuse picture for one country. There is no explicit when-to-use, no guidance on choosing between this and get_network_report, get_reports or get_statistics, and no stated prerequisites.

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

get_network_reportAbuse report for a network (ASN)A
Read-only
Inspect

Abuse reported against one autonomous system in the last 30 days: number of reported and blocklisted addresses, the worst addresses, attack categories and countries. Useful to judge a hosting provider or ISP.

NameRequiredDescriptionDefault
asnYesAS number, with or without the AS prefix, e.g. AS14061 or 14061

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered; the description adds the meaningful behavioral detail that the data is scoped to 'the last 30 days' and states what the report contains. It stops short of noting empty-result behavior or data freshness/latency, but adds real context beyond the structured fields.

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 short sentences, front-loaded with the resource and time window, followed by a one-clause use case. Nothing is repeated and no wording is padding.

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 describing the return value, and it does so adequately by listing counts, worst addresses, categories and countries. Only minor gaps remain (empty-report behavior, whether counts are per-address or per-report).

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?

Only one parameter and schema coverage is 100%, with the schema already explaining the AS prefix optionality (AS14061 or 14061). The description reinforces the single-ASN scope but adds no format or validation meaning beyond the schema, so the baseline 3 applies.

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?

The description names a specific verb and resource ('Abuse reported against one autonomous system') and enumerates the payload: reported/blocklisted address counts, worst addresses, attack categories, countries. That is enough for an agent to distinguish it from generic lookups like check_network or get_country_report, though no sibling is named explicitly.

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 closing clause ('Useful to judge a hosting provider or ISP') implies a use case but gives no explicit when-to-use/when-not guidance and never contrasts this with check_network or get_country_report, which an agent could plausibly pick instead.

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

get_reportsList reports for an IP addressA
Read-only
Inspect

The individual abuse reports filed against one address, newest first, with time, categories, comment (usually log lines) and reporter. Paginated.

NameRequiredDescriptionDefault
ipYesIPv4 or IPv6 address
pageNoPage number
perPageNoReports per page
maxAgeInDaysNoOnly reports from the last N days

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds genuinely useful behavioral detail beyond that: results are ordered newest first, the comment field usually contains log lines, and results are paginated. It does not mention rate limits or whether maxAgeInDays combines with paging, so it is not fully complete.

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 short sentences with zero filler. The resource and its scope come first, then the returned fields, then a one-word pagination note — everything is front-loaded and nothing is redundant.

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 usefully enumerates the return fields (time, categories, comment, reporter) and their ordering, which is exactly what an agent needs to interpret results. It stops short of explaining how paging terminates or how maxAgeInDays interacts with ordering, leaving a small gap for a paginated read tool.

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 four parameters, including defaults and ranges, are already documented. The description only adds the word "paginated," which hints at page/perPage without adding syntax or format beyond the schema, so the baseline 3 applies.

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?

The description names a specific resource and scope: "the individual abuse reports filed against one address," plus the fields returned. That is clearly distinguishable from generic tools, though it does not explicitly contrast itself with get_network_report or get_country_report, which are the closest siblings.

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?

Usage is implied by "against one address," which tells the agent this is the per-IP variant, and "paginated" signals iterative paging. There is no explicit when-to-use vs. when-not statement or pointer to get_network_report for network-level aggregation, so routing is left to inference.

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

get_statisticsCurrent abuse statisticsA
Read-only
Inspect

What the database sees right now: reports in the last 24 hours, addresses on the blocklist, and over the last 30 days the top attack categories, countries, networks and highest-scoring addresses.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds useful behavioral context about what is visible in the snapshot and its time windows, but it does not discuss caching, rate limits, authentication requirements, or whether the statistics are live versus periodically refreshed.

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 dense sentence that front-loads the snapshot nature and then enumerates the return contents. Every phrase carries useful information, with no filler or repetition.

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 zero-parameter read-only statistics tool with no output schema, the description does a good job enumerating the main return categories and time horizons. It could be slightly more complete by clarifying whether top lists are limited or ranked, but it is sufficient for correct invocation.

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?

This tool has no input parameters, so the baseline expectation is 4. The description correctly avoids inventing parameter semantics and focuses on the returned statistical scope instead.

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?

The description clearly states this returns current abuse statistics: reports in the last 24 hours, blocklist size, and 30-day top categories, countries, networks, and high-scoring addresses. It distinguishes itself from detailed siblings like get_reports and get_blocklist by being an aggregate snapshot, though it never names those alternatives.

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?

Usage is implied: this is the dashboard-style overview tool, while siblings provide detailed reports or blocklist data. However, there is no explicit when-to-use guidance, no exclusions, and no direct routing to alternative tools for deeper analysis.

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

list_categoriesList report categoriesA
Read-only
Inspect

All attack categories with their code, numeric ID, group and when to use them. Use the codes with report_ip.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

The readOnlyHint/openWorldHint annotations already establish that this is a safe, local read. The description adds real value by naming the shape of each returned entry (code, numeric ID, group, when-to-use text), but it says nothing about ordering, size, or whether results are stable/cacheable.

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 short sentences, payload contents first and the downstream usage second. Nothing is padded or repeated from the title.

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 must carry return-value information, and it does so at a useful level of detail for a simple reference list. A brief note on whether the list is fixed or tenant-specific would close the remaining gap, but an agent has enough to call it 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?

The tool takes no parameters, so the baseline is 4; the description correctly implies a parameterless listing operation and adds no misleading input hints.

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 resource (attack categories) and enumerates the fields returned: code, numeric ID, group, and usage guidance. It links the output to the sibling tool report_ip, which gives the agent a concrete reason to call it, though it does not differentiate itself from other reference-style siblings like get_blocklist.

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?

'Use the codes with report_ip' explicitly tells the agent where the output is consumed, implying this is a lookup to run before or alongside report_ip. There is no explicit when-not guidance, but with zero parameters and a pure reference payload the risk of misuse is minimal.

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

report_ipReport an abusive IP addressAInspect

File an abuse report against an address that attacked a system you run. Needs an API key. Use category codes from list_categories (e.g. ssh,brute-force) and put the evidence (log lines, never personal data) in the comment. Each reporter can report the same address once per 15 minutes. Only report real, observed abuse.

NameRequiredDescriptionDefault
ipYesThe attacking IPv4 or IPv6 address
commentNoEvidence: what happened, ideally the relevant log lines
timestampNoWhen the attack happened, ISO 8601 (optional, defaults to now)
categoriesYesComma-separated category codes or numeric IDs, e.g. ssh,brute-force

TDQS

A4.6/5.0
Behavior4/5

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

Beyond the annotations (readOnly=false, openWorld=true, idempotent=false), the description adds genuinely new behavior: an API key is required, submissions are capped at one per address per reporter per 15 minutes, and evidence must exclude personal data. What it does not disclose is what a successful call returns (report ID, status) or whether moderation can reject the report.

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?

Five short sentences, front-loaded with purpose, then prerequisites (API key), then input pointers, then the rate limit, then the guardrail. Every sentence carries a distinct constraint and nothing is repeated from the schema verbatim.

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 4-param, schema-fully-documented, no-output-schema write tool, this covers prerequisites, input sourcing, and rate limits well. The only gap is post-call expectations — the agent cannot tell the caller whether a report ID comes back or what a duplicate submission error looks like.

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%, so the baseline is 3, but the description adds meaning the schema lacks: categories must be codes drawn from list_categories with worked examples (ssh,brute-force), and the comment content rule ('log lines, never personal data') constrains input in a way the schema's 'ideally the relevant log lines' does not.

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 and resource ('File an abuse report against an address') plus the actor/scope ('that attacked a system you run'), which cleanly separates it from check_ip, get_reports, and the other read-side siblings. An agent can tell instantly that this is the write path.

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?

Gives an explicit trigger (an address that attacked your system), an explicit exclusion ('Only report real, observed abuse'), and routes to the sibling that supplies valid inputs ('Use category codes from list_categories'). The rate-limit sentence further tells the agent what will happen on repeat calls.

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. 10 tool updates
    • First observedabout_isipsafe
    • First observedcheck_ip
    • First observedcheck_network
    • First observedget_blocklist
    • First observedget_country_report
    • First observedget_network_report
    • First observedget_reports
    • First observedget_statistics
    • First observedlist_categories
    • First observedreport_ip

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Integrates with the AbuseIPDB API to check IP addresses for abuse reports and report abusive IP addresses.
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to check IP reputation and abuse reports via AbuseIPDB, including abuse confidence scores, report details, and bulk IP triage.
    10 npm
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Provides threat intelligence lookups against the AbuseIPDB database, enabling IP reputation checks, CIDR block analysis, and log enrichment. It features intelligent caching and rate limiting to efficiently manage API usage for security analysis and automated workflows.
    5
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables checking IP reputations and threat intelligence by querying Chaitin's global honeypot network and millions of defense nodes. Provides real-time IP profiling, malicious behavior detection, and threat alerts based on aggregated security data.
    1
    5 npm
    2
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.