mcpField
B
backburner

backburner

本地服务
github.com/RohitYajee8076开发工具213 周前更新

关于 backburner

backburner 是一个 MCP 服务,可将耗时的 Shell 命令作为持久后台任务运行。它适合需要结束会话或重启设备、之后再查看任务状态和输出的 AI 助手用户。

主要功能

  1. 01将 Shell 命令作为后台任务启动
  2. 02跨重启保存任务状态和日志
  3. 03检查状态并读取实时输出
  4. 04取消进程树并设置超时
  5. 05按命令模式设置允许和拒绝规则
  6. 06原生支持 MCP Tasks

适用场景

  1. 01运行耗时测试套件而不阻塞聊天
  2. 02在后续会话中收集构建输出
  3. 03服务器或设备重启后恢复任务记录
  4. 04限制 Agent 可运行的 Shell 命令

MCP 相关

提供启动、检查、读取结果、取消和列出 Shell 任务的工具。它还支持 MCP Tasks 扩展,同时为其他客户端保留普通工具接口。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"rohityajee8076-backburner": {
"command": "uvx",
"args": [
"backburner-mcp"
],
"env": {
"BACKBURNER_HOME": "<BACKBURNER_HOME>",
"BACKBURNER_ALLOW": "<BACKBURNER_ALLOW>",
"BACKBURNER_DENY": "<BACKBURNER_DENY>"
}
}
}
}
启动命令uvx backburner-mcp
需要配置的环境变量
BACKBURNER_HOMEDirectory for the task database and log files (default: ~/.backburner)
BACKBURNER_ALLOWComma-separated regexes; if set, only matching commands may run
BACKBURNER_DENYComma-separated regexes; matching commands are always refused (deny wins over allow)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypibackburner-mcp1.0.0

工具

5

收录的工具列表 · 更新于 3 周前

参数类型必填说明
cwdany否
commandstring是
timeout_secondsany否

详细介绍

backburner — 面向 AI Agent 的后台任务

把 AI Agent 的耗时工作放到后台,继续推进其他工作。

面向 可跨越对话持续运行 的 AI Agent 后台任务——启动一个长任务,关闭客户端,等你回来时,结果依然在等着你。

持久可靠,重启无忧  ◦  零基础设施  ◦  MCP Tasks(2026-07-28)  ◦  Windows 和 Unix


📦 PyPI  •  🗂️ MCP Registry  •  🐛 问题反馈  •  📄 MIT


📢 更新

  • v1.0 — 实现官方 MCP Tasks 扩展 (SEP-2663, io.modelcontextprotocol/tasks)。支持 Tasks 的客户端可以将 start_task 调用转为持久任务,并通过 tasks/get、 tasks/update 和 tasks/cancel 驱动它——这是标准的异步作业协议;同时, 另外五个普通工具仍可供其他所有客户端使用。基于 2026-07-28 规范(mcp 2.0)构建。
  • v0.2.1 — 输出中包含非 ASCII 字符(✓、表情符号及任何非英语文本)时, 不再导致 Windows 上的任务崩溃。
  • v0.2.0 — 已取消或超时的任务不再报告 exit_code(它是强制终止造成的产物, 并非真实结果);下方新增动画演示。
  • v0.1.x — 首次发布:5 个工具、任务超时、命令允许/拒绝策略。 已以 io.github.RohitYajee8076/backburner 的名称列入官方 MCP Registry。

backburner 是一个 MCP 服务,让任何 AI 助手——Claude、ChatGPT、 Gemini、GitHub Copilot、Cursor 以及其他所有 MCP 客户端——都能将长时间运行的 Shell 命令作为后台任务执行——启动测试套件、构建、抓取或批处理任务,然后继续工作, 之后再回来查看结果,无需一直等待任务完成。

backburner 演示

🔥 为什么不直接使用客户端内置的后台模式?

因为它存在于对话内部——会话一结束,它也就消失了。关闭聊天、重启客户端、 重启笔记本电脑,任何会话内的后台工作(及其输出)都会消失。

