Skip to main content
Modules are the building blocks of MobKit’s operational layer. Each module is an MCP server or subprocess executable that provides a specific capability — routing, delivery, scheduling, gating, or memory. MobKit supervises their lifecycle and routes calls to them.

Module configuration

A module is defined by a ModuleConfig:

Restart policies

Discovery

Modules are discovered through a DiscoverySpec that declares a namespace and the modules expected in that namespace:
At bootstrap, MobKit verifies that every declared module is present in the configuration. Missing modules cause a startup error.

Pre-spawn environment

Modules can receive environment variables before spawning:
This is useful for injecting secrets or connection strings without hardcoding them in the module command.

Core modules

MobKit ships with five core module types, each backed by an MCP server: Each core module communicates with the runtime over MCP tool calls. Non-MCP modules use the JSON-line subprocess protocol.

Module health

Modules go through health state transitions tracked by the supervisor: Health transitions are emitted as module events in the unified event stream.

Trusted modules

For production deployments, modules can be declared in a mobkit.toml trust manifest:
Load trusted modules with:
Only modules declared in the trust manifest are accepted. This prevents untrusted code from being loaded as a module.

See also