SpeedOf.Me Speed Test MCP

ทางการ

Official SpeedOf.Me server for AI agents - accurate speed tests via 129 global edge servers with analytics dashboard.

@speedofme/mcp

SpeedOf.Me MCP Server - Run accurate internet speed tests from AI agents. Also works as CLI and SDK.

Quick Start

Run speed test (no install)

SOM_API_SECRET=SOM_SECRET_xxx npx -y @speedofme/mcp --progress

JSON output (for scripts)

SOM_API_SECRET=SOM_SECRET_xxx npx -y @speedofme/mcp --json

Or install globally

npm i -g @speedofme/mcp SOM_API_SECRET=SOM_SECRET_xxx speedofme --progress

Windows

set SOM_API_SECRET=SOM_SECRET_xxx && npx -y @speedofme/mcp --progress

Get your free API secret: Register here

Features

  • MCP Server: Model Context Protocol server for AI agent integration (Claude, etc.)
  • CLI: Command-line tool for quick speed tests
  • SDK: Promise-based API for running speed tests programmatically
  • Local History: Stores test results in ~/.speedofme/history.json
  • Analytics Dashboard: View detailed usage reports with device and geo breakdowns at speedof.me/api/portal

Requirements

  • Node.js 18+
  • SpeedOf.Me API account with API Secret

Getting Your API Secret

Log in → API Settings → Generate Secret

Don't have an account? Register here

MCP Server Setup

Add to your MCP client config (Claude Code, Claude Desktop, Cursor, Windsurf, etc.):

{ "mcpServers": { "speedofme": { "type": "stdio", "command": "npx", "args": ["-y", "@speedofme/mcp"], "env": { "SOM_API_SECRET": "SOM_SECRET_xxx" } } } }

Restart your MCP client, then ask the AI to run a speed test!

Available MCP Tools

ToolDescription
run_speed_testRun speed test with optional params
get_test_historyGet historical test results

run_speed_test Parameters

ParameterTypeDefaultDescription
testsstring[]allTests to run: download, upload, latency
sustainTimenumber6Seconds per sample (1-8)

Example Response

{ "testId": "abc123", "download": 150.5, "upload": 45.2, "latency": 12, "jitter": 2.3, "testServer": "San Jose", "timestamp": "2025-01-15T10:30:00Z" }

Available MCP Resources

ResourceDescription
speedofme://historyRecent test results (JSON)
speedofme://configSDK configuration and status

CLI Usage

Run speed tests from the command line.

  • npx: npx -y @speedofme/mcp [options]
  • Global install: speedofme [options]

Set your API secret

export SOM_API_SECRET=SOM_SECRET_xxx

Run speed test with progress

npx -y @speedofme/mcp --progress

Run specific tests only

npx -y @speedofme/mcp --tests download,latency

Adjust sustain time (1-8 seconds, default: 6)

npx -y @speedofme/mcp --sustain 4

View test history

npx -y @speedofme/mcp history npx -y @speedofme/mcp history --limit 5

Clear history

npx -y @speedofme/mcp history --clear

Help and version

npx -y @speedofme/mcp --help npx -y @speedofme/mcp --version

CLI Options

OptionDescription
--secret API secret (or set SOM_API_SECRET env var)
-p, --progressShow progress during test
-j, --jsonOutput results as JSON
--tests Tests to run: download,upload,latency (default: all)
--sustain Sustain time per sample 1-8 seconds (default: 6). Maps to sustainTime in SDK/MCP.
-h, --helpShow help
-v, --versionShow version

History Subcommand Options

OptionDescription
--limit Number of results to show (default: 10)
--clearClear all history

SDK Usage

const { SpeedTest } = require('@speedofme/mcp');

const test = new SpeedTest({ apiSecret: process.env.SOM_API_SECRET, sustainTime: 6 // optional, 1-8 seconds });

// Progress callback (optional) test.onProgress = (progress) => { console.log(progress); };

// Run full test const result = await test.run(); console.log(result); // { // testId: 'uuid', // download: 150.5, // Mbps // upload: 45.2, // Mbps // latency: 12, // ms // jitter: 2.3, // ms // testServer: 'San Jose', // timestamp: '2025-01-15T10:30:00Z' // }

// Run specific tests only const downloadOnly = await test.run({ tests: ['download'] });

// Run latency-only test (fastest) const latencyOnly = await test.run({ tests: ['latency'] });

Installation (Optional)

Install globally for frequent use:

npm install -g @speedofme/mcp

Or add to your project:

npm install @speedofme/mcp

History Management

const { getHistory, clearHistory } = require('@speedofme/mcp');

// Get recent results const history = getHistory({ limit: 10 });

// Get results from last 7 days const recent = getHistory({ since: new Date(Date.now() - 7 * 24 * 60 * 60 * 1000).toISOString() });

// Clear all history clearHistory();

History is stored in ~/.speedofme/history.json with a 1MB cap (~2,600 results).

Configuration Options

OptionTypeDefaultDescription
apiSecretstring(required)API secret from portal
sustainTimenumber6Seconds to sustain each sample (1-8). Lower = faster, higher = more accurate
supportGbTestbooleanfalseEnable gigabit test mode
maxTestPassnumber0Max download passes (0 = no limit)
saveHistorybooleantrueSave results to local history

Analytics Dashboard

All test results are automatically sent to your SpeedOf.Me dashboard where you can:

  • View usage statistics over time
  • See geographic distribution of tests
  • Analyze device and platform breakdowns
  • Monitor API usage against your plan limits

Visit speedof.me/api/portal to access your dashboard.

Links

License

This package is proprietary software. Unauthorized use, copying, or distribution is prohibited.

เซิร์ฟเวอร์ที่เกี่ยวข้อง

NotebookLM Web Importer

นำเข้าหน้าเว็บและวิดีโอ YouTube ไปยัง NotebookLM ด้วยคลิกเดียว ผู้ใช้กว่า 200,000 คนไว้วางใจ

ติดตั้งส่วนขยาย Chrome