backburner 会将每个任务及其完整输出保存在磁盘上(SQLite + ~/.backburner/ 下每个任务各自的日志文件),因此你的工作不会随着启动它的会话结束:

  • 现在启动,之后再收取——甚至可以在另一个聊天中。 你今天启动的任务, 明天在全新会话中仍会连同结果一起列出。
  • 重启无忧。 状态在服务、客户端和机器重启后依然保留。已完成的任务会保留输出; 因崩溃而中断的任务会如实标记为 interrupted,绝不会悄无声息地丢失。
  • 无需等待,也不会阻塞。 10 分钟的工具调用不再冻结对话,也不会因超时而丢失工作。

亲眼看看——真实的双进程验证(并非模拟演示):

python docs/demo_restart.py

它会在一个进程中启动作业,然后退出;接着,由一个独立进程——它从未见过任务 ID—— 找到仍保存在磁盘上、已经完成的任务。

它基于 MCP Tasks 模式构建,该模式在 2026-07-28 发布的规范中正式确立 (SEP-2663): backburner 原生支持该模式(tasks/get / tasks/update / tasks/cancel), 并且将同一引擎作为普通工具提供,因此如今可以配合所有客户端使用。

🧰 工具

工具功能
start_task(command, cwd?, timeout_seconds?)在后台运行 shell 命令,并立即返回任务 ID
task_status(task_id)working / completed / failed / cancelled / timed_out / interrupted
task_result(task_id, tail_lines?)捕获的输出——运行期间也可查看进度
cancel_task(task_id)终止任务及其整个进程树
list_tasks(limit?)最近的任务,按时间从新到旧排列

✨ 功能

  • 重启后仍可恢复——任务会在 ~/.backburner/ 下记录到 SQLite; 输出会捕获到每个任务对应的日志文件。如果服务在任务运行期间崩溃, 孤立任务会如实标记为 interrupted,绝不会悄无声息地丢失。

  • 真正取消——终止整个进程树(包括工作进程),支持 Windows 和 Unix。

  • 查看实时进度——对正在运行的任务调用 task_result,即可返回当前输出。

  • 超时控制——传入 timeout_seconds,超时任务会被终止并如实标记为 timed_out,而不是永远挂起。

  • 命令策略——通过环境变量限制 AI 可运行的命令 (使用正则表达式,以逗号分隔;拒绝规则始终优先):

    BACKBURNER_ALLOW="^pytest,^npm (test|run build)"   # only these may run
    BACKBURNER_DENY="rm -rf,shutdown,format"           # these never run
    
  • 无需任何基础设施——仅使用标准库(SQLite、subprocess、threads)。 无需 Redis、Celery 或 Docker。

  • 经过测试——pytest 测试套件覆盖完整的任务生命周期:完成、 失败、取消、超时、崩溃恢复和命令策略。

🚀 安装

backburner 是标准的 stdio MCP 服务,适用于任何兼容 MCP 的 客户端,包括:

Claude Code · Claude Desktop · OpenAI(ChatGPT 桌面版 / Agents SDK)· Google Gemini(Gemini CLI)· GitHub Copilot(VS Code)· Cursor · Windsurf · Cline · Zed——以及任何其他支持 MCP 的客户端。

首先安装软件包:

pip install backburner-mcp
Claude Code
claude mcp add backburner -- python -m backburner.server
其他客户端(Claude Desktop、Cursor、VS Code / Copilot、Windsurf、Gemini CLI 等)

大多数客户端使用相同的标准配置块——将 backburner 添加到客户端的 MCP 配置中(有关配置文件的位置,请参阅客户端文档):

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

🔒 安全说明

backburner 会以你的用户权限执行 AI 发送给它的 shell 命令。这就是它的用途——但请把它视为让 Agent 使用终端。仅在你会审核或批准工具调用的客户端中运行它;尽量使用要求确认后才能执行 start_task 的权限模式,并使用 BACKBURNER_ALLOW / BACKBURNER_DENY 限定允许运行的命令。

🗺️ 路线图

  • 任务超时和最长运行时间限制
  • 命令允许列表 / 拒绝列表
  • 发布到 PyPI——pip install backburner-mcp
  • 收录于官方 MCP Registry
  • MCP Tasks 扩展(规范 2026-07-28,SEP-2663)——除普通工具外,还支持原生的 tasks/get / tasks/update / tasks/cancel
  • 任务推送更新(notifications/tasks)——无需轮询即可获取实时状态
  • 本地 Web 仪表板——在浏览器中实时查看任务
  • 结构化进度报告(从输出中解析百分比 / 步骤标记)

📄 许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。