RIPE Atlas MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@RIPE Atlas MCP Serverping google.com from 5 probes in Germany"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
RIPE Atlas MCP Server
A Model Context Protocol (MCP) server for the RIPE Atlas network measurement platform. Enables AI assistants to create network measurements, retrieve results, search probes, and manage credits.
Features
All 6 measurement types: ping, traceroute, DNS, TLS/SSL, HTTP, NTP
Flexible probe selection: by country, ASN, prefix, geographic area, specific probes, or tags
Rich result retrieval: time-range filtering, probe filtering, latest-only mode
Dual output format: JSON (structured) and Markdown (human-readable)
Probe discovery: search 12,000+ probes worldwide by location, network, status
Credit management: check balance and usage statistics
Related MCP server: MCP API Server
Quick Start
Using npx (recommended)
npx ripe-atlas-mcp-serverInstall globally
npm install -g ripe-atlas-mcp-serverConfiguration
Prerequisites
Create a free account at atlas.ripe.net
Create an API key at atlas.ripe.net/keys/ with "Create measurements" permission
Set the environment variable:
export RIPE_ATLAS_API_KEY=your_key_here
Note: Read-only operations (listing measurements, searching probes) work without an API key. Creating measurements requires an API key.
Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"ripe-atlas": {
"command": "npx",
"args": ["-y", "ripe-atlas-mcp-server"],
"env": {
"RIPE_ATLAS_API_KEY": "your_key_here"
}
}
}
}VS Code / GitHub Copilot
Add to your VS Code settings or .vscode/mcp.json:
{
"mcpServers": {
"ripe-atlas": {
"command": "npx",
"args": ["-y", "ripe-atlas-mcp-server"],
"env": {
"RIPE_ATLAS_API_KEY": "your_key_here"
}
}
}
}Cursor
Add to your Cursor MCP config:
{
"mcpServers": {
"ripe-atlas": {
"command": "npx",
"args": ["-y", "ripe-atlas-mcp-server"],
"env": {
"RIPE_ATLAS_API_KEY": "your_key_here"
}
}
}
}Tools
Measurement Creation
Tool | Description |
| Create ICMP ping measurements from distributed probes |
| Create traceroute measurements (ICMP/UDP/TCP) |
| Create DNS lookup measurements with DNSSEC support |
| Create TLS/SSL certificate check measurements |
| Create HTTP request measurements (GET/HEAD/POST) |
| Create NTP time query measurements |
Measurement Management
Tool | Description |
| Search and list measurements with filters |
| Get detailed measurement information by ID |
| Retrieve measurement results with time/probe filters |
| Stop a running measurement |
Probes
Tool | Description |
| Search probes by country, ASN, prefix, status, tags |
| Get detailed probe information by ID |
Account
Tool | Description |
| Check credit balance and usage statistics |
Common Parameters
All measurement creation tools support:
Parameter | Description |
| Target hostname or IP address |
| Address family: |
| Number of probes (1-1000, default: 5) |
| Two-letter ISO country code (e.g. |
| Autonomous System Number |
| IP prefix (e.g. |
| Geographic area: |
| Comma-separated probe IDs |
| Filter probes by tags |
| One-shot ( |
|
|
Examples
Ping a target from 10 random probes:
"Ping 1.1.1.1 from 10 probes worldwide"
Check DNS propagation:
"Do a DNS lookup for example.com AAAA records from 50 probes across the world"
Find probes in a country:
"Show me all connected RIPE Atlas probes in Australia"
Trace a route:
"Run a traceroute to 8.8.8.8 from 5 probes in Germany using ICMP"
What is RIPE Atlas?
RIPE Atlas is a global Internet measurement network operated by RIPE NCC. It consists of thousands of hardware and software probes hosted by volunteers worldwide. Users can run network measurements (ping, traceroute, DNS, TLS, HTTP, NTP) from these distributed vantage points, providing visibility into Internet routing, performance, and DNS resolution globally.
Development
git clone https://github.com/jrelph/ripe-atlas-mcp.git
cd ripe-atlas-mcp-server
npm install
npm run buildContributing
See CONTRIBUTING.md for details.
License
Available Tools
13 toolsatlas_get_creditsGet RIPE Atlas Credit BalanceARead-onlyIdempotent
Check your RIPE Atlas credit balance and usage statistics.
Args:
response_format ('json'|'markdown'): Output format
Returns: Current balance, daily income/expenditure, estimated runout.
Requires: RIPE_ATLAS_API_KEY environment variable.
| Name | Required | Description | Default |
|---|---|---|---|
| response_format | No | Output format: 'json' for structured data or 'markdown' for human-readable | json |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent behavior. The description adds useful context: return fields (balance, income/expenditure, runout) and the prerequisite API key, which enriches the agent's understanding.
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?
The description is brief and efficiently lists arguments, returns, and requirements. It is front-loaded with the main purpose. Could be slightly more structured but is adequate.
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 simple balance check with one optional parameter, the description covers the purpose, argument, return values, and a prerequisite. No output schema exists, so the return description helps. It is sufficiently complete.
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?
The single parameter is fully documented in the schema with description and enum. The description repeats the same info without adding new meaning, so it does not go beyond what the schema provides.
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?
The description clearly states 'Check your RIPE Atlas credit balance and usage statistics', specifying the verb (check) and resource (credit balance/usage). It distinguishes from sibling tools which focus on measurements and probes.
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?
The description notes the required environment variable and mentions the return values, but does not explicitly state when to prefer this tool over alternatives. However, the context makes the purpose clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlas_get_measurementGet RIPE Atlas Measurement DetailsARead-onlyIdempotent
Get detailed information about a specific RIPE Atlas measurement by ID.
Args:
measurement_id (number): The measurement ID
response_format ('json'|'markdown'): Output format
Returns: Full measurement metadata including type, target, status, probes, timestamps.
| Name | Required | Description | Default |
|---|---|---|---|
| measurement_id | Yes | The measurement ID to retrieve | |
| response_format | No | Output format: 'json' for structured data or 'markdown' for human-readable | json |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, idempotentHint, openWorldHint (safe read). The description adds behavioral context by specifying the return includes 'type, target, status, probes, timestamps', which goes beyond annotations. No contradictions.
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?
The description is concise (two sentences for purpose, two parameter lines, one return line). Information is front-loaded, well-organized with Args and Returns sections. No unnecessary words.
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 simple read-only tool with full schema coverage and rich annotations, the description is complete. It covers input (parameters), output (return fields), and the nature of the operation. No output schema exists, so describing the return type is appropriate.
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 coverage is 100%, so baseline 3. The description lists parameters (measurement_id, response_format) but adds minimal additional meaning beyond the schema descriptions (e.g., 'The measurement ID' vs schema 'The measurement ID to retrieve'). No constraints or examples beyond enum and default.
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?
The description clearly states 'Get detailed information about a specific RIPE Atlas measurement by ID', specifying verb (get), resource (measurement details), and scope (by ID). It distinguishes from siblings like atlas_list_measurements (lists), atlas_get_results (returns results), and atlas_stop_measurement (mutations).
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?
No explicit guidance on when to use this tool versus siblings (e.g., atlas_list_measurements for overviews, atlas_get_results for raw data). The description implies it's for a single measurement's details, but does not state when-not-to-use or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlas_get_probeGet RIPE Atlas Probe DetailsARead-onlyIdempotent
Get detailed information about a specific RIPE Atlas probe by ID.
Args:
probe_id (number): The probe ID to retrieve
response_format ('json'|'markdown'): Output format
Returns: Probe details including country, ASN, prefix, status, tags, coordinates.
| Name | Required | Description | Default |
|---|---|---|---|
| probe_id | Yes | The probe ID to retrieve | |
| response_format | No | Output format: 'json' for structured data or 'markdown' for human-readable | json |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, idempotentHint, openWorldHint, indicating safe idempotent operation. The description adds useful context about returned fields (country, ASN, etc.) without contradicting annotations.
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?
The description is short and to the point, with a clear purpose stated first. No unnecessary words, and the structure is logical.
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?
Given the lack of an output schema, the description lists important return fields, providing helpful context. It covers the core functionality adequately.
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 coverage is 100%, so the schema fully documents both parameters. The description repeats the parameter meanings and adds an example of returned fields, but no additional semantic insight beyond the schema for parameters.
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?
The description clearly states 'Get detailed information about a specific RIPE Atlas probe by ID,' using a specific verb and resource. It distinguishes from sibling tools like atlas_search_probes that have a different purpose.
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?
No explicit guidance on when to use this tool versus alternatives like atlas_search_probes for finding probes first. Usage is implied by the need for a specific probe ID.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlas_get_resultsGet RIPE Atlas Measurement ResultsARead-onlyIdempotent
Retrieve results from a RIPE Atlas measurement.
Can fetch all results, latest results only, or filter by time range and probe IDs.
Args:
measurement_id (number): The measurement ID
latest (bool): If true, get only latest results (default: false)
start (unix timestamp): Only results after this time
stop (unix timestamp): Only results before this time
probe_ids (string): Comma-separated probe IDs to filter
response_format ('json'|'markdown'): Output format
Returns: Measurement results with per-probe data (RTT, hops, DNS answers, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| measurement_id | Yes | The measurement ID to get results for | |
| start | No | Only results after this Unix timestamp | |
| stop | No | Only results before this Unix timestamp | |
| probe_ids | No | Comma-separated list of probe IDs to filter results | |
| latest | No | If true, fetch only the latest results instead of historical | |
| response_format | No | Output format: 'json' for structured data or 'markdown' for human-readable | json |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds limited behavioral context (e.g., can filter results). It does not contradict annotations and provides some additional detail about return format.
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?
Description is structured with Args and Returns but repeats parameter info already in schema. Some redundancy, but overall clear and front-loaded with key purpose. Could be more concise.
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?
All 6 parameters are documented in both schema and description. No output schema, but description outlines return content (per-probe data like RTT, hops). Provides sufficient context for an AI agent to understand the tool's capabilities.
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 coverage is 100%, so baseline is 3. Description adds value by listing parameters with defaults and explanations (e.g., 'latest (bool): If true, get only latest results (default: false)'), enhancing meaning beyond schema.
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?
The description clearly states 'Retrieve results from a RIPE Atlas measurement' with specific verb and resource. It distinguishes from siblings like atlas_get_measurement (which gets measurement details) by focusing on result retrieval with filtering options.
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?
Description explains when to use: fetching all results, latest only, or filtering by time and probes. It does not explicitly mention when not to use or alternatives, but the use cases are clearly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlas_list_measurementsList RIPE Atlas MeasurementsARead-onlyIdempotent
Search and list RIPE Atlas measurements with comprehensive filters.
Args:
search: Free-text search on target/description
type: Filter by measurement type (ping, traceroute, dns, sslcert, http, ntp)
status: Filter by status (2=Ongoing, 4=Stopped, etc.)
af: Address family (4 or 6)
target/target_contains: Filter by target
mine: Show only your measurements (requires API key)
page/page_size: Pagination
sort: Sort order (e.g. '-id' for newest first)
Returns: Paginated list of measurements.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default: 1) | |
| page_size | No | Results per page (1-500, default: 25) | |
| search | No | Free-text search (target or description) | |
| type | No | Filter by measurement type | |
| status | No | Filter by status: 0=Specified, 1=Scheduled, 2=Ongoing, 4=Stopped | |
| af | No | Address family filter | |
| is_oneoff | No | Filter one-off vs recurring | |
| target | No | Filter by exact target | |
| target_contains | No | Filter by target containing string | |
| mine | No | List only your own measurements (requires API key) | |
| sort | No | Sort field (e.g. '-id', 'start_time') | |
| response_format | No | Output format: 'json' for structured data or 'markdown' for human-readable | json |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint: true) already indicate safety. The description adds that it returns a paginated list, but does not disclose further behavioral traits beyond the schema and annotations.
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?
The description is well-structured, front-loaded with purpose, and uses a bullet-like list for args. It is concise with no unnecessary words, though slightly long due to parameter count.
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?
Given 12 parameters and no output schema, the description adequately states the return type (paginated list) and covers filters. It is sufficient for effective use.
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 coverage is 100%, but the description groups and explains parameters in a user-friendly manner (e.g., 'mine: Show only your measurements (requires API key)'), adding value beyond schema descriptions.
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?
The description states 'Search and list RIPE Atlas measurements with comprehensive filters,' which uses specific verbs and resource, and clearly distinguishes from siblings like atlas_get_measurement and atlas_measure_ping.
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?
The description implies when to use (searching with filters) but does not explicitly exclude other tools or mention alternatives. It is clear enough for use, though not explicitly distinguishing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlas_measure_dnsRIPE Atlas DNS MeasurementA
Create a DNS measurement on the RIPE Atlas network.
Performs DNS lookups from distributed probes. Can query specific DNS servers or use the probe's local resolver.
Args:
query_argument (string): DNS name to query (e.g. 'example.com')
query_type: Record type (A, AAAA, MX, NS, SOA, TXT, CNAME, DNSKEY, etc.)
target (string, optional): DNS server to query. Omit to use probe's resolver.
set_rd_bit: Recursion Desired (default: true)
set_do_bit: DNSSEC OK flag
set_cd_bit: DNSSEC Checking Disabled
set_nsid_bit: Request Name Server ID
protocol ('UDP'|'TCP'): Transport (default: UDP)
probe_count, from_country, etc.: Probe selection
Returns: Measurement ID(s).
Requires: RIPE_ATLAS_API_KEY with 'create measurement' permission.
| Name | Required | Description | Default |
|---|---|---|---|
| target | No | Target DNS server IP/hostname. If omitted, the probe's resolver is used. | |
| af | No | Address family: 4 for IPv4, 6 for IPv6 | |
| description | No | Human-readable description of the measurement | |
| is_oneoff | No | If true (default), run once. If false, run periodically at 'interval' | |
| interval | No | Interval in seconds between measurements (only used when is_oneoff=false) | |
| resolve_on_probe | No | Resolve DNS names on probe instead of RIPE servers | |
| tags | No | Tags to apply to the measurement | |
| response_format | No | Output format: 'json' for structured data or 'markdown' for human-readable | json |
| probe_count | No | Number of probes to use (1-1000, default: 5) | |
| from_country | No | Two-letter ISO country code to select probes from (e.g. 'DE', 'US') | |
| from_asn | No | ASN number to select probes from | |
| from_prefix | No | IP prefix to select probes from (e.g. '193.0.0.0/21') | |
| from_area | No | Geographic area to select probes from | |
| from_probes | No | Comma-separated list of specific probe IDs to use | |
| include_tags | No | Only include probes with these tags (e.g. ['system-ipv6-works']) | |
| exclude_tags | No | Exclude probes with these tags | |
| query_argument | Yes | DNS name to query (e.g. 'example.com') | |
| query_type | No | DNS query type (default: A) | A |
| query_class | No | DNS query class (default: IN) | IN |
| set_rd_bit | No | Set Recursion Desired flag | |
| set_do_bit | No | Set DNSSEC OK flag (RFC3225) | |
| set_cd_bit | No | Set DNSSEC Checking Disabled flag (RFC4035) | |
| set_nsid_bit | No | Include EDNS Name Server ID request | |
| udp_payload_size | No | EDNS UDP payload size (512-4096) | |
| protocol | No | Transport protocol for DNS query | UDP |
| retry | No | Number of retries |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the creation of a measurement, return of an ID, and API key permission requirement. Annotations indicate readOnlyHint=false and destructiveHint=false. The description adds value beyond annotations by noting the return type and that omitting target uses the probe's resolver.
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?
The description is well-structured with a lead sentence, purpose paragraph, bulleted arg list, and separate lines for returns and requirements. It is concise but could reduce redundancy (e.g., repeating 'probe_count, from_country, etc.' while schema already covers them).
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?
Given 26 parameters and no output schema, the description covers core functionality, permissions, and probe selection. It mentions 'Returns: Measurement ID(s).' and enumerates key arguments, though it could better explain the response_format parameter or post-creation steps. Overall adequate.
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 coverage is 100%, so the baseline is 3. The description adds meaning by highlighting key parameters (e.g., query_argument with example 'example.com', query_type list, protocol enum) and summarizing default values, though not all 26 parameters are listed.
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?
The description clearly states the tool creates a DNS measurement on the RIPE Atlas network using distributed probes. It distinguishes from sibling tools (e.g., ping, traceroute) by specifying DNS lookups and enumerating key DNS-specific parameters like query_argument and query_type.
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?
The description implies usage (perform DNS queries from global probes) and provides context like requiring an API key. However, it lacks explicit when-to-use or when-not-to-use guidance versus alternatives, though the sibling names and tool focus make the purpose clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlas_measure_httpRIPE Atlas HTTP MeasurementA
Create an HTTP measurement on the RIPE Atlas network.
Makes HTTP requests from distributed probes to a target web server.
Args:
target (string): Target hostname or IP
method ('GET'|'HEAD'|'POST'): HTTP method (default: GET)
path (string): URL path (default: '/')
port (1-65535): Port (default: 80)
version (string): HTTP version (default: '1.1')
header_bytes: Max header bytes to capture
body_bytes: Max body bytes to capture
timing_verbosity (0|1|2): Detail level
probe_count, from_country, etc.: Probe selection
Returns: Measurement ID(s).
Requires: RIPE_ATLAS_API_KEY with 'create measurement' permission.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | Target hostname or IP address | |
| af | No | Address family: 4 for IPv4, 6 for IPv6 | |
| description | No | Human-readable description of the measurement | |
| is_oneoff | No | If true (default), run once. If false, run periodically at 'interval' | |
| interval | No | Interval in seconds between measurements (only used when is_oneoff=false) | |
| resolve_on_probe | No | Resolve DNS names on probe instead of RIPE servers | |
| tags | No | Tags to apply to the measurement | |
| response_format | No | Output format: 'json' for structured data or 'markdown' for human-readable | json |
| probe_count | No | Number of probes to use (1-1000, default: 5) | |
| from_country | No | Two-letter ISO country code to select probes from (e.g. 'DE', 'US') | |
| from_asn | No | ASN number to select probes from | |
| from_prefix | No | IP prefix to select probes from (e.g. '193.0.0.0/21') | |
| from_area | No | Geographic area to select probes from | |
| from_probes | No | Comma-separated list of specific probe IDs to use | |
| include_tags | No | Only include probes with these tags (e.g. ['system-ipv6-works']) | |
| exclude_tags | No | Exclude probes with these tags | |
| port | No | Port number (default: 80) | |
| header_bytes | No | Max bytes to retrieve from response header (0=no limit) | |
| version | No | HTTP version (e.g. '1.0', '1.1') | 1.1 |
| method | No | HTTP method | GET |
| path | No | URL path (default: '/') | / |
| query_string | No | Query string to append to path | |
| user_agent | No | Custom User-Agent header | |
| body_bytes | No | Max bytes to retrieve from response body (0=no limit) | |
| timing_verbosity | No | Timing detail: 0=none, 1=basic, 2=per-read |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate non-read-only, non-destructive, non-idempotent, and open-world. The description adds context about requiring an API key with 'create measurement' permission, returning a measurement ID, and making external HTTP requests, which goes beyond the annotations.
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?
The description is fairly long with a bullet list of arguments. It is front-loaded with purpose but repeats some schema information. Could be more concise while maintaining clarity.
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?
Given 25 parameters, no output schema, and annotations present, the description covers purpose, return value, permissions, and key parameters. It is complete enough for an agent to understand the tool's functionality and requirements.
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 coverage is 100% with descriptions for all 25 parameters. The description adds value by summarizing key parameters (e.g., method, path, port, probe selection) and grouping them, but baseline is 3 due to high coverage; the extra context earns a 4.
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?
The description clearly states it creates an HTTP measurement on the RIPE Atlas network, making HTTP requests from distributed probes. This specific verb+resource combination distinguishes it from sibling tools like atlas_measure_ping, atlas_measure_dns, etc.
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?
The description implies usage for HTTP measurements but does not explicitly state when to use this tool versus alternatives. Sibling tools exist for other protocols, providing context, but no explicit exclusions or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlas_measure_ntpRIPE Atlas NTP MeasurementA
Create an NTP measurement on the RIPE Atlas network.
Queries NTP time servers from distributed probes to measure clock offset and delay.
Args:
target (string): NTP server hostname or IP
packets (1-16): Number of packets (default: 3)
timeout: Timeout per packet in ms
probe_count, from_country, etc.: Probe selection
Returns: Measurement ID(s).
Requires: RIPE_ATLAS_API_KEY with 'create measurement' permission.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | Target hostname or IP address | |
| af | No | Address family: 4 for IPv4, 6 for IPv6 | |
| description | No | Human-readable description of the measurement | |
| is_oneoff | No | If true (default), run once. If false, run periodically at 'interval' | |
| interval | No | Interval in seconds between measurements (only used when is_oneoff=false) | |
| resolve_on_probe | No | Resolve DNS names on probe instead of RIPE servers | |
| tags | No | Tags to apply to the measurement | |
| response_format | No | Output format: 'json' for structured data or 'markdown' for human-readable | json |
| probe_count | No | Number of probes to use (1-1000, default: 5) | |
| from_country | No | Two-letter ISO country code to select probes from (e.g. 'DE', 'US') | |
| from_asn | No | ASN number to select probes from | |
| from_prefix | No | IP prefix to select probes from (e.g. '193.0.0.0/21') | |
| from_area | No | Geographic area to select probes from | |
| from_probes | No | Comma-separated list of specific probe IDs to use | |
| include_tags | No | Only include probes with these tags (e.g. ['system-ipv6-works']) | |
| exclude_tags | No | Exclude probes with these tags | |
| packets | No | Number of packets (1-16, default: 3) | |
| timeout | No | Timeout per packet in ms |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate it's a write operation (readOnlyHint=false). The description clarifies the creation nature and adds a requirement for a specific API key permission. No contradictions, but could mention side effects like credit consumption.
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?
The description is concise with clear sections for purpose, arguments, returns, and requirements. Every sentence adds value, though it could be slightly more structured.
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?
No output schema is provided; the description states 'Returns: Measurement ID(s)' but does not explain the asynchronous nature or how to retrieve results. Sibling tools for results may infer, but it's not fully self-contained.
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 100%, so the description offers a high-level grouping (e.g., 'Probe selection') but does not add significant new meaning beyond the schema definitions.
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?
The description clearly states 'Create an NTP measurement' with specific verbs and resource, and the name and title distinguish it from sibling tools like atlas_measure_dns or atlas_measure_ping.
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?
The description mentions the required API key permission but does not explicitly state when to use this tool versus other measurement types or provide any exclusion criteria. Given the many sibling tools, more guidance would help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlas_measure_pingRIPE Atlas Ping MeasurementA
Create a ping measurement on the RIPE Atlas network.
Sends ICMP echo requests from distributed probes worldwide to a target host.
Args:
target (string): Target hostname or IP address
af (4|6): Address family (default: 4)
packets (1-16): Number of packets (default: 3)
size (1-2048): Packet size in bytes (default: 48)
probe_count (1-1000): Number of probes (default: 5)
from_country/from_asn/from_prefix/from_area/from_probes: Probe selection
is_oneoff (bool): One-shot measurement (default: true)
response_format ('json'|'markdown'): Output format
Returns: Measurement ID(s) and link to results.
Requires: RIPE_ATLAS_API_KEY with 'create measurement' permission.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | Target hostname or IP address | |
| af | No | Address family: 4 for IPv4, 6 for IPv6 | |
| description | No | Human-readable description of the measurement | |
| is_oneoff | No | If true (default), run once. If false, run periodically at 'interval' | |
| interval | No | Interval in seconds between measurements (only used when is_oneoff=false) | |
| resolve_on_probe | No | Resolve DNS names on probe instead of RIPE servers | |
| tags | No | Tags to apply to the measurement | |
| response_format | No | Output format: 'json' for structured data or 'markdown' for human-readable | json |
| probe_count | No | Number of probes to use (1-1000, default: 5) | |
| from_country | No | Two-letter ISO country code to select probes from (e.g. 'DE', 'US') | |
| from_asn | No | ASN number to select probes from | |
| from_prefix | No | IP prefix to select probes from (e.g. '193.0.0.0/21') | |
| from_area | No | Geographic area to select probes from | |
| from_probes | No | Comma-separated list of specific probe IDs to use | |
| include_tags | No | Only include probes with these tags (e.g. ['system-ipv6-works']) | |
| exclude_tags | No | Exclude probes with these tags | |
| packets | No | Number of packets to send (1-16, default: 3) | |
| size | No | Packet size in bytes excluding headers (1-2048, default: 48) | |
| packet_interval | No | Time between packets in ms (2-30000, default: 1000) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already show destructiveHint=false and readOnlyHint=false, but the description adds important context: it requires an API key with 'create measurement' permission, and explains it creates a measurement and returns IDs plus a results link. It does not disclose cost implications or asynchronicity, which would improve transparency.
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?
The description is concise (≈150 words), front-loaded with the main purpose, followed by a compact param summary and essential notes on returns and permissions. Every sentence contributes meaningfully.
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?
Given 19 parameters, one required, and no output schema, the description provides a reasonable overview. It covers the primary action, key parameters, return format, and auth requirement. However, it omits that measurements are asynchronous and that results are fetched later via atlas_get_results.
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 coverage is 100%, so the description's brief param list adds no new information beyond defaults and ranges already in the schema. The description does not clarify relationships between parameters (e.g., from_country vs from_probes) or provide examples, so it only meets the baseline.
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?
The description clearly states 'Create a ping measurement' and specifies it sends ICMP echo requests. It distinguishes from sibling tools like atlas_measure_dns or atlas_measure_http by explicitly naming 'ping' and 'ICMP'.
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?
No explicit when-to-use or when-not-to-use guidance is provided. While the description implies usage for ping/ICMP measurements, it does not compare with siblings or note prerequisites (e.g., 'Use for latency checks; not for DNS resolution'). The lack of explicit alternatives lowers the score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlas_measure_tlsRIPE Atlas TLS Certificate MeasurementA
Create a TLS/SSL certificate check measurement on the RIPE Atlas network.
Connects to a target and retrieves its TLS certificate from distributed probes worldwide.
Args:
target (string): Target hostname or IP
port (1-65535): Port to connect to (default: 443)
probe_count, from_country, etc.: Probe selection
Returns: Measurement ID(s).
Requires: RIPE_ATLAS_API_KEY with 'create measurement' permission.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | Target hostname or IP address | |
| af | No | Address family: 4 for IPv4, 6 for IPv6 | |
| description | No | Human-readable description of the measurement | |
| is_oneoff | No | If true (default), run once. If false, run periodically at 'interval' | |
| interval | No | Interval in seconds between measurements (only used when is_oneoff=false) | |
| resolve_on_probe | No | Resolve DNS names on probe instead of RIPE servers | |
| tags | No | Tags to apply to the measurement | |
| response_format | No | Output format: 'json' for structured data or 'markdown' for human-readable | json |
| probe_count | No | Number of probes to use (1-1000, default: 5) | |
| from_country | No | Two-letter ISO country code to select probes from (e.g. 'DE', 'US') | |
| from_asn | No | ASN number to select probes from | |
| from_prefix | No | IP prefix to select probes from (e.g. '193.0.0.0/21') | |
| from_area | No | Geographic area to select probes from | |
| from_probes | No | Comma-separated list of specific probe IDs to use | |
| include_tags | No | Only include probes with these tags (e.g. ['system-ipv6-works']) | |
| exclude_tags | No | Exclude probes with these tags | |
| port | No | Port to connect to (default: 443) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool creates a measurement (non-read-only) and requires specific API key permissions, adding value beyond the annotations (which only indicate readOnlyHint=false, destructiveHint=false, etc.). However, it does not mention behavioral details like cost implications, rate limits, or what happens to existing data.
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?
The description is concise: two introductory sentences, then a structured list of args, returns, and requirements. Every part adds value, though the list format could be more tightly integrated. It is front-loaded with the primary action.
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?
With 17 parameters and no output schema, the description is insufficient. It barely explains the return value ('Measurement ID(s)') and omits details on output format despite a response_format parameter. No error handling or prerequisites beyond API key are mentioned, making it incomplete for a complex tool.
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 100%, so the baseline is 3. The description lists parameter names (target, port, probe_count, etc.) but adds no significant extra meaning beyond the schema's own descriptions. It is redundant rather than enhancing understanding.
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?
The description clearly states the action ('Create') and the resource ('TLS/SSL certificate check measurement'), with specifics about retrieving TLS certificates from distributed probes. It distinguishes this from sibling tools like atlas_measure_ping or atlas_measure_dns by focusing on TLS certificate retrieval.
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?
The description lists required permissions (RIPE_ATLAS_API_KEY with 'create measurement' permission) and indicates usage for TLS certificate checking, but does not explicitly state when to use this tool versus alternatives or when not to use it. The sibling tools provide context, but no direct differentiation guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlas_measure_tracerouteRIPE Atlas Traceroute MeasurementA
Create a traceroute measurement on the RIPE Atlas network.
Traces the network path from distributed probes to a target, showing each hop.
Args:
target (string): Target hostname or IP
protocol ('ICMP'|'UDP'|'TCP'): Protocol (default: ICMP)
max_hops (1-255): Max TTL (default: 32)
paris (0-64): Paris traceroute mode (default: 16, 0=standard)
port (1-65535): Destination port (TCP only)
probe_count, from_country, etc.: Probe selection
Returns: Measurement ID(s).
Requires: RIPE_ATLAS_API_KEY with 'create measurement' permission.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | Target hostname or IP address | |
| af | No | Address family: 4 for IPv4, 6 for IPv6 | |
| description | No | Human-readable description of the measurement | |
| is_oneoff | No | If true (default), run once. If false, run periodically at 'interval' | |
| interval | No | Interval in seconds between measurements (only used when is_oneoff=false) | |
| resolve_on_probe | No | Resolve DNS names on probe instead of RIPE servers | |
| tags | No | Tags to apply to the measurement | |
| response_format | No | Output format: 'json' for structured data or 'markdown' for human-readable | json |
| probe_count | No | Number of probes to use (1-1000, default: 5) | |
| from_country | No | Two-letter ISO country code to select probes from (e.g. 'DE', 'US') | |
| from_asn | No | ASN number to select probes from | |
| from_prefix | No | IP prefix to select probes from (e.g. '193.0.0.0/21') | |
| from_area | No | Geographic area to select probes from | |
| from_probes | No | Comma-separated list of specific probe IDs to use | |
| include_tags | No | Only include probes with these tags (e.g. ['system-ipv6-works']) | |
| exclude_tags | No | Exclude probes with these tags | |
| packets | No | Number of packets per hop (1-16, default: 3) | |
| size | No | Packet size in bytes (1-2048, default: 48) | |
| protocol | No | Protocol to use: ICMP, UDP, or TCP | ICMP |
| timeout | No | Timeout per packet in ms | |
| dont_fragment | No | Set Don't Fragment flag | |
| paris | No | Paris traceroute variant (0=standard, 1-64=Paris, default: 16) | |
| first_hop | No | First TTL hop (1-255, default: 1) | |
| max_hops | No | Maximum TTL hops (1-255, default: 32) | |
| port | No | Destination port (TCP only) | |
| destination_option_size | No | IPv6 destination option header size | |
| hop_by_hop_option_size | No | IPv6 hop-by-hop option header size |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations show readOnlyHint=false, but the description adds context: requires API key with 'create measurement' permission, returns measurement ID(s). It does not mention credit consumption or side effects, but covers key behavioral traits beyond annotations.
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?
The description is front-loaded with purpose and has a structured Args section. It includes some explanatory text (e.g., 'Traces the network path...') that is useful but slightly verbose. Overall, it is concise for a complex tool.
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?
With 27 parameters and no output schema, the description covers the creation process and returns measurement ID(s). However, it lacks details on the structure of the returned ID or how to interpret/use it. This leaves completeness gaps for new users.
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?
Input schema has 100% description coverage, so baseline is 3. The description's 'Args' section repeats defaults and descriptions already in the schema, with little added value. Grouping of probe selection parameters is helpful, but overall redundancy keeps score at 3.
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?
The description clearly states 'Create a traceroute measurement on the RIPE Atlas network' and explains it traces the network path. The verb 'Create' and resource 'traceroute measurement' are specific. It distinguishes from sibling tools like atlas_measure_dns by focusing on traceroute.
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?
The description does not provide explicit guidance on when to use this tool versus sibling tools (e.g., atlas_measure_ping). It only implies usage for traceroute, but does not mention alternatives or conditions. Usage is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlas_search_probesSearch RIPE Atlas ProbesARead-onlyIdempotent
Search for RIPE Atlas probes worldwide with filters for location, network, and status.
Args:
country (string): Two-letter ISO country code (e.g. 'DE', 'US', 'AU')
asn (number): Filter by ASN (IPv4)
asn_v6 (number): Filter by ASN (IPv6)
prefix (string): Filter by IPv4 prefix (e.g. '193.0.0.0/21')
prefix_v6 (string): Filter by IPv6 prefix
status (1|2|3): 1=Connected, 2=Disconnected, 3=Abandoned
is_anchor (bool): Only anchor probes
tags (string): Comma-separated tag slugs
search (string): Free-text search
sort (string): Sort field (e.g. 'id', '-id')
page/page_size: Pagination
Returns: Paginated list of probes with ID, country, ASN, status, tags.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default: 1) | |
| page_size | No | Results per page (1-500, default: 25) | |
| asn | No | Filter by ASN (v4) | |
| asn_v6 | No | Filter by ASN (v6) | |
| prefix | No | Filter by IPv4 prefix | |
| prefix_v6 | No | Filter by IPv6 prefix | |
| country | No | Filter by two-letter ISO country code | |
| status | No | Probe status: 1=Connected, 2=Disconnected, 3=Abandoned | |
| is_anchor | No | Filter for anchor probes only | |
| tags | No | Comma-separated tag slugs to filter by | |
| search | No | Free-text search across probe fields | |
| sort | No | Sort field (e.g. 'id', '-id' for descending) | |
| response_format | No | Output format: 'json' for structured data or 'markdown' for human-readable | json |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, non-destructive, idempotent, and open-world. The description adds behavioral context: 'Returns: Paginated list of probes with ID, country, ASN, status, tags.' This clarifies the output structure and pagination, going beyond the annotations.
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?
The description is concise: a one-line summary, a well-organized parameter list with clear formats, and a return statement. No redundant information; every sentence is useful and front-loaded.
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 tool with 13 parameters and no output schema, the description covers the purpose, parameters, and return structure. It lacks explicit pagination limits or usage advice, but the details are sufficient for an agent to invoke the tool correctly.
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 coverage is 100%, so the baseline is 3. The description lists parameters with brief explanations, but these largely mirror the schema descriptions (e.g., status mapping). It does not add significant new semantics beyond what the schema already provides.
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?
The description clearly states the tool's purpose: 'Search for RIPE Atlas probes worldwide with filters for location, network, and status.' It uses a specific verb ('Search') and resource ('probes'), and the tool is distinct from siblings like 'atlas_get_probe' which retrieves a single probe by ID.
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?
The description lists many filters but does not explicitly guide when to use this tool versus alternatives (e.g., 'atlas_get_probe' for a specific probe). However, the tool's name and parameter set imply its use case, and the context signals show sibling tools without confusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
atlas_stop_measurementStop RIPE Atlas MeasurementADestructiveIdempotent
Stop a running RIPE Atlas measurement.
Args:
measurement_id (number): The measurement ID to stop
Returns: Confirmation of the stop request.
Requires: RIPE_ATLAS_API_KEY with appropriate permissions.
| Name | Required | Description | Default |
|---|---|---|---|
| measurement_id | Yes | The measurement ID to stop |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate destructiveHint=true and idempotentHint=true; the description adds context about requiring authentication and permissions. It does not contradict annotations, but could elaborate on behavior for already stopped measurements.
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?
Three sentences, each adding value: main action, argument, return, requirement. No filler, appropriate length.
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 simple stop operation with one parameter, the description covers action, param, return, and requirement. It could mention error handling but is adequate.
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 coverage is 100% with a description for measurement_id that matches the description. The description adds no extra meaning beyond the schema, so baseline of 3.
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?
The description states 'Stop a running RIPE Atlas measurement' with a clear verb and resource. It distinguishes from siblings like atlas_get_measurement (read) and atlas_measure_ping (create).
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?
The description mentions 'Requires: RIPE_ATLAS_API_KEY with appropriate permissions' and implies usage when a measurement is running. It lacks explicit when-not-to-use or alternatives, but the context is clear enough.
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. Dates show when Glama detected each change.
13 tool updates
v1.0.1- First observed
atlas_get_credits - First observed
atlas_get_measurement - First observed
atlas_get_probe - First observed
atlas_get_results - First observed
atlas_list_measurements - First observed
atlas_measure_dns - First observed
atlas_measure_http - First observed
atlas_measure_ntp - First observed
atlas_measure_ping - First observed
atlas_measure_tls - First observed
atlas_measure_traceroute - First observed
atlas_search_probes - First observed
atlas_stop_measurement
TDQS
Each tool has a clearly distinct purpose: credits, individual lookups (measurement, probe), results retrieval, listing, creating specific measurement types (6 distinct tools), probe search, and stopping measurements. No overlaps.
All tools follow a consistent 'atlas_verb_noun' pattern using snake_case (e.g., atlas_get_measurement, atlas_measure_ping, atlas_stop_measurement). The naming is perfectly uniform.
13 tools is well-scoped for the RIPE Atlas domain, covering essential operations (credits, CRUD for measurements, probe search) without unnecessary bloat or missing critical functionality.
Core workflows are covered: credits, measurement creation (all major types), listing, results retrieval, probe search, and stop. Minor gaps like an explicit health check or bulk update are absent but not essential for typical use.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.
- UnifAPIOAuthcom.unifapi
Hosted MCP server for live public-data APIs and Skills for AI agents.
Related MCP Servers
- AlicenseAqualityAmaintenanceA Model Context Protocol server that provides LLM Agents with a comprehensive toolset for IP geolocation, network diagnostics, system monitoring, cryptographic operations, and QR code generation.517318Apache 2.0
- AlicenseAqualityDmaintenanceA Model Context Protocol server that enables AI assistants to make HTTP requests (GET, POST, PUT, DELETE) to external APIs through standardized MCP tools.42MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server for network engineering that provides comprehensive tools for BGP analysis, RPKI validation, and DNSSEC-aware DNS queries. It integrates public data sources like RIPE and Cloudflare Radar with local diagnostic tools to give LLMs structured access to real-time and historical network states.1MIT
- AlicenseNot gradedqualityDmaintenanceModel Context Protocol server that standardizes tool discovery, execution, and context management for AI applications.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jrelph/ripe-atlas-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server