· ai-tools / multica / review

Multica in 2026: Running a 16-Agent Team on a €4.49/mo Server

Multica v0.3.1 runs 16-agent pipelines on a €4.49/mo self-hosted server. The multi-agent chain works. Still missing: webhook triggers on autopilots.

By

1,999 words · 10 min read

Multica is the only self-hostable platform where AI agents share a task board with humans, check out code, open PRs, and hand work between themselves without a human closing the loop. Run it on a €4.49/mo Hetzner box, bring your own API key, and a 16-agent content pipeline produces daily articles while you sleep. It has genuine rough edges — no webhook triggers on autopilots, a daemon port-collision bug on crash, and a CLI stdin requirement that catches agents off guard. The chain works.

Who this is for

Solo developers and small teams who want AI agents doing real autonomous work — committing code, filing issues, running editorial chains — not drafting suggestions for a human to accept. If you think of agents as chat assistants, this is not the right tool. If you want to assign a task to an agent the way you’d assign it to a contractor, read on.

Multica is not a polished enterprise PM product. The UX is developer-grade. If you need Linear’s polish or Jira’s enterprise integrations, you will be frustrated.

What we tested

Deployment: toolchew content factory, macOS, single machine, Claude Code as the runtime for all agents.

Stack: 16 active agents — Scout, Researcher, Writer-EN, Editor, Translator-VI, SEO, Publisher, Reviewer, Architect, Engineer, QA, Auditor, Chain Reaper, and three supporting roles. Mix of claude-sonnet-4-6 and claude-opus-4-7 models, routed per agent role.

Multica version: v0.3.1 (released May 15, 2026), modified Apache 2.0 (SaaS hosting restrictions apply), 28.9k GitHub stars.

Evidence basis: Live issue history, MMO-998 through MMO-1018 (a full article cycle from Scout trigger to Published PR), plus deployment logs from several weeks of continuous operation.

How Multica orchestrates agents

Multica’s primitive is the issue, not the prompt. Every task starts as a Multica issue with an assignee. When an agent finishes its slice, it creates a child issue assigned to the next agent and sets its own status to done. No polling webhook, no callback URL — a standard task board where agents are first-class assignees.

The key table:

PrimitiveWhat it does
IssuesTask unit; every agent action starts and ends with one
AgentsNamed entities with skill files and a model assignment
SkillsMarkdown instruction files scoped per agent, loaded on pickup
Chain handoffsDone agent files a child issue for the next agent, sets self to done
AutopilotsScheduled triggers that create issues automatically
Parent/child issuesLinks the chain; Auditor uses the tree for status reconciliation
SquadsGrouped agents under a leader (added v0.3.0, May 14, 2026)
DaemonLocal process polling for tasks every 3 seconds, running agent CLIs

The daemon is local, not cloud. Your agents run on your machine (or a €4.49/mo VPS). Multica’s server is coordination-only: it stores issues, routes assignments, streams WebSocket updates to the dashboard. The compute is yours.

Setup

Two commands get you running:

curl -fsSL https://raw.githubusercontent.com/multica-ai/multica/main/scripts/install.sh | bash -s -- --with-server
multica setup self-host

The installer pulls Docker images from GHCR, spins up a Go backend (port 8080), a Next.js 16 frontend (port 3000), and PostgreSQL 17. It generates a JWT_SECRET, prompts for optional RESEND_API_KEY (email magic links — you can use the dev bypass code instead), and walks through daemon setup.

Time to first agent: Under 10 minutes on a fresh Linux box. That matches our experience.

Required env vars:

  • JWT_SECRET — auto-generated by the installer
  • MULTICA_APP_URL — your frontend URL, needed for magic-link generation
  • RESEND_API_KEY — optional; the dev bypass code works for local testing

Self-host server cost: ~€4.49/month on a Hetzner CX23 (based on Hetzner’s public pricing for that tier as of May 2026). The stack is three containers. CPU is light because the agents run on the daemon host, not the server.

Cloud option: Available, no public pricing as of 2026-05-17. The landing page shows a “Start free trial” CTA. Cloud runtime documentation describes some features as waitlist-only. If you need cloud, contact them — there’s no pricing page to link.

The conceptual gap that causes confusion: agents run on the daemon host, not on Multica’s servers. Once that clicks, the rest is issue assignment. Before it clicks, people spend time wondering why their agents aren’t running.

What works

Chain integrity

The toolchew editorial chain ran the how-to-self-host-multica article through 5 editorial rejection rounds before it passed. That’s 9 back-and-forth issues between Writer-EN and Editor. Zero human intervention in those 9 issues. The chain handled every round correctly: each rejection spawned a new revise issue, each fix spawned a new re-review issue. Status reconciled automatically.

This works because of two maintenance agents running hourly sweeps:

  • Auditor: status reconciliation across all open chains. Detects in_progress issues where the agent has gone quiet, detects parent/child status drift.
  • Chain Reaper: detects stalled dispatches, reruns if needed.

This is what separates Multica from a simple webhook chain. There’s a self-healing loop.

Skills as institutional memory

Every agent loads a set of markdown skill files when it picks up a task. house-style.md for Writer-EN ensures every article follows the same voice rules. editorial-rubric.md for Editor means every review runs the same checklist. Skills are per-agent and per-task, not global.

The practical effect: you can instruct new agents by writing markdown, not code. When the editorial rubric tightened to catch hallucinated env vars, one skill file update propagated to every Editor pickup immediately. No redeployment, no code change.

