MDK Logo

Supported plugins

The Gateway plugins MDK ships

Overview

A Gateway loads exactly the plugins your stack declares in spec.gateway.plugins[], and nothing else. Nothing here auto-registers: a plugin contributes its routes only when a stack names it. MDK ships the following plugins:

  • Bundled site plugins, ready to use once a stack declares them as @tetherto/mdk-plugins/<name> subpaths
  • Inert plugins, shipped for reference but not wired (declaration does not provide working endpoints)
  • Optional standalone plugins offered through mdk onboard

MDK plugins

Bundled site plugins

site-hashrate

MethodPathDescription
GET/api/site/hashrate-historyFans out telemetry.pull to every registered worker and returns site-level hashrate history aggregated by timestamp. Defaults to last 7 days when start/end are omitted

site-monitor

MethodPathDescription
GET/auth/siteReturns the site name from the gateway config (common.json site)
GET/auth/featureConfigReturns the featureConfig object from the gateway config (common.json featureConfig)
GET/site-monitor/hashratePulls metrics telemetry from every READY worker's devices via the MDK protocol and returns per-device hashrate/power plus site totals

telemetry

MethodPathDescription
GET/auth/metrics/hashrateReturns daily hashrate history and summary for the site. Optionally groups by miner type or container
GET/auth/metrics/consumptionReturns daily power consumption (W and MWh) history and summary for the site
GET/auth/metrics/efficiencyReturns daily mining efficiency (W/TH) history and summary for the site
GET/auth/metrics/miner-statusReturns daily online/offline/sleep/maintenance miner counts and averages
GET/auth/metrics/power-modeReturns miner count by power mode category (low/normal/high/sleep/offline) over time
GET/auth/metrics/power-mode/timelineReturns per-miner power mode segments over a time range, optionally filtered by container
GET/auth/metrics/temperatureReturns max and average temperature per container over time, with site-level aggregates
GET/auth/metrics/containers/{id}Returns latest telemetry snapshot and miner list for a specific container
GET/auth/metrics/containers/{id}/historyReturns historical telemetry log for a specific container

Inert

auth

MethodPathDescription
GET/auth/userinfoReturns the authenticated user's profile from the validated JWT
POST/auth/tokenIssues a new JWT from an existing valid token, optionally scoping TTL and roles
GET/auth/permissionsReturns the permission set encoded in the current token
GET/auth/ext-dataProxies an external data request to the Kernel network by type and optional query filter

Optional plugins

agent

MethodPathDescription
POST/agent/sessionsOpens an agent session bound to the caller's identity
POST/agent/sessions/:id/messagesStreams an agent turn over SSE; write tools pause for an operator's approval
POST/agent/sessions/:id/approvals/:approvalIdApproves or rejects a paused write, resuming or ending the turn
DELETE/agent/sessions/:idDeletes a session owned by the caller

demo

MethodPathDescription
GET/api/demo/summaryFans out metrics telemetry to every registered demo-worker device (fingerprint: hashrate_rt + history) and returns fleet totals plus a per-device breakdown. Aggregation lives here — workers only ever answer for one device
GET/api/demo/historyPulls the demo-worker history telemetry channel (SQLite recent samples: ts, hashrate_ths, power_w, board_temp_c) for every matched device, or a single device when deviceId is set

Next steps

On this page