MDK Logo

Packages

Every package in the MDK monorepo, grouped into Core, Extensions, UI, and Tools, with what each is for and how to get it

Overview

This page lists every package in the MDK monorepo. Core is the Kernel, the Gateway, and the runtimes around them. Extensions are the Workers and Apps that connect MDK to hardware, pools, and agents. UI is the browser toolkit, and Tools are what you develop with.

Availability says how you get a package:

  • workspace: private to the monorepo, used from a clone
  • publishable: not marked private, so it can be published to a registry

Core

PackagePurposeAvailability
@tetherto/mdk-agentMDK operator agent — headless loop over a local (QVAC) model, consuming MDK tools via MCPworkspace
@tetherto/mdk-app-runtimeMDK app runtime: runs one app's controllers in its own process and serves them over HRPCpublishable
@tetherto/mdk-clientMDK protocol client — HRPC (RPC listener) transport for Kernelpublishable
@tetherto/mdk-coreMDK bootstrap utilities and worker-infra services — kernel/gateway lifecycle plus injectable log/comment/alert/stats/settings/provisioning services for runtime-hosted workerspublishable
@tetherto/mdk-gatewayMDK Gatewaypublishable
@tetherto/mdk-kernelMDK Kernel - Orchestration Kernelpublishable
@tetherto/mdk-mcpMDK MCP Serverpublishable
@tetherto/mdk-workerMDK Worker Runtime — hosts a Worker Plugin's devices behind one HRPC channel to the Kernelpublishable

Extensions

Miners

NamePackagePurposeModelsAvailability
Avalon@tetherto/mdk-worker-avalonControls Canaan Avalon Bitcoin miners over the CGMiner ASCII APIA1346workspace

Containers

NamePackagePurposeModelsAvailability
Antspace@tetherto/mdk-worker-antspaceControls Antspace container cooling systemsHK3, IMMworkspace
Bitdeer@tetherto/mdk-worker-bitdeerControls Bitdeer D40 immersion containersD40-A1346, D40-M30, D40-M56, D40-S19XPworkspace

Power meters

NamePackagePurposeModelsAvailability
ABB@tetherto/mdk-worker-abbReads ABB power meters via Modbus TCPB23, B24, M1M20, M4M20, REU615workspace
SATEC@tetherto/mdk-worker-satecReads SATEC PM180 power meters via Modbus TCPPM180workspace
Schneider Electric@tetherto/mdk-worker-schneiderReads Schneider Electric power meters via Modbus TCPP3U30, PM5340workspace

Sensors

NamePackagePurposeModelsAvailability
Seneca@tetherto/mdk-worker-senecaReads Seneca Z-4RTD-2 temperature sensors via Modbus TCPZ-4RTD-2workspace

Mining pools

NamePackagePurposeModelsAvailability
F2Pool@tetherto/mdk-worker-f2poolReports F2Pool mining pool account data: hashrate, workers, balances and revenueF2POOL-BTCworkspace
Ocean@tetherto/mdk-worker-oceanReports Ocean.xyz mining pool account data: hashrate, workers, balances and revenueOCEAN-BTCworkspace

Plugins and tooling

PackagePurposeAvailability
@tetherto/mdk-app-agentMDK agent app: auth-gated chat sessions, SSE streams and approval round-trips behind the Gatewayworkspace
@tetherto/mdk-worker-mockGeneric mock framework for MDK device workers (BaseMock + transport adapters)workspace

UI

PackagePurposeAvailability
@tetherto/mdk-react-adapterReact framework adapter for @tetherto/mdk-ui-foundation. Binds Zustand vanilla stores and TanStack QueryClient to React-native hooks. No Reduxpublishable
@tetherto/mdk-react-devkitMDK Devkit (React) — generic UI primitives (src/primitives) plus mining-domain components, hooks, and state bindings (src/domain)publishable
@tetherto/mdk-ui-agentInjectable operator Co-pilot chat UI for the MDK agent app. Streams the six-event agent contract over SSE and renders it as a docked panel or a full-page routepublishable
@tetherto/mdk-ui-foundationFramework-agnostic headless foundation for the MDK Devkit. Currently exposes Zustand vanilla stores and a TanStack QueryClient factory. No Reactpublishable

Tools

PackagePurposeAvailability
@tetherto/mdk-cliMDK command-line tool: onboard, scaffold, run and inspect an MDK stackpublishable
@tetherto/mdk-skillMDK Developer Skill Suite — Agent Skills (SKILL.md) bundle assembled from the MDK monorepo's real artifacts and versioned to track the MDK release line. Copy-only assembler: each library owns its artifacts, this package curates them into dist/skills/ and installs them flat into .cursor/skills/ or .claude/skills/publishable

Next steps

On this page