Skip to main content
Glama
dadepo

WHOIS MCP Server

by dadepo

inet-registry-mcp

MCP server for Internet registry and registry-adjacent data used by network operators.

Today it starts with RIR data: ownership and contact lookups, abuse discovery, IRR route objects, AS-SET expansion, authenticated registry lookups, maintained-object inventory, and basic registry data quality checks.

This project currently runs from a local checkout. It has not been published to npm yet.

Scope

The project is organized around Internet registry systems and registry-adjacent data sources:

  • numbering: RIR/RDAP data, IP and ASN allocation data, authenticated inventory, abuse and contact lookup

  • routing: IRR route/route6/aut-num/as-set, RPKI ROA validation, BGP origin visibility, bogon and martian checks

  • naming: DNS delegation, DNSSEC validation, reverse DNS, IANA root and TLD data

  • interconnection: PeeringDB ASN, org, IX, facility, policy, and contact lookup

  • metadata: geofeeds, abuse contacts, and source-of-truth consistency audits

Not all of that exists yet. The current implementation starts with the RIR and IRR pieces.

Related MCP server: Domain Tools (WHOIS + DNS)

Current Coverage

Tool category

RIPE NCC

ARIN

APNIC

AfriNIC

LACNIC

Public registry query

Yes

Yes

Yes

Yes

Yes

Contact card

Yes

Yes

Yes

Yes

Yes

Route object validation

Yes

Yes

No

No

No

AS-SET expansion

Yes

Yes

No

No

No

Authenticated object lookup

Yes

Yes

Yes

Not implemented

Not implemented

Authenticated resource inventory

Yes

Partial

Yes

Not implemented

Not implemented

Registry data quality audit

Yes

Yes

Yes

Not implemented

Not implemented

Not implemented means this server does not yet expose a tested read-only authenticated path for that RIR. It does not mean the RIR has no authenticated services.

Current workflows:

  • look up ownership and registration data for IPs and ASNs

  • find abuse, admin, and technical contacts

  • validate RIPE and ARIN route objects

  • expand RIPE and ARIN AS-SETs

  • list authenticated RIPE maintained objects

  • fetch authenticated RIPE and ARIN registry objects

  • audit authenticated RIPE and ARIN registry objects for basic data quality issues

Install From Source

git clone https://github.com/dadepo/inet-registry-mcp.git
cd inet-registry-mcp
npm ci

Optional local config:

cp env.example .env

All public RIR tools are enabled by default. Edit .env only when you want to disable a registry, change timeouts, change HTTP bind settings, or configure authenticated read-only lookups.

Running Locally

There is no default transport. Pick one explicitly.

For stdio, which is what most local MCP clients use:

npm --silent run dev:stdio

For HTTP:

npm run dev:http

The HTTP endpoint is:

http://127.0.0.1:8000/mcp

To bind somewhere else:

HTTP_HOST=0.0.0.0 HTTP_PORT=9000 npm run dev:http

npm run dev intentionally exits with guidance. Use dev:stdio or dev:http.

Claude Code

From this repo directory:

claude mcp add --transport stdio inet-registry-mcp -- npm --silent run dev:stdio

Or point Claude Code at the local bin script:

claude mcp add --transport stdio inet-registry-mcp -- /absolute/path/to/inet-registry-mcp/bin/inet-registry-mcp.js

For HTTP mode, start the HTTP server first:

claude mcp add --transport http inet-registry-mcp-http http://127.0.0.1:8000/mcp

Claude Desktop

After npm ci, add a stdio server that points at your local checkout:

{
  "mcpServers": {
    "inet-registry-mcp": {
      "command": "/absolute/path/to/inet-registry-mcp/bin/inet-registry-mcp.js"
    }
  }
}

Claude Desktop config locations:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

For HTTP mode:

{
  "mcpServers": {
    "inet-registry-mcp-http": {
      "url": "http://127.0.0.1:8000/mcp"
    }
  }
}

Example Prompts

Who owns 8.8.8.8?
Who should I contact about abuse from 1.1.1.1?
Is there a RIPE route object for 193.0.0.0/21 originated by AS3333?
Expand AS-RIPENCC to direct members only.
Show me all objects maintained by DADEPO-TEST-MNT.
Run a registry data quality audit for RIPE maintainer DADEPO-TEST-MNT.

Configuration

Environment variables:

# Auth profile. production is the default. Use test to point supported
# authenticated calls at RIR test environments.
INET_REGISTRY_MCP_PROFILE=production

# Enable or disable RIR support. All default to true.
SUPPORT_RIPE=true
SUPPORT_ARIN=true
SUPPORT_APNIC=true
SUPPORT_AFRINIC=true
SUPPORT_LACNIC=true

# Timeouts and cache settings.
HTTP_TIMEOUT_SECONDS=10
PORT43_CONNECT_TIMEOUT_SECONDS=5
PORT43_READ_TIMEOUT_SECONDS=5
CACHE_TTL_SECONDS=60
CACHE_MAX_ITEMS=512

# Custom User-Agent string.
USER_AGENT=inet-registry-mcp/1.0

# HTTP transport settings.
HTTP_HOST=127.0.0.1
HTTP_PORT=8000

Authenticated Read-Only Tools

Authenticated support uses one global profile:

INET_REGISTRY_MCP_PROFILE=production
# or
INET_REGISTRY_MCP_PROFILE=test

There are no *_AUTH_ENABLED flags. A capability is available when its credential is present.

Authenticated lookup tools return the object values received from the RIR. Local MCP credentials such as API keys are still redacted if they appear in responses or URLs.

# RIPE Database REST API authenticated object lookup, maintained-object inventory, and audit.
# Accepts either the full Basic header value or the base64 part; "Basic "
# is added automatically when omitted.
RIPE_API_KEY=

# ARIN Reg-RWS authenticated object lookup, audit, and configured inventory.
ARIN_API_KEY=

# ARIN inventory is read from explicit handles because Reg-RWS does not expose
# one generic account inventory endpoint through this tool yet.
ARIN_INVENTORY_ORG_HANDLES=
ARIN_INVENTORY_NET_HANDLES=
ARIN_INVENTORY_POC_HANDLES=
ARIN_INVENTORY_CUSTOMER_HANDLES=
ARIN_INVENTORY_DELEGATION_NAMES=
ARIN_INVENTORY_TICKET_NUMBERS=

