Enables AI models and agents to perform internet speed measurements using an incremental testing approach for download, upload, and latency measurements.
Four tools with clear naming (verb_noun pattern: test_*) and reasonable descriptions (120-180 chars). All tools have input schemas with type definitions. However, parameter descriptions are sparse or missing entirely. No output schemas documented. Error handling guidance absent. Parameters lack constraints (enums, ranges, format specs). No indication of idempotency, retry safety, or side effects. Schemas present but incomplete per production baseline (100% of A+ tools document return types; 0% here).
Measures internet download speed by progressively downloading files of increasing size until the download takes more than 8 seconds, then calculates the speed based on the final sample.
Performs a comprehensive internet speed test including download speed, upload speed, and latency measurements in a single call.
Measures internet latency (ping) by sending multiple requests to a test endpoint and calculating minimum, maximum, and average response times.
Measures internet upload speed by progressively uploading data of increasing size until the upload takes more than 8 seconds, then calculates the speed based on the final sample.
No output schemas documented. LLMs cannot plan downstream calls or extract structured results. Baseline: 100% of A+ tools document return types.
Parameter descriptions missing or minimal. 'urls' param in test_download_speed has description but 'url' in test_upload_speed lacks detail on format/constraints. Baseline: 100% of A+ tool params have descriptions.
No error handling guidance. Tools call external endpoints (GitHub, Cloudflare) but provide no recovery hints. If a download fails, LLM has no guidance on retry strategy or fallback.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |
No parameter constraints (enums, ranges, patterns). 'num_requests' in test_latency accepts integer but no min/max specified. LLMs may pass 0, negative, or absurdly large values.
No idempotency or side-effect declarations. Tools make external HTTP calls but descriptions do not clarify if repeated calls are safe or if they incur costs/rate limits.