Mug

Everything you need to build AI automation

Custom agents Scheduled + triggered workflows Surface interfaces

locally with your coding agent

ClaudeClaude Codex Cursor + MugMug CLI Agent Kit

that works with any system

Connect any API Sync on schedule AI-native SQLite

without a new app.

SMS Slack

Build locally with your coding agent

ClaudeClaude Codex Cursor + MugMug CLI Agent Kit

Mug lets you build just like you would any other project — locally with Claude, Codex, or Cursor, using the AI subscription you already pay for. No extra limitations or token budgets to deal with.

1 package, everything your agent needsnpm install @mugwork/mug Mug CLI, Claude, Codex, Cursor skills, & all Mug platform docs — all auto-updated anytime you use the CLI.
Skills + docs to do it allAgent Kit includes all the skills and docs any cold agent needs to learn how to build anything in Mug in minutes.
Build with real codeTypeScript for workflows, SQL for data, JSON for configuring AI agents and surfaces, and Markdown for agent instructions and skills.
Workspaces are reposUse mug push and mug pull commands to easily move code, files, and databases between the cloud and your computer.
Cloudflare
Deploy to CloudflareMug runs on Cloudflare with 100% tenant isolation. One workspace never touches another.
GitHub
Backup to GitHubOptionally sync Mug workspaces to GitHub for full git functionality.
acme-inc-workspace/
├── .agents/
│ └── skills/
├── .claude/
│ └── skills/
├── .cursor/
│ └── rules/
├── .mug/
│ └── docs/
├── agents/
│ ├── dispatch-agent/
│ │ ├── agent.json
│ │ ├── BRAIN.db
│ │ ├── SOUL.md
│ │ └── skills/
│ ├── invoice-agent/
│ │ ├── agent.json
│ │ ├── BRAIN.db
│ │ ├── SOUL.md
│ │ └── skills/
│ └── shared-skills/
├── connectors/
├── databases/
├── files/
├── surfaces/
├── workflows/
├── AGENTS.md
├── CLAUDE.md
├── mug.json
├── slack.json
└── package.json

Ship workflows, not another app

Surfaces Slack SMS Web Mobile

No one wants a new app. People want AI automation that works where they already work. Mug uses headless "click and close" web surfaces and a custom Slack app to reach people where they already are, on any device.

Surfaces: lightweight, works anywhereForms, portals, dashboards — anything a human needs to look at and click. Configure a few lines of JSON and deploy, no UI design necessary.
Slack app builds itselfEvery agent and workflow you create in Mug automatically gets wrapped in a custom Slack app you can install in a couple clicks.
Chat, slash, blockIn Slack, DM your Mug agents, trigger workflows with slash commands, and use Slack's Block Kit for interactive flows inside Slack.
Email + SMS loginSurfaces support user login via email or SMS, letting you build personalized, secure interfaces.
Add to home screenSurfaces are progressive web apps. Users are auto-prompted to save to their home screen for an app-like experience, without the app store.
Notify anyone anywhereMug has Resend and Twilio built-in to easily notify anyone across email, SMS, and Slack.

Integrate data from everywhere

Connect any API Sync on schedule AI-native SQLite

Mug connects to any API you and your coding agent can build a connector for. Sync a read-only copy of live business data into Mug to build agents and workflows on top.

Connector skillMug CLI ships with a multi-step skill for walking your agent through researching and/or building OpenAPI specs to build a connector for any API.
Sync on scheduleConnectors pull data on the interval you set — up to every minute on Business plans. Only records that have changed since last sync are processed.
AI-native SQLiteSynced data is stored as SQLite, a format agents can work with natively.
Break down data silosOnce data is synced into Mug, it's simple SQL to join records across any table or database, regardless of the source.
Upload files + foldersUpload files and folders directly in your Mug workspace to be used by agents and utilized in workflows alongside business data.
Selective editingAny external edits to data happen through separate workflows outside the sync process. Mug never bulk updates external data.
quickbooks
client-finance
Tables synced
invoicespk: invoice_id2,847 rows
paymentspk: payment_id1,923 rows
customerspk: customer_id412 rows
SELECT c.name, i.amount, i.due_date, j.status FROM "client-finance".invoices i JOIN "field-ops".jobs j ON j.customer_id = i.customer_id JOIN "crm".contacts c ON c.id = i.customer_id WHERE i.due_date < date('now') AND i.status = 'unpaid' ORDER BY i.amount DESC;

