
daemon
Updated todayby moadim-io
moadim
Loop engineering, on a schedule. Stop prompting your agents — design the loop that prompts them.
Agent routines that run while you sleep. One port. Three interfaces. Zero drift.
Set the loop. Forget the keyboard. moadim fires the prompt so you don't have to.
One-line install — install Rust/Cargo, install moadim, then run it:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && . "$HOME/.cargo/env" && cargo install --locked moadim && moadim
Rust server that schedules routines (run an AI agent on a cron schedule), exposing them over three interfaces simultaneously:
- UI (
http://localhost:5784/) — browser dashboard for managing routines - REST (
http://localhost:5784/api/v1) — standard HTTP API for browsers, CLI tools, and services; Swagger UI at/docs - MCP (
http://localhost:5784/mcp) — Model Context Protocol for AI agents (Claude, etc.)
All three share the same port. Routines created through any interface are
automatically synced to the OS crontab so they actually run on schedule. See
Routines for the agent-loop engine, or
docs/comparison.md for how moadim compares to cron,
GitHub Actions, and other agent runners.
Prerequisites
moadim depends on a few external tools at runtime, in addition to Rust/Cargo for building and installing:
| Tool | Required for | Install |
|---|---|---|
| Rust/Cargo | building and installing moadim | https://rustup.rs |
tmux | launching routine agents — every scheduled routine starts its agent inside a tmux session. Without tmux, routine runs silently fail to launch. | brew install tmux (macOS) · apt install tmux (Debian/Ubuntu) |
crontab | scheduling — moadim writes managed routines into the OS crontab so they fire on schedule | preinstalled on macOS; apt install cron (Debian/Ubuntu) |
The daemon reports whether tmux and python3 resolve on its PATH in
GET /api/v1/health (under dependencies) and logs a warning at startup when
either is missing, so a misconfigured host is easy to spot. See the built-in
claude agent's prerequisites below for why python3 matters.
Installation
cargo install --locked moadim
--locked installs the exact dependency graph published and tested with this
release (from the crate's Cargo.lock) instead of re-resolving every dependency
to the newest semver-compatible version at install time — so a bad or breaking
transitive bump can't fail an otherwise-unchanged install.
Prefer a prebuilt binary over compiling from source? Each release publishes
binary archives (with a SHA256 checksum) for macOS (Apple Silicon and Intel)
and Linux x86_64. Install one with cargo binstall
(no Rust toolchain compile required):
cargo binstall moadim
Node/npm users can install the same prebuilt binaries through npm. The npm
package is a thin wrapper over per-platform optional binary packages; it does
not run cargo install during installation, and every npm package version is
kept in lockstep with the Rust crate version:
npm install -g moadim
moadim --version
...or download the archive for your platform directly from the Releases page.
If moadim is not found after install, add Cargo's bin directory to your PATH:
Related servers

n8n
Updated todayby n8n-io
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

mcp-server-fetch
OfficialUpdated 14d agoA Model Context Protocol server providing tools to fetch and convert web content for usage by LLMs

@modelcontextprotocol/server-everything
OfficialUpdated 14d agoMCP server that exercises all the features of the MCP protocol