Agents
Named operators with their own instructions, model, tools, skills, and memory. The unit you compose everything else around.
Agents and loops you build, driven from the CLI, the API, or a single invoke endpoint, with cost and models under your control. Durable by default, so a run survives restarts, retries, and the wait for a human.
Nine concepts do most of the work. Build agents and loops, connect events and tools, drive everything from the CLI, the API, or a single invoke endpoint, and keep control of cost and where your models run.
Named operators with their own instructions, model, tools, skills, and memory. The unit you compose everything else around.
Runs that start on a schedule or an event, with durable execution, retries, and a concurrency policy. The always-on side of an agent.
Webhooks, schedules, and API calls all arrive as the same event shape, so your loops trigger the same way no matter what woke them.
Bring any MCP server. Its tools land in the same toolkit as the managed integrations, and your agents pick them up like any other tool.
Drive everything from your terminal or CI. The whole API, generated into commands, plus auth and a local worker.
$ mobius runs startA typed REST API for every resource: agents, loops, runs, sessions, tables. OpenAPI spec, with generated Python, TypeScript, and Go clients.
POST /v1/.../loops/{id}/runsOne call runs an agent and streams the session back. It returns instantly with a durable cursor or streams over SSE, and it is idempotent so a webhook can retry safely.
POST /v1/.../agents/invokePer-run cost ceilings and spend visibility, plus step and turn timeouts. No runaway bills and no runaway loops.
Run your own models on a worker, from an Ollama deployment to a private endpoint, so model traffic and data stay on your network.
A demo agent runs once, in the foreground, while you watch. A production agent runs unattended for minutes or days. That gap is durable execution, and it is built in.
State persists at every step boundary. If the service crashes mid-run, a restart resumes from the last checkpoint.
Configurable retry counts and backoff per step. Transient failures resolve themselves; persistent ones surface clearly.
Sleep until a time, or wait for an event. A suspended run releases its resources and picks back up when the condition resolves.
Step starts, tool calls, action results, waits, and artifacts are all in the event stream, live over SSE or after the fact.
Register an action once. An agent can call it as a tool mid-reasoning, or the next step can call it deterministically. Reasoning where you want judgment, determinism where you want a guarantee.
An agent decides during its turn that it needs to send a Slack message, so it calls slack.post as a tool. The agent reasons, the result returns into its context.
Another loop posts the same message every weekday at nine. It calls slack.post as a deterministic step with rendered parameters and no model in the loop.
A worker is a small program you run on your own hardware. The agent loop runs in Mobius; tool calls, actions, and even model calls route to your worker and execute locally.
The worker dials Mobius over a long-lived outbound connection. Your firewall stays closed and no public endpoint is exposed.
Private code, sensitive data, and internal systems stay on the machine where the worker runs. Only results flow back.
Route LLM calls through your worker, from an Ollama deployment to a private inference endpoint, so model traffic stays on your network.
You bring the who and the what. Mobius handles the how: durable execution, memory, budgets, human review, and everything else that keeps a reliable agent running. That runtime is the part you would otherwise build and maintain yourself.
Start free in minutes, no credit card required. Or read the docs and wire your first loop.