I created Agent-Up, an open-source desktop app and local server for running multiple coding-agent environments on one machine.
The problem is that Git worktrees isolate source code, but they do not isolate the running application.
When several agents work on the same monorepo, each one may need its own:
Without a shared runtime manager, agents end up coordinating those details through shell commands.
That is fragile.
One agent may reuse a port that another process still owns. A restart may leave an old process alive. Docker services may overlap.
Agent-Up manages those concerns per workspace.
Each workspace gets its own process lifecycle, allocated ports, Docker services, logs, and runtime state. The desktop app also provides one browser session per workspace for reviewing its web applications.
The current MCP interface supports:
The Agent-Up server owns the runtime state behind those operations. That means the agent does not need to independently discover ports, track process IDs, or reconstruct the application topology through shell commands.
This is relevant because current coding agents are increasingly used in parallel.
The source-code side of that workflow is already well served by Git branches and worktrees.
The runtime side is not.
Agent-Up is intended to provide that missing runtime layer.
Planned MCP functionality includes:
Git still owns branches, commits, pull requests, and merges.
Agent-Up just owns the local runtime around them.