speedtest-tracker
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | HTTP port used when serving Streamable HTTP. | 3000 |
| MCP_TRANSPORT | No | Transport mode: stdio or http. The --http option overrides this value. | |
| SPEEDTEST_TRACKER_URL | Yes | Required. Origin for the Speedtest Tracker server, http or https, with no userinfo, query, or hash. Example: http://127.0.0.1:8098. | |
| SPEEDTEST_TRACKER_CONTACT | No | Contact token included in the User-Agent. Must not contain the API token. | |
| SPEEDTEST_TRACKER_TOOLSETS | No | Comma-separated list of toolsets, or all. Default is the read-only set results,stats,servers,meta. The run toolset is off by default. | |
| SPEEDTEST_TRACKER_API_TOKEN | Yes | Required. Sent as Authorization: Bearer on authenticated routes. Redacted in logs, errors, and tool results. | |
| SPEEDTEST_TRACKER_PER_MINUTE | No | Local request budget per minute. Cache hits do not spend it. | 30 |
| SPEEDTEST_TRACKER_TIMEOUT_MS | No | Upstream request timeout in milliseconds. | 20000 |
| SPEEDTEST_TRACKER_ALLOW_WRITES | No | Must be the literal true before a confirmed run is sent. Otherwise the run tool returns a dry-run preview and sends nothing. | |
| SPEEDTEST_TRACKER_CACHE_TTL_SEC | No | Read cache TTL in seconds. Writes clear the cache. | 60 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| speedtest_tracker_metaB | speedtest_tracker_meta covers the meta toolset (2 operations). Calls go to SPEEDTEST_TRACKER_URL. These routes are public and send no bearer token. Every request sends Accept: application/json. action help with target returns one action's parameters. Actions: healthcheck, latest. |
| speedtest_tracker_resultsB | speedtest_tracker_results covers the results toolset (3 operations). Calls go to SPEEDTEST_TRACKER_URL. Authenticated routes send Authorization Bearer. Required abilities: results:read. Every request sends Accept: application/json. action help with target returns one action's parameters. Actions: list, get, latest. |
| speedtest_tracker_serversB | speedtest_tracker_servers covers the servers toolset (1 operations). Calls go to SPEEDTEST_TRACKER_URL. Authenticated routes send Authorization Bearer. Required abilities: ookla:list-servers. Every request sends Accept: application/json. action help with target returns one action's parameters. Actions: list. |
| speedtest_tracker_statsB | speedtest_tracker_stats covers the stats toolset (1 operations). Calls go to SPEEDTEST_TRACKER_URL. Authenticated routes send Authorization Bearer. Required abilities: results:read. Every request sends Accept: application/json. action help with target returns one action's parameters. Actions: aggregated. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 4 tools
The four tools are grouped by clear resource areas: meta, results, servers, and stats. The main ambiguity is that both meta and results expose a 'latest' action, and the meta description does not clarify what 'latest' means, which could cause misselection.
All tool names follow a consistent snake_case pattern with the same speedtest_tracker_ prefix and a resource group suffix. This makes the set predictable and easy to scan.
Four tools is a compact and appropriate surface for a speedtest tracker, with each tool representing a coherent resource group. Bundling multiple actions inside each tool keeps the count low without collapsing unrelated domains.
The surface covers read-oriented monitoring: health, latest results, result listing/getting, server listing, and aggregated stats. However, it lacks important lifecycle operations such as triggering a speedtest, deleting or managing results, and creating/updating servers, which may limit common tracker workflows.