{
  "markdown": "# SpeedOf.Me MCP Server\n\nOfficial MCP server for [SpeedOf.Me](https://speedof.me). Lets an AI agent run a real internet\nspeed test and read the result: download, upload, latency and jitter, measured against 130+ global\nedge servers.\n\n[![npm version](https://img.shields.io/npm/v/@speedofme/mcp.svg)](https://www.npmjs.com/package/@speedofme/mcp)\n[![MCP Registry](https://img.shields.io/badge/MCP%20Registry-me.speedof%2Fspeed--test-blue)](https://registry.modelcontextprotocol.io/v0/servers?search=me.speedof)\n[![GitHub MCP Registry](https://img.shields.io/badge/GitHub%20MCP%20Registry-listed-181717?logo=github)](https://github.com/mcp/me.speedof/speed-test)\n[![Node](https://img.shields.io/badge/node-%3E%3D18-brightgreen)](https://nodejs.org)\n\n```\n\"How fast is my connection right now?\"\n→ 187.4 Mbps down / 41.2 Mbps up / 11 ms latency / 1.8 ms jitter (San Jose)\n```\n\n## Tools\n\n| Tool | What it does |\n|------|--------------|\n| `run_speed_test` | Runs a live speed test and returns download, upload, latency and jitter |\n| `get_test_history` | Returns previous results from local history |\n\n| Resource | Contents |\n|----------|----------|\n| `speedofme://history` | Recent test results (JSON) |\n| `speedofme://config` | Current configuration and status |\n\n## Quick start\n\n**1. Get a free API secret**\n\n[Register](https://speedof.me/api/portal/register.php), then open\n[Integrations](https://speedof.me/api/portal/settings.php?tab=integrations) and generate a secret.\n\n**2. Add the server to your MCP client**\n\n```json\n{\n  \"mcpServers\": {\n    \"speedofme\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@speedofme/mcp\"],\n      \"env\": {\n        \"SOM_API_SECRET\": \"SOM_SECRET_xxx\"\n      }\n    }\n  }\n}\n```\n\nClaude Code, one command:\n\n```bash\nclaude mcp add speedofme --env SOM_API_SECRET=SOM_SECRET_xxx -- npx -y @speedofme/mcp\n```\n\nVS Code (Copilot) uses `servers` instead of `mcpServers` in `.vscode/mcp.json`; the rest of the\nblock is identical. Cursor, Windsurf, Zed, Cline, Continue, JetBrains and Goose all take the JSON\nabove. Client-specific configs and agent-framework examples (LangChain, LlamaIndex, AutoGen,\nCrewAI, Semantic Kernel) are in the\n[integration docs](https://speedof.me/api/docs/#mcp-integrations).\n\n**3. Restart the client and ask for a speed test.**\n\n## Tool reference\n\n### `run_speed_test`\n\n| Parameter | Type | Default | Description |\n|-----------|------|---------|-------------|\n| `tests` | string[] | all | Which tests to run: `download`, `upload`, `latency` |\n| `sustainTime` | number | 6 | Seconds to sustain each sample (1-8). Lower is faster, higher is more accurate |\n| `testTimeout` | number | 300 | Wall-clock cap for the whole run, in seconds. 0 disables, min 30, max 1800 |\n\nThe tool replies with formatted text. The underlying result looks like this:\n\n```json\n{\n  \"testId\": \"abc123\",\n  \"download\": 150.5,\n  \"upload\": 45.2,\n  \"latency\": 12,\n  \"jitter\": 2.3,\n  \"testServer\": \"San Jose\",\n  \"timestamp\": \"2026-08-18T10:30:00Z\"\n}\n```\n\nSpeeds are Mbps, latency and jitter are milliseconds.\n\n### `get_test_history`\n\n| Parameter | Type | Default | Description |\n|-----------|------|---------|-------------|\n| `limit` | number | 10 | Maximum number of results |\n| `since` | string | none | ISO date string. Only results after this time |\n\nHistory is stored locally in `~/.speedofme/history.json`, capped at 1 MB (roughly 2,600 results).\n\n## Also a CLI\n\nThe same package runs standalone, no MCP client required:\n\n```bash\nSOM_API_SECRET=SOM_SECRET_xxx npx -y @speedofme/mcp --progress   # human readable\nSOM_API_SECRET=SOM_SECRET_xxx npx -y @speedofme/mcp --json       # for scripts\nnpx -y @speedofme/mcp history --limit 5                          # past results\nnpx -y @speedofme/mcp --help\n```\n\nAnd as a Node SDK:\n\n```javascript\nconst { SpeedTest } = require('@speedofme/mcp');\n\nconst test = new SpeedTest({ apiSecret: process.env.SOM_API_SECRET });\nconst result = await test.run();          // { download, upload, latency, jitter, ... }\n```\n\nFull CLI and SDK options are documented on\n[npm](https://www.npmjs.com/package/@speedofme/mcp).\n\n## How the measurement works\n\nSpeedOf.Me has measured what we call Real-World Speed the same way since 2011. Rather than\nblasting a fixed payload, the test downloads progressively larger samples, starting at 128 KB, until\none takes longer than the sustain time (6 seconds by default), and reports the rate of that final\nsample. Upload works the same way in reverse, and latency and jitter come from 10 round-trip\nsamples. Tests run against the nearest of 130+ edge locations, so an agent gets the same number a\nperson would see in the browser.\n\nEvery test also lands in your [dashboard](https://speedof.me/api/portal/) with geographic, device\nand platform breakdowns, and usage against your plan.\n\nDetails: [how it works](https://speedof.me/how-it-works).\n\n## Requirements\n\n- Node.js 18 or newer\n- A SpeedOf.Me API account and secret (free tier available)\n\n## About this repository\n\nThis repo is the home of the MCP server: documentation, the registry entry (`server.json`) and\nthe issue tracker. The server itself is distributed as the\n[`@speedofme/mcp`](https://www.npmjs.com/package/@speedofme/mcp) npm package and its source is not\npublished here.\n\nFound a bug or want a tool added? Open an issue, or email support@speedof.me.\n\n## Links\n\n- [npm package](https://www.npmjs.com/package/@speedofme/mcp)\n- [Get started](https://speedof.me/api)\n- [API portal](https://speedof.me/api/portal/)\n- [API docs](https://speedof.me/api/docs/)\n- [Status](https://speedofme.statuspage.io)\n\n## License\n\nThe `@speedofme/mcp` package is proprietary software of Speed of Me, LLC. Unauthorized copying or\nredistribution is prohibited. The documentation in this repository is provided for use with the\nSpeedOf.Me API.\n",
  "bytes": 5795,
  "sha": "b8603c756e24702a5b2997862fc34f1d882546046066c4aedf50b5f1cf345b32",
  "repo_slug": "speedofme/speedofme-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_me_speedof_speed_test_9ddd81b8/readme"
}