ip_lookup
Who owns an IP address: network name, range, country, organisations (RDAP). (cost: 1 credit)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ip | No | string, required |
Who owns an IP address: network name, range, country, organisations (RDAP). (cost: 1 credit)
| Name | Required | Description | Default |
|---|---|---|---|
| ip | No | string, required |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full burden, and it does add two genuinely non-obvious facts: the data source (RDAP) and a cost of 1 credit. It says nothing about behavior for malformed or private/reserved IPs, IPv4 vs IPv6 support, rate limits, or failure modes, so the mutation/safety profile is only partially covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded clause naming the question and the returned fields, followed by a compact parenthetical for cost. Nothing is wasted and the most decision-relevant information comes first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter lookup with no output schema and no annotations, the description does well to enumerate the return fields, which substitutes for the missing output schema. However it leaves open input format and error behavior, which matters for an agent that must decide whether an arbitrary string is a valid argument.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is nominally 100%, but the only parameter is documented as 'string, required', which conveys no real meaning, so the description must carry the load. It does establish that the parameter is an IP address, but adds no format expectations (dotted-quad vs CIDR vs IPv6) beyond that, so the baseline 3 applies rather than more.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (an IP address) and the question answered (ownership), plus the concrete fields returned (network name, range, country, organisations). It is clear what the tool does, but it does not differentiate itself from the sibling rdap_lookup, which the parenthetical '(RDAP)' actually makes look redundant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no pointer to alternatives such as rdap_lookup, domain_check, or ssl_check, which an agent could easily confuse with this tool. The agent has to infer applicability purely from the noun phrase 'IP address'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.