# APNIC Registry API authenticated object lookup, account resource inventory,
# and audit. APNIC calls are account-scoped, so prompts must name the APNIC
# member account to query.
APNIC_API_KEY=

Current authenticated scope:

  • RIPE: object lookup, maintained-object inventory by inverse mnt-by lookup, and data quality audit.

  • ARIN: object lookup and data quality audit; inventory works for handles listed in ARIN_INVENTORY_*.

  • APNIC: object lookup, account resource inventory, and data quality audit through the APNIC Registry API. APNIC Registry API calls require the APNIC member account in the prompt or tool arguments; the server does not keep a default account. Inventory follows Registry API pagination links on the configured registry host, up to 10 pages per dataset, and marks the last record with pages_truncated: true when more pages remain.

  • AfriNIC, LACNIC: auth status reports configuration, but authenticated inventory/object/audit calls return not_supported until provider-specific read paths are implemented.

Supported endpoint overrides for local testing:

RIPE_DATABASE_REST_BASE=
ARIN_REG_REST_BASE=
APNIC_REGISTRY_BASE=
LACNIC_REGISTRATION_BASE=

With INET_REGISTRY_MCP_PROFILE=test, supported authenticated calls use the RIPE TEST DB, ARIN OT&E, and APNIC Registry API testbed (https://registry-testbed.apnic.net/registry-api/v1) endpoint defaults where available. Override APNIC_REGISTRY_BASE if APNIC issues a different test Registry API base with your credentials; bare-host overrides get the standard /registry-api/v1 path appended automatically.

Example APNIC prompts:

Show the authenticated APNIC resource inventory for account MEM-EXAMPLE.
Using APNIC account MEM-EXAMPLE, show the authenticated WHOIS object mntner APNIC-TEST-MNT.

Endpoints

Default public endpoints:

  • RIPE NCC: whois.ripe.net, https://rest.db.ripe.net, https://rdap.db.ripe.net

  • ARIN: whois.arin.net, https://whois.arin.net/rest, https://rdap.arin.net/registry

  • APNIC: whois.apnic.net, https://registry-api.apnic.net/registry-api/v1, https://rdap.apnic.net

  • AfriNIC: whois.afrinic.net, https://rdap.afrinic.net/rdap

  • LACNIC: whois.lacnic.net, https://rdap.lacnic.net/rdap

Development

Run tests:

npm test

Run type checking:

npm run typecheck

Compile TypeScript:

npm run build

License

MIT. See LICENSE.

Available Tools

14 tools
afrinic_contact_cardA

PREFERRED TOOL for retrieving contact information (abuse, NOC, admin, tech) for IP addresses, ASNs, or organizations from the AfriNIC database. This tool is specifically for the AfriNIC RIR (African region). Use this when you need to CONTACT someone about: abuse reports, security incidents, network issues, or administrative matters. Keywords: 'contact', 'abuse', 'who should I contact', 'report', 'incident', 'NOC', 'technical support', 'admin'. Automatically resolves organization details and extracts contact information including abuse mailboxes, technical contacts, administrative contacts, and phone numbers from AfriNIC database. Perfect for incident response, network troubleshooting, and compliance reporting for AfriNIC-managed resources. Returns structured contact data with clear categorization of contact types and purposes.

ParametersJSON Schema
NameRequiredDescriptionDefault
ipNoIP address to look up contact information for in AfriNIC database (IPv4 or IPv6)
asnNoASN number to look up contact information for in AfriNIC database (without 'AS' prefix)
orgNoOrganization handle/key to look up contact information for directly

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
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 of behavioral disclosure. It effectively describes key behaviors: it 'automatically resolves organization details and extracts contact information,' returns 'structured contact data with clear categorization,' and is 'perfect for incident response, network troubleshooting, and compliance reporting.' However, it lacks details on error handling, rate limits, or authentication needs, which are important for a database query 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 description is well-structured and front-loaded, starting with the tool's purpose and usage guidelines. However, it includes some redundant phrasing (e.g., repeating 'contact information' and listing many keywords) that could be trimmed for better conciseness without losing clarity.

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?

Given the tool's complexity (querying a regional database with multiple input types), the description is complete. It covers purpose, usage scenarios, behavioral aspects (like automatic resolution and structured returns), and contextualizes it within sibling tools. With an output schema present, it appropriately omits detailed return value explanations, focusing on high-level outcomes.

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 input schema has 100% description coverage, with clear documentation for 'ip,' 'asn,' and 'org' parameters. The description adds minimal value beyond the schema, mentioning 'IP addresses, ASNs, or organizations' but not elaborating on parameter interactions or constraints. Since the schema does the heavy lifting, the baseline score 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 purpose: 'retrieving contact information (abuse, NOC, admin, tech) for IP addresses, ASNs, or organizations from the AfriNIC database.' It specifies the verb ('retrieving'), resource ('contact information'), and scope ('AfriNIC database'), and distinguishes it from siblings by emphasizing it's 'specifically for the AfriNIC RIR (African region).'

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?

The description provides explicit guidance on when to use this tool: 'PREFERRED TOOL for retrieving contact information... Use this when you need to CONTACT someone about: abuse reports, security incidents, network issues, or administrative matters.' It also lists keywords and contrasts with siblings by specifying the AfriNIC region, helping differentiate from tools like 'apnic_contact_card' or 'arin_contact_card.'

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

afrinic_whois_queryA

Perform raw WHOIS queries against the AfriNIC database to get complete object information in RPSL format. This tool is specifically for the AfriNIC RIR (African region). Use ONLY when you need full object details or administrative data from AfriNIC. DO NOT use for contact information - use afrinic_contact_card for abuse, NOC, admin, or tech contacts. This returns raw AfriNIC database records with all attributes for detailed analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe domain name, IP address, ASN, or other identifier to query via AfriNIC WHOIS. Examples: 'example.com', '196.216.2.0', 'AS37611', '2001:43f8::', 'AA1-AFRINIC'. Returns complete object details from the AfriNIC database.
flagsNoOptional WHOIS flags to modify the query behavior. Common AfriNIC flags: ['-r'] for raw output (no filtering), ['-B'] for brief output, ['-T', 'person'] to limit object types. Use empty list [] or null for default query.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
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. It discloses that the tool returns 'raw AfriNIC database records with all attributes for detailed analysis' and specifies the regional scope ('AfriNIC RIR (African region)'). It doesn't mention rate limits, authentication needs, or error behaviors, but provides substantial operational context beyond basic purpose.

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 efficiently structured with three sentences: purpose statement, usage guidelines, and behavioral clarification. Every sentence adds essential information - no wasted words. It's front-loaded with the core purpose and immediately follows with critical usage restrictions.

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?

Given the tool has an output schema (so return values are documented elsewhere), 2 parameters with 100% schema coverage, and no annotations, the description provides excellent completeness. It covers purpose, specific usage context, sibling differentiation, regional scope, output format, and parameter context - everything needed for effective tool selection.

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 description coverage is 100%, so the baseline is 3. The description adds value by explaining the query parameter accepts 'domain name, IP address, ASN, or other identifier' and clarifies the flags parameter with 'Common AfriNIC flags' examples and usage guidance ('Use empty list [] or null for default query'). This provides practical context 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 performs 'raw WHOIS queries against the AfriNIC database to get complete object information in RPSL format.' It specifies the exact resource (AfriNIC database), verb (perform queries), and output format (RPSL format). It distinguishes from sibling tools by explicitly mentioning 'afrinic_contact_card' for contact information.

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?

The description provides explicit guidance: 'Use ONLY when you need full object details or administrative data from AfriNIC. DO NOT use for contact information - use afrinic_contact_card for abuse, NOC, admin, or tech contacts.' This clearly defines when to use this tool versus alternatives, including a specific sibling tool for different use cases.

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

apnic_contact_cardA

PREFERRED TOOL for retrieving contact information (abuse, NOC, admin, tech) for IP addresses, ASNs, or organizations from the APNIC database. This tool is specifically for the APNIC RIR (Asia-Pacific region - East Asia, Oceania, South Asia, Southeast Asia). Use this when you need to CONTACT someone about: abuse reports, security incidents, network issues, or administrative matters. Keywords: 'contact', 'abuse', 'who should I contact', 'report', 'incident', 'NOC', 'technical support', 'admin'. Automatically resolves organization details and extracts contact information including abuse mailboxes, technical contacts, administrative contacts, and phone numbers from APNIC database. Perfect for incident response, network troubleshooting, and compliance reporting for APNIC-managed resources. Returns structured contact data with clear categorization of contact types and purposes.

ParametersJSON Schema
NameRequiredDescriptionDefault
ipNoIP address to look up contact information for in APNIC database (IPv4 or IPv6)
asnNoASN number to look up contact information for in APNIC database (without 'AS' prefix)
orgNoOrganization handle/key to look up contact information for directly

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
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. It discloses key behavioral traits: it 'automatically resolves organization details and extracts contact information,' returns 'structured contact data with clear categorization,' and is for 'incident response, network troubleshooting, and compliance reporting.' However, it doesn't mention potential limitations like rate limits, error conditions, or authentication requirements, leaving some gaps in behavioral context.

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 appropriately sized and front-loaded, starting with the key purpose and usage context. Most sentences add value, such as specifying the region and use cases. However, it includes some redundancy (e.g., repeating 'contact' in keywords) and could be slightly more streamlined without losing clarity.

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?

Given the tool's moderate complexity (3 parameters, no annotations, but with output schema), the description is complete enough. It clearly explains the tool's purpose, when to use it, behavioral aspects like automatic resolution and structured returns, and distinguishes it from siblings. With an output schema present, it doesn't need to detail return values, and the schema covers parameters fully.

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 three parameters (ip, asn, org) with clear descriptions. The description adds no additional parameter-specific information beyond what's in the schema. It mentions the tool works with 'IP addresses, ASNs, or organizations' but doesn't provide syntax or format details not already covered. Baseline 3 is appropriate when schema does the heavy lifting.

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 purpose: 'retrieving contact information for IP addresses, ASNs, or organizations from the APNIC database.' It specifies the resource (APNIC database), the action (retrieving contact information), and distinguishes it from siblings by explicitly stating it's for the APNIC RIR region (Asia-Pacific) and is the 'PREFERRED TOOL' for contact retrieval, unlike whois_query tools.

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?

The description provides explicit guidance on when to use this tool: 'Use this when you need to CONTACT someone about: abuse reports, security incidents, network issues, or administrative matters.' It distinguishes from alternatives by specifying it's for the APNIC region and lists keywords to trigger usage. It also implicitly suggests when not to use it (e.g., for non-APNIC regions, where sibling tools like arin_contact_card would be appropriate).

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

apnic_whois_queryA

Perform raw WHOIS queries against the APNIC database to get complete object information in RPSL format. This tool is specifically for the APNIC RIR (Asia-Pacific region - East Asia, Oceania, South Asia, Southeast Asia). Use ONLY when you need full object details or administrative data from APNIC. DO NOT use for contact information - use apnic_contact_card for abuse, NOC, admin, or tech contacts. DO NOT use for route validation - use apnic_validate_route_object for checking if route objects exist. DO NOT use for AS-SET expansion - use apnic_expand_as_set for getting ASN lists. This returns raw APNIC database records with all attributes for detailed analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe domain name, IP address, ASN, or other identifier to query via APNIC WHOIS. Examples: 'example.com', '1.1.1.1', 'AS4608', 'APNIC-HM'. Returns complete object details from the APNIC database.
flagsNoOptional WHOIS flags to modify the query behavior. Common APNIC flags: ['-r'] for raw output (no filtering), ['-B'] for brief output, ['-T', 'person'] to limit object types. Use empty list [] or null for default query.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
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 of behavioral disclosure. It effectively describes key behavioral traits: it's a query tool (implied read-only), specifies the regional scope ('APNIC RIR - Asia-Pacific region'), indicates it returns 'complete object information' and 'raw APNIC database records with all attributes for detailed analysis.' It doesn't mention rate limits or authentication requirements, but provides substantial context beyond basic functionality.

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 efficiently structured with zero wasted sentences. It starts with the core purpose, specifies the regional scope, provides clear usage guidelines with explicit do-not-use alternatives, and concludes with what the tool returns. Every sentence adds essential information for tool selection and invocation.

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?

Given the tool has an output schema (so return values are documented elsewhere), 100% schema description coverage, and no annotations, the description provides excellent contextual completeness. It covers purpose, regional scope, usage guidelines with specific alternatives, and output characteristics, making it fully adequate for an agent to understand when and how to use this tool versus siblings.

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 description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds meaningful context by explaining the tool's regional specificity ('APNIC RIR - Asia-Pacific region') and the nature of the returned data ('complete object information in RPSL format', 'raw APNIC database records'), which helps the agent understand what kind of queries are appropriate and what to expect in results.

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 explicitly states the tool's purpose: 'Perform raw WHOIS queries against the APNIC database to get complete object information in RPSL format.' It specifies the verb ('perform raw WHOIS queries'), resource ('APNIC database'), and output format ('RPSL format'), clearly distinguishing it from sibling tools like apnic_contact_card or apnic_validate_route_object.

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?

The description provides explicit guidance on when to use this tool ('Use ONLY when you need full object details or administrative data from APNIC') and when not to use it, naming three specific alternatives for different purposes (apnic_contact_card for contacts, apnic_validate_route_object for route validation, apnic_expand_as_set for AS-SET expansion). This clearly differentiates it from sibling tools.

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

arin_contact_cardA

PREFERRED TOOL for retrieving contact information (abuse, NOC, admin, tech) for IP addresses, ASNs, or organizations from the ARIN database. This tool is specifically for the ARIN RIR (North America region - United States, Canada, parts of Caribbean). Use this when you need to CONTACT someone about: abuse reports, security incidents, network issues, or administrative matters. Keywords: 'contact', 'abuse', 'who should I contact', 'report', 'incident', 'NOC', 'technical support', 'admin'. Automatically resolves organization details and extracts POC (Point of Contact) information including abuse mailboxes, technical contacts, administrative contacts, and phone numbers from ARIN database. Perfect for incident response, network troubleshooting, and compliance reporting for ARIN-managed resources. Returns structured contact data with clear categorization of contact types and purposes.

ParametersJSON Schema
NameRequiredDescriptionDefault
ipNoIP address to look up contact information for in ARIN database (IPv4 or IPv6)
asnNoASN number to look up contact information for in ARIN database (without 'AS' prefix)
orgNoOrganization handle/key to look up contact information for directly

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
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 of behavioral disclosure. It effectively describes key behaviors: automatically resolves organization details, extracts POC information including specific contact types and phone numbers, and returns structured contact data. However, it lacks details on rate limits, error handling, or authentication requirements, which are common for database queries.

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 well-structured and front-loaded, starting with the tool's purpose and preferred use case. Most sentences add value, such as specifying the ARIN region and contact scenarios. However, it includes some redundant phrasing (e.g., repeating 'contact' and listing many keywords) that slightly reduces efficiency without compromising clarity.

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?

Given the tool's moderate complexity (3 parameters, no annotations, but with an output schema), the description is complete enough. It covers the purpose, usage context, behavioral aspects like data extraction and return format, and regional scope. With an output schema present, it appropriately omits detailed return value explanations, focusing on high-level outcomes like structured contact data.

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%, providing clear documentation for each parameter (ip, asn, org). The description adds minimal value beyond the schema, only implying that these inputs are used to look up contact information in the ARIN database. No additional syntax, format, or interaction details are provided, so the baseline score 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 retrieves contact information for IP addresses, ASNs, or organizations from the ARIN database, specifying contact types like abuse, NOC, admin, and tech. It distinguishes from siblings by explicitly mentioning it's for the ARIN RIR (North America region) and is the 'PREFERRED TOOL' for contact retrieval, unlike whois_query tools which may serve broader lookup purposes.

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?

The description provides explicit guidance on when to use this tool: for contacting about abuse reports, security incidents, network issues, or administrative matters in the ARIN region. It lists keywords like 'contact', 'abuse', and 'report' to trigger usage, and implicitly suggests alternatives by specifying the ARIN focus, distinguishing it from sibling tools for other RIRs (e.g., afrinic_contact_card).

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

arin_expand_as_setA

Efficiently expand AS-SET objects from the ARIN IRR database into concrete ASNs with configurable depth. This tool is specifically for the ARIN RIR (North America region - United States, Canada, parts of Caribbean). Use this instead of whois_query when you need ASNs from an ARIN AS-SET. CRITICAL: For 'top-level', 'direct', or 'immediate' members, use max_depth=1. For complete expansion, use max_depth=10+. Large AS-SETs may have nested structures - choose depth carefully to balance completeness vs speed. Automatically handles recursive expansion, deduplication, and cycle detection. Perfect for network analysis, route filtering, and policy generation for ARIN-managed AS-SETs.

ParametersJSON Schema
NameRequiredDescriptionDefault
setnameYesAS-SET name to recursively expand into concrete ASN numbers from ARIN IRR database. Examples: 'AS-COMCAST', 'AS-VERIZON', 'AS-ATT'. The tool will automatically resolve all nested AS-SETs and return a complete list of individual ASNs contained within the hierarchy from ARIN IRR records.
max_depthNoMaximum recursion depth for AS-SET expansion (1-20 levels, default: 10). IMPORTANT: Use depth=1 for 'top-level' or 'direct' members only. Use depth=2-3 for shallow analysis, depth=10 for complete expansion. Higher values provide more complete results but take much longer to process. For questions about 'immediate' or 'direct' members, always use depth=1.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behaviors: automatic handling of recursive expansion, deduplication, and cycle detection; performance implications (higher depth takes longer); and practical applications (network analysis, route filtering, policy generation). This provides comprehensive behavioral context beyond basic functionality.

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 appropriately sized and front-loaded with the core purpose. Every sentence adds value: purpose statement, regional specificity, sibling tool differentiation, depth guidance, behavioral traits, and use cases. While slightly dense, it avoids redundancy and maintains focus on essential information.

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?

Given the tool's complexity (recursive expansion with configurable depth), no annotations, and the presence of an output schema, the description provides excellent contextual completeness. It covers purpose, usage guidelines, behavioral traits, parameter semantics, and practical applications, making it fully understandable without relying on structured fields.

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 100% schema description coverage, the baseline is 3. The description adds significant value by explaining the practical implications of max_depth choices with specific examples (depth=1 for top-level, depth=10+ for complete expansion) and warnings about performance trade-offs. However, it doesn't add meaningful semantic context for the setname parameter beyond what's in 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 purpose: 'Efficiently expand AS-SET objects from the ARIN IRR database into concrete ASNs with configurable depth.' It specifies the verb (expand), resource (AS-SET objects), and distinguishes it from sibling tools by mentioning ARIN RIR region and contrasting with whois_query for ASN extraction from AS-SETs.

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?

The description provides explicit guidance on when to use this tool: 'Use this instead of whois_query when you need ASNs from an ARIN AS-SET.' It also offers detailed depth recommendations for different scenarios (e.g., max_depth=1 for top-level members, max_depth=10+ for complete expansion) and warns about balancing completeness vs speed for large AS-SETs.

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

arin_validate_route_objectA

PREFERRED TOOL for validating route object registration in the ARIN database. This tool is specifically for the ARIN RIR (North America region - United States, Canada, parts of Caribbean). Use this when you need to CHECK, VERIFY, or VALIDATE if a route object exists for a prefix-ASN pair in ARIN. Keywords: 'route validation', 'check route', 'verify route', 'route exists', 'BGP security', 'route filtering', 'IRR coverage', 'RPKI validation'. Automatically handles IPv4/IPv6 detection and returns simple exists/not-found status. Much faster and more accurate than parsing raw WHOIS data for route validation in ARIN database.

ParametersJSON Schema
NameRequiredDescriptionDefault
prefixYesIP prefix to CHECK/VALIDATE for route object registration in ARIN database. Use CIDR notation like '192.0.2.0/24' for IPv4 or '2001:db8::/32' for IPv6. Use this when you need to VERIFY if a prefix has a registered route object in the ARIN IRR database.
origin_asnYesOrigin ASN number to VALIDATE/CHECK for route coverage (without 'AS' prefix). For example, use 64496 to VERIFY if AS64496 has a route object registered for the specified prefix. This VALIDATES proper BGP route registration and IRR coverage.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden and adds valuable behavioral context: it specifies the tool is for ARIN (North America region), handles IPv4/IPv6 detection automatically, returns simple exists/not-found status, and is optimized for speed and accuracy compared to raw WHOIS parsing. However, it doesn't mention rate limits, authentication needs, or error handling.

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 appropriately sized and front-loaded with key information (purpose, region, when to use). However, the keyword list ('Keywords: ...') is somewhat redundant and could be more integrated into the flow, slightly reducing efficiency.

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?

Given the tool's moderate complexity (2 required parameters), 100% schema coverage, and presence of an output schema, the description is complete enough. It clearly explains purpose, usage context, behavioral traits, and distinguishes from alternatives, providing sufficient context for an agent to use it 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?

Schema description coverage is 100%, providing detailed parameter documentation. The description adds minimal value beyond the schema, mentioning 'prefix-ASN pair' and 'IPv4/IPv6 detection', but doesn't provide additional syntax or format details. Baseline 3 is appropriate when the schema does the heavy lifting.

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 purpose: 'validating route object registration in the ARIN database' and specifies it's for 'CHECK, VERIFY, or VALIDATE if a route object exists for a prefix-ASN pair in ARIN'. It distinguishes from siblings by explicitly mentioning ARIN (North America region) and contrasting with 'ripe_validate_route_object' for a different RIR.

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?

The description provides explicit usage guidance: 'PREFERRED TOOL for validating route object registration in the ARIN database', 'Use this when you need to CHECK, VERIFY, or VALIDATE if a route object exists for a prefix-ASN pair in ARIN', and contrasts with alternatives by stating it's 'Much faster and more accurate than parsing raw WHOIS data for route validation in ARIN database'.

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

arin_whois_queryA

Perform raw WHOIS queries against the ARIN database to get complete object information in RPSL format. This tool is specifically for the ARIN RIR (North America region - United States, Canada, parts of Caribbean). Use ONLY when you need full object details or administrative data from ARIN. DO NOT use for contact information - use arin_contact_card for abuse, NOC, admin, or tech contacts. DO NOT use for route validation - use arin_validate_route_object for checking if route objects exist. DO NOT use for AS-SET expansion - use arin_expand_as_set for getting ASN lists. This returns raw ARIN database records with all attributes for detailed analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe domain name, IP address, ASN, or other identifier to query via ARIN WHOIS. Examples: 'example.com', '8.8.8.8', 'AS15169', 'GOOGLE'. Returns complete object details from the ARIN database.
flagsNoOptional WHOIS flags to modify the query behavior. Common ARIN flags: ['+'] for full details, ['-'] for brief output. ARIN uses different flags than RIPE. Use empty list [] or null for default query.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
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. It discloses that this tool returns 'raw ARIN database records with all attributes for detailed analysis' and specifies the geographic scope ('ARIN RIR - North America region'). However, it doesn't mention rate limits, authentication requirements, or error behavior, leaving some behavioral aspects uncovered.

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 efficiently structured with zero wasted sentences. It starts with the core purpose, specifies geographic scope, provides clear usage guidelines with explicit alternatives, and ends with output characteristics. Every sentence adds essential information.

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?

Given the tool's moderate complexity (2 parameters), 100% schema coverage, and presence of an output schema, the description provides complete contextual information. It covers purpose, scope, usage guidelines, and output format, making it sufficient for an agent to understand when and how to use this 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 the schema already documents both parameters thoroughly. The description adds minimal value beyond the schema, mentioning 'ARIN database' context but not providing additional semantic clarification about parameters. This meets the baseline for high schema coverage.

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 performs 'raw WHOIS queries against the ARIN database to get complete object information in RPSL format.' It specifies the verb ('perform raw WHOIS queries'), resource ('ARIN database'), and output format ('RPSL format'), distinguishing it from sibling tools like contact cards or validation tools.

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?

The description provides explicit guidance on when to use this tool ('Use ONLY when you need full object details or administrative data from ARIN') and when not to use it, listing three specific alternatives for different purposes (arin_contact_card, arin_validate_route_object, arin_expand_as_set). This clearly differentiates it from sibling tools.

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

lacnic_contact_cardA

PREFERRED TOOL for retrieving contact information (abuse, NOC, admin, tech) for IP addresses, ASNs, or organizations from the LACNIC database. This tool is specifically for the LACNIC RIR (Latin America and Caribbean region). Use this when you need to CONTACT someone about: abuse reports, security incidents, network issues, or administrative matters. Keywords: 'contact', 'abuse', 'who should I contact', 'report', 'incident', 'NOC', 'technical support', 'admin'. Automatically resolves organization details and extracts contact information including abuse mailboxes, technical contacts, administrative contacts, and phone numbers from LACNIC database. Perfect for incident response, network troubleshooting, and compliance reporting for LACNIC-managed resources. Returns structured contact data with clear categorization of contact types and purposes.

ParametersJSON Schema
NameRequiredDescriptionDefault
ipNoIP address to look up contact information for in LACNIC database (IPv4 or IPv6)
asnNoASN number to look up contact information for in LACNIC database (without 'AS' prefix)
orgNoOrganization handle/key to look up contact information for directly

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
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 of behavioral disclosure. It effectively describes what the tool does: automatically resolves organization details, extracts contact information (abuse mailboxes, technical contacts, etc.), and returns structured contact data. It mentions the tool's purpose for incident response and compliance reporting, adding useful context beyond basic functionality.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is somewhat verbose with repetitive elements (e.g., multiple contact type listings, keyword repetition). While front-loaded with the main purpose, it could be more streamlined. Sentences like 'Perfect for incident response...' add value but contribute to length. It's adequately structured but not maximally concise.

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 moderate complexity, no annotations, and the presence of an output schema, the description is reasonably complete. It covers purpose, usage, behavioral aspects, and regional specificity. The output schema likely handles return values, so the description doesn't need to detail them. It could improve by more explicitly differentiating from sibling tools beyond regional scope.

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 three parameters thoroughly. The description adds value by explaining the tool works with 'IP addresses, ASNs, or organizations' and mentions 'automatically resolves organization details,' but doesn't provide additional parameter semantics beyond what's in the schema. Baseline 3 is appropriate when schema coverage is complete.

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 purpose: retrieving contact information for IP addresses, ASNs, or organizations from the LACNIC database. It specifies the exact resource (LACNIC database) and distinguishes it from siblings by explicitly mentioning it's for the Latin America and Caribbean region, unlike other RIR-specific tools in the sibling list.

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?

The description provides explicit usage guidance: it's the 'PREFERRED TOOL' for contact retrieval from LACNIC, lists specific use cases (abuse reports, security incidents, network issues, administrative matters), and includes keywords to trigger its use. It implicitly distinguishes from sibling tools by specifying the LACNIC region, though it doesn't explicitly name alternatives for other regions.

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

lacnic_whois_queryA

Perform raw WHOIS queries against the LACNIC database to get complete object information in RPSL format. This tool is specifically for the LACNIC RIR (Latin America and Caribbean region). Use ONLY when you need full object details or administrative data from LACNIC. DO NOT use for contact information - use lacnic_contact_card for abuse, NOC, admin, or tech contacts. This returns raw LACNIC database records with all attributes for detailed analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe domain name, IP address, ASN, or other identifier to query via LACNIC WHOIS. Examples: 'example.com', '200.160.0.0', 'AS27699', '2801:10::', 'LACNIC-HOSTMASTER'. Returns complete object details from the LACNIC database.
flagsNoOptional WHOIS flags to modify the query behavior. Common LACNIC flags: ['-r'] for raw output (no filtering), ['-B'] for brief output, ['-T', 'person'] to limit object types. Use empty list [] or null for default query.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
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 of behavioral disclosure. It effectively describes the tool's behavior: it returns 'raw LACNIC database records with all attributes for detailed analysis' and 'complete object information in RPSL format.' It also mentions the regional specificity ('LACNIC RIR (Latin America and Caribbean region)'). However, it doesn't cover potential error cases, rate limits, or authentication requirements.

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 appropriately sized and front-loaded: the first sentence states the core purpose, followed by specific usage guidelines and behavioral details. Every sentence adds value—distinguishing from siblings, specifying regional scope, and describing output format—with zero wasted words.

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 complexity (WHOIS querying), lack of annotations, and presence of an output schema, the description is mostly complete. It covers purpose, usage guidelines, and output behavior well. However, it doesn't address potential errors or operational constraints (e.g., rate limits), which would be helpful for a network tool. The output schema likely handles return values, so that gap is mitigated.

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 both parameters thoroughly. The description adds minimal value beyond the schema: it mentions 'raw LACNIC database records' which aligns with the query parameter, but doesn't provide additional syntax or format details. The baseline score of 3 is appropriate when the schema does the heavy lifting.

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 purpose: 'Perform raw WHOIS queries against the LACNIC database to get complete object information in RPSL format.' It specifies the verb ('perform raw WHOIS queries'), resource ('LACNIC database'), and format ('RPSL format'), and distinguishes it from sibling tools by mentioning 'lacnic_contact_card' for contact information.

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?

The description provides explicit guidance on when to use this tool: 'Use ONLY when you need full object details or administrative data from LACNIC.' It also specifies when not to use it: 'DO NOT use for contact information - use lacnic_contact_card for abuse, NOC, admin, or tech contacts.' This clearly differentiates it from alternatives.

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

ripe_contact_cardA

PREFERRED TOOL for retrieving contact information (abuse, NOC, admin, tech) for IP addresses, ASNs, or organizations from the RIPE NCC database. This tool is specifically for the RIPE RIR (Europe/Middle East/Central Asia region). Use this when you need to CONTACT someone about: abuse reports, security incidents, network issues, or administrative matters. Keywords: 'contact', 'abuse', 'who should I contact', 'report', 'incident', 'NOC', 'technical support', 'admin'. Automatically resolves organization details and extracts abuse mailboxes, NOC contacts, phone numbers, and administrative information from RIPE database. Perfect for incident response, network troubleshooting, and compliance reporting for RIPE-managed resources. Returns structured contact data with clear categorization of contact types and purposes.

ParametersJSON Schema
NameRequiredDescriptionDefault
ipNoIP address to look up contact information for in RIPE database (IPv4 or IPv6)
asnNoASN number to look up contact information for in RIPE database (without 'AS' prefix)
orgNoOrganization handle/key to look up contact information for directly

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden and does well by explaining what the tool does: 'Automatically resolves organization details and extracts abuse mailboxes, NOC contacts, phone numbers, and administrative information from RIPE database.' It specifies the return format ('structured contact data with clear categorization') and use cases, though it doesn't mention rate limits, authentication needs, or error handling.

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 appropriately sized and front-loaded with the key purpose ('PREFERRED TOOL for retrieving contact information'). Most sentences add value, though some redundancy exists (e.g., repeating contact purposes). It could be slightly more concise but remains well-structured for agent comprehension.

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?

Given the tool's moderate complexity, 100% schema coverage, and presence of an output schema, the description is complete enough. It clearly explains the tool's purpose, usage context, behavioral traits, and return format. The output schema means the description doesn't need to detail return values, and it adequately covers the tool's role among siblings.

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 three parameters (ip, asn, org) with good descriptions. The description doesn't add any parameter-specific details beyond what's in the schema, but it does reinforce that inputs can be 'IP addresses, ASNs, or organizations.' Baseline 3 is appropriate when schema does the heavy lifting.

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 retrieves contact information for IP addresses, ASNs, or organizations from the RIPE NCC database, specifying it's for the Europe/Middle East/Central Asia region. It distinguishes from siblings by being 'PREFERRED TOOL for retrieving contact information' and explicitly mentions it's for the RIPE RIR, unlike other regional contact cards like afrinic_contact_card or apnic_contact_card.

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?

The description provides explicit guidance on when to use this tool: 'when you need to CONTACT someone about: abuse reports, security incidents, network issues, or administrative matters.' It lists specific keywords and use cases (incident response, network troubleshooting, compliance reporting), and the 'PREFERRED TOOL' designation helps differentiate it from alternative tools like ripe_whois_query.

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

ripe_expand_as_setA

Efficiently expand AS-SET objects from the RIPE NCC database into concrete ASNs with configurable depth. This tool is specifically for the RIPE RIR (Europe/Middle East/Central Asia region). Use this instead of whois_query when you need ASNs from a RIPE AS-SET. CRITICAL: For 'top-level', 'direct', or 'immediate' members, use max_depth=1. For complete expansion, use max_depth=10+. Large AS-SETs like 'AS-RETN' have hundreds of nested AS-SETs - choose depth carefully to balance completeness vs speed. Automatically handles recursive expansion, deduplication, and cycle detection. Perfect for network analysis, route filtering, and policy generation for RIPE-managed AS-SETs.

ParametersJSON Schema
NameRequiredDescriptionDefault
setnameYesAS-SET name to recursively expand into concrete ASN numbers from RIPE database. Examples: 'AS-CLOUDFLARE', 'AS-GOOGLE', 'AS-RETN'. The tool will automatically resolve all nested AS-SETs and return a complete list of individual ASNs contained within the hierarchy from RIPE NCC records.
max_depthNoMaximum recursion depth for AS-SET expansion (1-20 levels, default: 10). IMPORTANT: Use depth=1 for 'top-level' or 'direct' members only. Use depth=2-3 for shallow analysis, depth=10 for complete expansion. Higher values provide more complete results but take much longer to process. For questions about 'immediate' or 'direct' members, always use depth=1.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

Since no annotations are provided, the description carries the full burden of behavioral disclosure. It effectively describes key behavioral traits: 'Automatically handles recursive expansion, deduplication, and cycle detection,' mentions performance characteristics ('balance completeness vs speed'), and specifies the geographic scope ('RIPE RIR (Europe/Middle East/Central Asia region)'). It doesn't cover error handling or authentication requirements, but provides substantial operational context.

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 well-structured and front-loaded with the core purpose. Every sentence adds value: the first states the purpose, the second specifies regional scope and alternative tool, the third provides critical depth guidance, the fourth explains handling of large AS-SETs, and the fifth describes automation features and use cases. It could be slightly more concise but remains efficient.

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?

Given the tool's complexity (recursive expansion with depth control), the description provides excellent context. It covers purpose, regional scope, when to use vs alternatives, depth guidance, performance considerations, automation features, and use cases. With an output schema present, it doesn't need to explain return values, making this description complete for agent understanding.

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 both parameters thoroughly. The description adds some practical context about depth usage ('For 'top-level', 'direct', or 'immediate' members, use max_depth=1') and performance implications, but doesn't provide significant additional semantic information beyond what's in the schema descriptions.

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 purpose: 'Efficiently expand AS-SET objects from the RIPE NCC database into concrete ASNs with configurable depth.' It specifies the verb (expand), resource (AS-SET objects), and distinguishes it from sibling tools by mentioning 'Use this instead of whois_query when you need ASNs from a RIPE AS-SET.'

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?

The description provides explicit guidance on when to use this tool vs alternatives: 'Use this instead of whois_query when you need ASNs from a RIPE AS-SET.' It also gives detailed context on depth selection for different scenarios (e.g., 'For 'top-level', 'direct', or 'immediate' members, use max_depth=1'), and mentions performance trade-offs for large AS-SETs.

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

ripe_validate_route_objectA

PREFERRED TOOL for validating route object registration in the RIPE NCC database. This tool is specifically for the RIPE RIR (Europe/Middle East/Central Asia region). Use this when you need to CHECK, VERIFY, or VALIDATE if a route object exists for a prefix-ASN pair in RIPE. Keywords: 'route validation', 'check route', 'verify route', 'route exists', 'BGP security', 'route filtering', 'IRR coverage', 'RPKI validation'. Automatically handles IPv4/IPv6 detection and returns simple exists/not-found status. Much faster and more accurate than parsing raw WHOIS data for route validation in RIPE database.

ParametersJSON Schema
NameRequiredDescriptionDefault
prefixYesIP prefix to CHECK/VALIDATE for route object registration in RIPE database. Use CIDR notation like '192.0.2.0/24' for IPv4 or '2001:db8::/32' for IPv6. Use this when you need to VERIFY if a prefix has a registered route object in the RIPE IRR database.
origin_asnYesOrigin ASN number to VALIDATE/CHECK for route coverage (without 'AS' prefix). For example, use 64496 to VERIFY if AS64496 has a route object registered for the specified prefix. This VALIDATES proper BGP route registration and IRR coverage.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Since no annotations are provided, the description carries the full burden. It effectively discloses key behavioral traits: it's a validation/checking tool (implies read-only, non-destructive), automatically handles IPv4/IPv6 detection, returns a simple exists/not-found status, and is optimized for speed and accuracy compared to raw WHOIS parsing. However, it doesn't mention potential rate limits, authentication needs, or error handling details.

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 appropriately sized and front-loaded, starting with the primary purpose and usage context. The keyword list adds some redundancy but helps with searchability. It could be slightly more concise by integrating keywords more naturally, but overall it's efficient with no wasted sentences.

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 moderate complexity (validation with two parameters), no annotations, but with a rich input schema (100% coverage) and an output schema (implied by context signals), the description is mostly complete. It covers purpose, usage, and key behaviors, though it could benefit from more explicit details on output format or error cases, which the output schema may address.

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 fully documents both parameters (prefix and origin_asn). The description adds minimal value beyond the schema by reinforcing the validation purpose and mentioning automatic IPv4/IPv6 detection, but doesn't provide additional syntax or format details. This meets the baseline of 3 when schema coverage is high.

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 purpose: validating route object registration in the RIPE NCC database for a prefix-ASN pair. It specifies the region (Europe/Middle East/Central Asia) and distinguishes it from sibling tools like arin_validate_route_object by explicitly mentioning RIPE, making it easy to differentiate.

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?

The description explicitly states this is the 'PREFERRED TOOL' for validating route objects in RIPE and provides clear usage context: 'Use this when you need to CHECK, VERIFY, or VALIDATE if a route object exists for a prefix-ASN pair in RIPE.' It also contrasts with alternatives by noting it's 'Much faster and more accurate than parsing raw WHOIS data for route validation in RIPE database.'

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

ripe_whois_queryA

Perform raw WHOIS queries against the RIPE NCC database to get complete object information in RPSL format. This tool is specifically for the RIPE RIR (Europe/Middle East/Central Asia region). Use ONLY when you need full object details or administrative data from RIPE. DO NOT use for contact information - use ripe_contact_card for abuse, NOC, admin, or tech contacts. DO NOT use for route validation - use ripe_validate_route_object for checking if route objects exist. DO NOT use for AS-SET expansion - use ripe_expand_as_set for getting ASN lists. This returns raw RIPE database records with all attributes for detailed analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe domain name, IP address, ASN, or other identifier to query via RIPE WHOIS. Examples: 'example.com', '192.0.2.1', 'AS64496', 'RIPE-NCC-HM-MNT'. Returns complete object details from the RIPE NCC database.
flagsNoOptional WHOIS flags to modify the query behavior. Common flags: ['-B'] for brief output (less verbose), ['-r'] for raw output (no filtering), ['-T', 'person'] to limit object types. Use empty list [] or null for default query.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
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 of behavioral disclosure. It effectively describes key behavioral traits: it specifies the tool returns 'raw RIPE database records with all attributes for detailed analysis,' indicates it's for 'complete object information,' and mentions the query scope (domain, IP, ASN, etc.). While it doesn't cover rate limits or error handling, it provides substantial operational context beyond basic purpose.

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 appropriately sized and front-loaded: the first sentence states the core purpose, followed by specific usage guidelines and prohibitions. Every sentence earns its place by providing critical differentiation from sibling tools or clarifying behavioral aspects, with zero wasted text.

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?

Given the tool's moderate complexity (2 parameters, no annotations, but with an output schema), the description is complete enough. It clearly defines the tool's purpose, usage boundaries, and behavioral output. Since an output schema exists, the description doesn't need to explain return values, and it adequately compensates for the lack of annotations with detailed contextual guidance.

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 both parameters thoroughly. The description adds minimal parameter semantics beyond the schema—it mentions 'domain name, IP address, ASN, or other identifier' in the context of the tool's purpose but doesn't provide additional syntax or format details. This meets the baseline of 3 when the schema does the heavy lifting.

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 performs 'raw WHOIS queries against the RIPE NCC database to get complete object information in RPSL format.' It specifies the exact verb ('perform raw WHOIS queries'), resource ('RIPE NCC database'), and output format ('RPSL format'), and distinguishes it from sibling tools by mentioning the specific RIR region (Europe/Middle East/Central Asia).

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?

The description provides explicit guidance on when to use this tool ('Use ONLY when you need full object details or administrative data from RIPE') and when not to use it, with three clear prohibitions and named alternatives for each (e.g., 'DO NOT use for contact information - use ripe_contact_card'). This comprehensive guidance helps the agent select the correct tool among siblings.

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. 14 tool updatesv0.1.0
    • First observedafrinic_contact_card
    • First observedafrinic_whois_query
    • First observedapnic_contact_card
    • First observedapnic_whois_query
    • First observedarin_contact_card
    • First observedarin_expand_as_set
    • First observedarin_validate_route_object
    • First observedarin_whois_query
    • First observedlacnic_contact_card
    • First observedlacnic_whois_query
    • First observedripe_contact_card
    • First observedripe_expand_as_set
    • First observedripe_validate_route_object
    • First observedripe_whois_query

TDQS

A4.6/5.0

Scored across 14 tools

Disambiguation5/5

Each tool has a clearly distinct purpose with minimal overlap. The server provides contact cards, raw WHOIS queries, route validation, and AS-SET expansion for each RIR, and descriptions explicitly differentiate them (e.g., 'DO NOT use for contact information - use X_contact_card'). This prevents misselection and ensures agents can easily choose the correct tool for specific tasks like incident response or network analysis.

Naming Consistency5/5

Tool names follow a highly consistent pattern: all use snake_case with a structure of 'rir_operation_object' (e.g., arin_contact_card, ripe_validate_route_object). This predictability makes it easy for agents to understand and navigate the toolset, as the naming convention clearly indicates the RIR, operation type, and target resource across all 14 tools.

Tool Count5/5

With 14 tools, the count is well-scoped for a WHOIS server covering multiple RIRs. Each tool earns its place by providing specialized functions (contact retrieval, raw queries, route validation, AS-SET expansion) across five RIRs, ensuring comprehensive coverage without redundancy. This aligns with the server's purpose of detailed network and contact information lookup.

Completeness5/5

The toolset offers complete coverage for WHOIS-related tasks across all major RIRs. It includes contact retrieval, raw data queries, route validation, and AS-SET expansion, addressing key use cases like incident response, network troubleshooting, and compliance. There are no obvious gaps; agents can perform full CRUD-like operations (e.g., query, validate, expand) for each region without dead ends.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers