Run long shell commands as background tasks: start them, keep working, collect the results later
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
Put your AI agent's slow work on the back burner. Keep cooking.
Background tasks for AI agents that outlive the conversation β start a long job, close the client, and the result is still waiting when you come back.
Durable & Restart-ProofΒ β¦ Β Zero InfrastructureΒ β¦ Β MCP Tasks (2026-07-28)Β β¦ Β Windows & Unix
π¦ PyPIΒ β’ Β ποΈ MCP RegistryΒ β’ Β π IssuesΒ β’ Β π MIT
io.modelcontextprotocol/tasks). A Tasks-capable client can turn a
start_task call into a durable task and drive it with tasks/get,
tasks/update, and tasks/cancel β the standard async-job protocol β while
the five plain tools keep working for every other client. Built against the
2026-07-28 spec (mcp 2.0).exit_code is no longer reported for cancelled/timed-out tasks
(it was an artifact of the kill, not a real result); new animated demo below.io.github.RohitYajee8076/backburner.backburner is an MCP server that gives any AI assistant β Claude, ChatGPT,
Gemini, GitHub Copilot, Cursor, and any other MCP client β the ability to run
long shell commands as background tasks β start a test suite, a build, a
scrape, a batch job β then keep working and check back for the results, instead
of sitting frozen until it finishes.

Because that lives inside the conversation β it disappears the moment the session ends. Close the chat, restart the client, reboot the laptop, and any in-session background work (and its output) is gone.
backburner keeps every task and its full output on disk (SQLite +
per-task log files under ~/.backburner/), so your work outlives the session
that started it:
interrupted, never silently dropped.See it for yourself β a real two-process proof (no mock-ups):
It starts a job in one process, exits, then a separate process β which never saw the task id β finds the finished work waiting on disk.
Built on the MCP Tasks pattern, formalized in the 2026-07-28 spec release
(SEP-2663):
backburner speaks it natively (tasks/get / tasks/update / tasks/cancel)
and exposes the same engine as plain tools, so it works with every client
today.
| Tool | What it does |
|---|---|
start_task(command, cwd?, timeout_seconds?) | Run a shell command in the background, returns a task id immediately |
task_status(task_id) | working / completed / failed / cancelled / timed_out / interrupted |
task_result(task_id, tail_lines?) | Captured output β works mid-run too, so you can peek at progress |
cancel_task(task_id) | Kill the task and its whole process tree |
list_tasks(limit?) | Recent tasks, newest first |
Survives restarts β tasks are tracked in SQLite under ~/.backburner/;
output is captured to per-task log files. If the server dies mid-task,
orphaned tasks are honestly marked interrupted, never silently lost.
Real cancellation β kills the full process tree (worker processes included), on Windows and Unix.
Peek at live progress β task_result on a running task returns the
output so far.
Timeouts β pass timeout_seconds and a runaway task is killed and
honestly marked timed_out instead of hanging forever.
Command policy β restrict what the AI may run with environment variables (regexes, comma-separated; deny always wins):
Zero infrastructure β stdlib only (SQLite, subprocess, threads). No Redis, no Celery, no Docker.
Tested β a pytest suite covers the full job lifecycle: completion, failure, cancellation, timeouts, crash recovery, and the command policy.
backburner is a standard stdio MCP server β it works with any MCP-compatible
client, including:
Claude Code Β· Claude Desktop Β· OpenAI (ChatGPT desktop / Agents SDK) Β· Google Gemini (Gemini CLI) Β· GitHub Copilot (VS Code) Β· Cursor Β· Windsurf Β· Cline Β· Zed β and any other client that speaks MCP.
First install the package:
Most clients use the same standard config block β add backburner to your
client's MCP config (see your client's docs for where that file lives):
backburner executes the shell commands the AI sends it, with your user's
permissions. That is its job β but treat it like giving your agent a
terminal. Run it only with clients whose tool-use you review/approve,
prefer permission modes that require confirmation for start_task, and
use BACKBURNER_ALLOW / BACKBURNER_DENY to scope what may run.
pip install backburner-mcptasks/get /
tasks/update / tasks/cancel alongside the plain toolsnotifications/tasks) β live status without pollingMIT
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/backburner)<a href="https://allmcps.com/mcp/backburner"><img src="https://allmcps.com/api/badge/backburner?style=directory" alt="Backburner on AllMCPs" /></a>