Backburner — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Backburner (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<!-- mcp-name: io.github.RohitYajee8076/backburner -->
<div align="center">
<img src="docs/banner.png" alt="backburner — background tasks for AI agents" />
<br/> <br/>
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.
<b>Durable & Restart-Proof ◦ Zero Infrastructure ◦ MCP Tasks (2026-07-28) ◦ Windows & Unix</b>
<br/>
📦 PyPI • 🗂️ MCP Registry • 🐛 Issues • 📄 MIT
</div>
(SEP-2663, 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).
longer crashes tasks on Windows.
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.
Listed on the official MCP Registry as 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.
backburner demo
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:
today is still listed, with its result, in a brand-new session tomorrow.
restarting. Finished tasks keep their output; a task cut off by a crash is honestly marked interrupted, never silently dropped.
conversation or times out and loses the work.
See it for yourself — a real two-process proof (no mock-ups):
python docs/demo_restart.pyIt 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 |
~/.backburner/;output is captured to per-task log files. If the server dies mid-task, orphaned tasks are honestly marked interrupted, never silently lost.
included), on Windows and Unix.
task_result on a running task returns theoutput so far.
timeout_seconds and a runaway task is killed andhonestly marked timed_out instead of hanging forever.
variables (regexes, comma-separated; deny always wins):
BACKBURNER_ALLOW="^pytest,^npm (test|run build)" # only these may run
BACKBURNER_DENY="rm -rf,shutdown,format" # these never runNo Redis, no Celery, no Docker.
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:
pip install backburner-mcpclaude mcp add backburner -- python -m backburner.serverMost 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):
{
"mcpServers": {
"backburner": {
"command": "python",
"args": ["-m", "backburner.server"]
}
}
}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 tools
notifications/tasks) — live status without pollingMIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.