Speed Test

Agent Skill

Integrate openByte into AI agents, scripts, and applications. REST API, MCP server, Go SDK, and CLI — all in one binary.

Install Skill

npx skills add https://github.com/saveenergy/openbyte

Or read SKILL.md directly.

MCP Server

Start the MCP server over stdio — agents can call tools directly.

openbyte mcp
Tool Duration Description
connectivity_check ~3-5s Quick latency + burst download/upload. Returns grade A-F.
speed_test configurable Full speed test with direction and duration params.
diagnose ~15-20s Comprehensive: 10 latency samples, 5s download, 5s upload.

API Endpoints

Method Path Description
GET /health Server health check
GET /api/v1/ping Latency + client IP detection
GET /api/v1/download Download speed test (binary stream)
POST /api/v1/upload Upload speed test (binary body)
POST /api/v1/stream/start Start managed test session
GET /api/v1/stream/{id}/status Poll test status + live metrics
GET /api/v1/stream/{id}/results Final test results
POST /api/v1/results Save test results
GET /api/v1/results/{id} Retrieve saved results

Public API — no auth required. Full spec: API.md | OpenAPI 3.1

Go SDK

go get github.com/saveenergy/openbyte/pkg/client

Quick Check (~3-5s)

c := client.New("https://speed.example.com")
result, err := c.Check(ctx)
// result.Interpretation.Grade → "A" through "F"

Full Speed Test

result, err := c.SpeedTest(ctx, client.SpeedTestOptions{
    Direction: "download",
    Duration:  10,
})
// result.ThroughputMbps, result.BytesTotal

Diagnosis (~15-20s)

result, err := c.Diagnose(ctx)
// result.DownloadMbps, result.UploadMbps
// result.Interpretation — full grade + ratings

CLI

Quick Check

openbyte check https://speed.example.com
openbyte check --json          # structured output
# Exit 0 = healthy (A-C), Exit 1 = degraded (D-F)

Full Test

openbyte client -S https://speed.example.com -d download -t 10
openbyte client -S https://speed.example.com -d upload --json

Diagnostic Grades

All results include an interpretation with grade, ratings, and suitability.

Grade Meaning Suitable For
A Excellent Everything: 4K streaming, gaming, video calls, large transfers
B Good HD streaming, video calls, web browsing, moderate transfers
C Fair Web browsing, SD streaming
D Poor Basic browsing only
F Very poor Unusable for most workloads

Install Binary

curl -fsSL https://raw.githubusercontent.com/saveenergy/openbyte/main/scripts/install.sh | sh
go install github.com/saveenergy/openbyte/cmd/openbyte@latest
docker run -p 8080:8080 -p 8081:8081 -p 8082:8082/udp ghcr.io/saveenergy/openbyte:latest server

Full documentation on GitHub