Model routing

Different agents run different models. Writer-EN and Editor run on claude-sonnet-4-6. Architect and Reviewer run on claude-opus-4-7. Cost optimization is in the agent config, not the application code.

For a content pipeline producing daily articles: high-volume routine agents (translation, SEO passes) on Sonnet 4.6; high-stakes review on Opus 4.7. The routing decision is visible in the agent list, not buried in a config file.

CLI ergonomics

multica issue list --output json pipes cleanly into bash. --full-id on list commands for canonical UUIDs when scripting. All commands support --output json. Agent-to-agent handoffs can be scripted entirely via CLI.

The daemon specs from the docs:

  • Poll interval: 3 seconds
  • Heartbeat: every 15 seconds
  • Offline threshold: 45 seconds (3 missed heartbeats)
  • Default concurrency: 20 tasks (daemon-level), 6 per agent
  • Crash recovery: in-flight tasks marked runtime_recovery and auto-requeued; server-side backup scan every 30 seconds

What’s rough

No webhook triggers on autopilots

Autopilot supports schedule triggers only (as of v0.3.1). No “fire on PR open,” no “fire on incoming Slack message,” no GitHub event triggers. This is a documented gap versus competitors. Claude Managed Agents Routines supports schedule + webhook + GitHub events natively. Linear Agent (public beta, March 2026) ships with MCP server support.

For scheduled work — daily article generation, weekly sweeps, nightly maintenance — Multica autopilots are fine. For event-driven orchestration (“kick off a fix agent when a critical bug is filed”), you have to use a workaround or wait for a future release.

Daemon port collision on crash

GitHub issue #1084: after a crash, multica daemon start can fail with “port 19514 already in use” from the previous instance. The issue is closed with no workaround documented. Observed behavior in production: you need to manually find and kill the stale process before restart.

Not a daily occurrence, but when it happens during a running chain, tasks queue behind a failed daemon with no self-recovery.

Comment-only output channel

Agents’ work is only visible to users via multica issue comment add. Terminal output and run logs are not delivered. This forces a good discipline — always post results as comments — but catches new agents off guard and has been the source of “my agent ran but produced nothing visible” confusion when agents forget to post.

The fix is documentation and agent skill files. It’s not a platform bug, but the default assumption for developers is that stderr/stdout goes somewhere useful.

Windows CLI update bug

GitHub issue #1461: multica update fails with HTTP 404 on Windows. Windows support improved substantially in v0.3.1 but is still rougher than macOS/Linux. If your team is Windows-primary, test the CLI thoroughly before committing.

Alternatives

Multica v0.3.1Linear Agent (Mar 2026)Notion AI (May 2026)GitHub Issues + bots
Agent-to-agent chains✅ Native parent/child issues❌ Limited hub model❌ Manual wiring
Code execution✅ via local daemon❌ Drafts only✅ Workers (beta)✅ via CI
Webhook triggers❌ Schedule only⚠️ MCP server (no webhook triggers documented)✅ Webhooks + DB sync (beta)✅ GitHub events
Reusable skill files✅ per-agent markdown✅ Built-in skills
Open source / self-host✅ Source-available (modified Apache 2.0; SaaS restrictions apply)
Agent cost per seat$0 (bring your API key)N/A (third-party)AI credits required$0
Multi-model routing✅ per-agentN/A
Maintenance agents✅ Auditor + Chain Reaper
Windows support⚠️ Rough edges
UX polishDeveloper-gradeLinear qualityPolishedNo UI

Linear Agent is the strongest alternative for teams already on Linear. It handles single-agent drafting and issue management well. It doesn’t do multi-agent chains, code execution, or autonomous PR filing.

Notion AI (May 2026) has strong integrations (Slack, GitHub, Calendar). The action model is largely read-and-synthesize; Multica’s is write-and-execute. Workers (code execution) are in beta as of May 2026, credits-based.

GitHub Issues + bots (e.g., mraza007/baton) gives you GitHub-native webhook triggers and CI execution but requires manual wiring per bot with no built-in orchestration layer.

Verdict

Run Multica if you want autonomous multi-agent pipelines on real work — code commits, PRs, content chains, maintenance sweeps — and you are comfortable self-hosting and working CLI-first. The source-available license and bring-your-own-API-key model mean the platform cost is genuinely €4.49/mo for infra plus whatever tokens your agents burn.

Wait if you need webhook-triggered autopilots (event-driven orchestration is on the roadmap but not here), if your team is Windows-primary and CLI reliability matters, or if you want Linear-quality UX.

The live evidence from toolchew: the Scout → Researcher → Writer-EN → Editor → Translator-VI → SEO → Publisher chain has been running for weeks, producing daily articles with zero human intervention in the editorial loop. MMO issue numbers are at 1018. The rough edges are real and manageable. The chain works.

Caveats

This review is based on Multica v0.3.1 (May 15, 2026) running on macOS with Claude Code as the daemon runtime. We have not tested OpenAI, Gemini, or other model providers as the agent runtime. Cloud-hosted Multica is undocumented on pricing; our cost figures are for self-host only. No affiliate program exists for Multica as of 2026-05-17. License note: Multica is licensed under a modified Apache 2.0 that restricts offering it as a hosted service to third parties without a commercial license — verify the LICENSE file before building a SaaS product on top of Multica.

References