run_complete_test
Perform a comprehensive internet speed test measuring download, upload, latency, and jitter in one operation using smart incremental file sizes for accurate results.
Instructions
Run a complete speed test returning all metrics in a single call.
This test uses the smart incremental approach inspired by SpeedOf.Me:
- First measures download speed with gradually increasing file sizes
- Then measures upload speed with gradually increasing data sizes
- Measures latency and jitter
- Returns comprehensive results with real-time data
Args:
max_size: Maximum file size to test (default: 100MB)
url_upload: URL for upload testing
url_latency: URL for latency testing
Returns:
Complete test results including download, upload, latency and jitter metrics
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| max_size | No | 100MB | |
| url_latency | No | https://httpi.dev/get | |
| url_upload | No | https://httpi.dev/post |
Input Schema (JSON Schema)
{
"properties": {
"max_size": {
"default": "100MB",
"title": "Max Size",
"type": "string"
},
"url_latency": {
"default": "https://httpi.dev/get",
"title": "Url Latency",
"type": "string"
},
"url_upload": {
"default": "https://httpi.dev/post",
"title": "Url Upload",
"type": "string"
}
},
"title": "run_complete_testArguments",
"type": "object"
}
Implementation Reference
- mcp_internet_speed_test/main.py:761-797 (handler)The handler function for 'run_complete_test' tool. Decorated with @mcp.tool() for registration. Orchestrates calls to other tools: measure_download_speed, measure_upload_speed, measure_latency, measure_jitter, and combines results.@mcp.tool() async def run_complete_test( max_size: str = "100MB", url_upload: str = DEFAULT_UPLOAD_URL, url_latency: str = DEFAULT_LATENCY_URL, ) -> dict: """ Run a complete speed test returning all metrics in a single call. This test uses the smart incremental approach inspired by SpeedOf.Me: - First measures download speed with gradually increasing file sizes - Then measures upload speed with gradually increasing data sizes - Measures latency and jitter - Returns comprehensive results with real-time data Args: max_size: Maximum file size to test (default: 100MB) url_upload: URL for upload testing url_latency: URL for latency testing Returns: Complete test results including download, upload, latency and jitter metrics """ download_result = await measure_download_speed(max_size) upload_result = await measure_upload_speed(url_upload, max_size) latency_result = await measure_latency(url_latency) jitter_result = await measure_jitter(url_latency) return { "timestamp": time.time(), "download": download_result, "upload": upload_result, "latency": latency_result, "jitter": jitter_result, "test_methodology": "Incremental file size approach with 8-second threshold", }
- mcp_internet_speed_test/main.py:761-761 (registration)The @mcp.tool() decorator registers the 'run_complete_test' function as an MCP tool.@mcp.tool()
- Docstring provides input parameters and return type description, used for schema inference in FastMCP.""" Run a complete speed test returning all metrics in a single call. This test uses the smart incremental approach inspired by SpeedOf.Me: - First measures download speed with gradually increasing file sizes - Then measures upload speed with gradually increasing data sizes - Measures latency and jitter - Returns comprehensive results with real-time data Args: max_size: Maximum file size to test (default: 100MB) url_upload: URL for upload testing url_latency: URL for latency testing Returns: Complete test results including download, upload, latency and jitter metrics """