Design and deploy custom agents

Soul Skills Memory Tools 150+ Models

Mug lets you build custom AI agents running any of the models supported by Cloudflare AI Gateway. Mug agents are similar to OpenClaw or Hermes agents (soul, skills, memory, tools), except they run inside scheduled or triggered workflows, making them easy to deploy, update, and keep token usage under control.

Build agents with agentsMug's CLI Agent Kit includes everything your coding agent needs to build a Mug agent from scratch, including deploying to the cloud.
Agents run in workflowsAlways-on agents burn through tokens just waiting for work. Mug agents "turn on" when a scheduled or triggered workflow pings them, then go back to sleep until they're pinged again.
Souls, skills, and brainsMug agents have a SOUL.md file for identity, a BRAIN.db database for memory, a folder of skills unique to that agent, and a shared folder of skills shared by every agent in your Mug workspace.
Journaling and mantrasAgents write journal entries for anything insightful they learn during their work to develop their own "mantra" — a summary of the most critical context they accumulate over their lifetime.
Deep toolboxMug agents can query data with SQL, run vector search and full RAG over docs, send emails, SMS, and Slack, call APIs, and even trigger other workflows.
Smart routing + BYOKSet 3 fast / balanced / powerful models for an agent or workflow, then Mug automatically routes to the right tier based on task complexity. Optionally bring your own API keys to skip Mug's AI credit system entirely.
agents/
├── dispatch-agent/
│ ├── agent.json
│ ├── BRAIN.db
│ ├── SOUL.md
│ └── skills/
│ ├── triage-requests.md
│ └── route-to-team.md
├── invoice-agent/
│ ├── agent.json
│ ├── BRAIN.db
│ ├── SOUL.md
│ └── skills/
│ ├── reconcile-payments.md
│ └── flag-overdue.md
└── shared-skills/
├── company-policies.md
└── escalation-rules.md
AnthropicAnthropic
OpenAIOpenAI
GoogleGoogle
xAIxAI
MetaMeta
DeepSeekDeepSeek

Automate anything with real code + AI

Webhooks API Actions Branching AI Orchestration

Mug workflows run on a schedule, trigger automatically based on activity, or get invoked by an AI agent, all powered by TypeScript code written by you and your coding agent.

Cron schedulingSchedule workflows to run when you need them — Fridays at 9am, 3rd Tuesday of the month, every 15 mins from 2-4pm on Wednesdays.
Trigger by activityWorkflows can fire when synced data changes, when an inbound webhook hits your workspace, or when an email arrives to your Mug agent's custom email address.
Slack slash commandsEvery workflow you create can be triggered by someone in Slack. They type a slash command, and the workflow runs.
Agents as routersMug agents can run as workflow steps — reading data, making decisions, and routing the workflow down different branches based on what they find. An agent can even kick off a separate workflow entirely.
API actions + rollbackWorkflows can push data back to any connected API or fire outbound webhooks to trigger actions on other platforms. Mug automatically snapshots every record before changing it, so any action can be easily rolled back.
Durable executionEvery workflow step is checkpointed. If something fails mid-run, only that step retries — all prior work is preserved. Auto-retry with exponential backoff, version history on every edit.
weekly-invoice-followup
Query overdue invoicesquery
Agent drafts follow-up emailsai
Wait for manager approvalexec
Send personalized emailsemail
SMS alert to account ownersms
import { workflow } from "@mugwork/mug"; workflow("invoice-followup", async (ctx) => { const overdue = await ctx.query("finance", "SELECT * FROM invoices WHERE status = 'unpaid' AND due_date < date('now')"); const drafts = await ctx.agent("followup-writer", { goal: "Draft follow-up emails for " + overdue.length + " overdue invoices", }); await ctx.waitFor("manager-approval"); for (const draft of drafts.output) { await ctx.notify.email(draft); } });

Mug
Add AI automation, without adding friction

Mug for companies

Mug for Companies

The fastest, most flexible platform for building
AI automation at your company

Mug for consultants

Mug for Consultants

The highest leverage platform for building
AI automation for your clients