Backburner

io.github.RohitYajee8076由 GitHub 帳號 RohitYajee8076 發布v1.0.0更新於 Oct 24, 2026

Run long shell commands as background tasks: start them, keep working, collect the results later

已驗證STDIO僅桌面效率與工作流開發者工具

概覽

AI 產生的概覽

一個本機 MCP 伺服器,讓助理把耗時的 shell 指令當成可持久化的背景任務執行,並在之後(甚至重新啟動後)取回結果。

可以做什麼
在背景啟動 shell 指令,可指定工作目錄與逾時,立即回傳任務 ID,不會卡住對話。查詢任務狀態(執行中、已完成、失敗、已取消、逾時、中斷),並讀取已擷取的輸出,任務執行中也能查看目前為止的輸出。取消任務及其整個行程樹,並依最新優先列出最近的任務。任務與日誌保存在磁碟上,因此結果在後續工作階段或重新啟動後仍可取得。
適用情境
適合助理需要執行測試套件、建置、擷取或批次處理等耗時工作,又不想讓對話停擺的情況;也適合結果必須在關閉用戶端或重新啟動電腦後仍然保留的情境。
執行需求
以本機 stdio 行程執行;需安裝 backburner-mcp Python 套件,並以 python -m backburner.server 啟動。選用環境變數 BACKBURNER_ALLOW 與 BACKBURNER_DENY 可限制能執行的指令,BACKBURNER_HOME 指定任務資料庫與日誌的存放目錄(預設 ~/.backburner)。不需要帳號或 API 金鑰。
安裝前請注意
它會以你的使用者權限執行助理送來的 shell 指令,等同把終端機交給代理。請用 BACKBURNER_ALLOW 與 BACKBURNER_DENY 限定可執行的指令,並只在你會審查或核准工具呼叫的用戶端中使用。任務輸出與日誌會寫入 BACKBURNER_HOME 下的磁碟。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Backburner,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[backburner — background tasks for AI agents]

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


📢 Updates

  • v1.0 — implements the official MCP Tasks extension (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).
  • v0.2.1 — output with non-ASCII characters (✓, emoji, any non-English text) no longer crashes tasks on Windows.
  • v0.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.
  • v0.1.x — first release: 5 tools, task timeouts, command allow/deny policy. 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]

🔥 Why not just use my client's built-in background mode?

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:

  • Start now, collect later — even in a different chat. A task you launch today is still listed, with its result, in a brand-new session tomorrow.
  • Restart-proof. State survives the server, the client, and the machine restarting. Finished tasks keep their output; a task cut off by a crash is honestly marked interrupted, never silently dropped.
  • No waiting, no blocking. A 10-minute tool call no longer freezes the conversation or times out and loses the work.

See it for yourself — a real two-process proof (no mock-ups):

bash
python docs/demo_restart.py

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.

🧰 Tools

ToolWhat 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

✨ Features

  • 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):

    bash
    BACKBURNER_ALLOW="^pytest,^npm (test|run build)"   # only these may runBACKBURNER_DENY="rm -rf,shutdown,format"           # these never run
  • 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.

🚀 Install

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:

bash
pip install backburner-mcp

Claude Code

bash
claude mcp add backburner -- python -m backburner.server

Everything else (Claude Desktop, Cursor, VS Code / Copilot, Windsurf, Gemini CLI, …)

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):

json
{  "mcpServers": {    "backburner": {      "command": "python",      "args": ["-m", "backburner.server"]    }  }}

🔒 Security note

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.

🗺️ Roadmap

  • Task timeouts and max-runtime limits
  • Allowlist/denylist for commands
  • PyPI release — pip install backburner-mcp
  • Listed on the official MCP Registry
  • MCP Tasks extension (spec 2026-07-28, SEP-2663) — native tasks/get / tasks/update / tasks/cancel alongside the plain tools
  • Task push updates (notifications/tasks) — live status without polling
  • Local web dashboard — watch tasks live in the browser
  • Structured progress reporting (parse % / step markers from output)

📄 License

MIT

來源:README.md,提交 42bc06d

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.0.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分