原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

TractorBeeam365 MCP

作者:Ringosystems版本 2.2.0i★ –i在你的电脑上运行
注册名称io.github.Ringosystems/tractorbeeam-mcp

安装

概览

作者提供的说明(英文原文)

MCP server for Veeam Backup for Microsoft 365: read-only review + gated, audited restore tier.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 其他
  • 你需要填写:VB365_HOST, VB365_USERNAME, VB365_PASSWORD

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 需要你自己填写: VB365_HOST, VB365_USERNAME, VB365_PASSWORD

标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。

你需要

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "tractorbeeam": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "VB365_HOST",
        "-e",
        "VB365_USERNAME",
        "-e",
        "VB365_PASSWORD",
        "ghcr.io/ringosystems/tractorbeeam-mcp:2.2.0"
      ],
      "env": {
        "VB365_HOST": "your-value",
        "VB365_USERNAME": "your-value",
        "VB365_PASSWORD": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add tractorbeeam --env VB365_HOST=your-value --env VB365_USERNAME=your-value --env VB365_PASSWORD=your-value -- docker run -i --rm -e VB365_HOST -e VB365_USERNAME -e VB365_PASSWORD ghcr.io/ringosystems/tractorbeeam-mcp:2.2.0

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "tractorbeeam": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "VB365_HOST",
        "-e",
        "VB365_USERNAME",
        "-e",
        "VB365_PASSWORD",
        "ghcr.io/ringosystems/tractorbeeam-mcp:2.2.0"
      ],
      "env": {
        "VB365_HOST": "your-value",
        "VB365_USERNAME": "your-value",
        "VB365_PASSWORD": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "tractorbeeam": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "VB365_HOST",
        "-e",
        "VB365_USERNAME",
        "-e",
        "VB365_PASSWORD",
        "ghcr.io/ringosystems/tractorbeeam-mcp:2.2.0"
      ],
      "env": {
        "VB365_HOST": "your-value",
        "VB365_USERNAME": "your-value",
        "VB365_PASSWORD": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • VB365_HOST 必填 env
    IP or hostname of the VB365 (Veeam Backup Server) host
  • VB365_USERNAME 机密 必填 env
    VB365 account used to obtain a REST API token (DOMAIN\\user, .\\localuser, or user@domain)
  • VB365_PASSWORD 机密 必填 env
    Password for VB365_USERNAME

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 Ringosystems 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 32709 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 32709 个服务器的 15% 更新
  • 基础检查结果等于或优于此分类中其他 32709 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

TractorBeeam365 MCP 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

你需要填写:VB365_HOST, VB365_USERNAME, VB365_PASSWORD

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(2.2.0)于4个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Docker。

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, SwarmMemo

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Spec Driven Development

作者:formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

在你的电脑上运行★ 440MIT14个月前更新
安装

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

在云端运行★ 211前天更新
安装

SwarmMemo

作者:Hugo0

Talk with agent swarms: rooms, private messages and paid tasks for AI agents

在云端运行今天更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

TractorBeeam365 MCP

A Model Context Protocol server for Veeam Backup for Microsoft 365 (VB365). It talks directly to the VB365 REST API so an MCP client (Claude Code / Claude Desktop) can review your backup configuration, find protection gaps, spot trends, verify cloud immutability — and, when you explicitly opt in, run jobs and orchestrate restores.

**Independent project — not affiliated with, endorsed by, or supported by Veeam

Software.** "Veeam" is a registered trademark of Veeam Software; the "Beeam"

spelling is a deliberate, distinct play on words. Use at your own risk.

🔱 The name: a *tractor beam* pulls your data back in — and *Beeam* winks at the

backup product underneath. Read-only review is the safe default; the "pull"

(restore/actions) is opt-in.

Two tiers

TierDefaultWhat it can do
Read-only review✅ always onGET-only. Cannot change anything. Config/health, gap-analysis, trends, cloud-lock cross-check.
Action / Restore⛔ offOpt-in via TB_* env flags. Run/stop jobs, generate reports, sync orgs, define + execute restores. Every write is confirm-token gated and audited.

If you never set the TB_* flags, this is a pure read-only reviewer that *physically cannot* modify your environment — the action/restore tools aren't even registered.

Quick deploy (prebuilt image)

No clone or build required. From v2.2.0 the image is published multi-arch (amd64 + arm64) to GitHub Container Registry and Docker Hub, so it runs natively on x86 servers, Apple Silicon, and ARM boxes (Raspberry Pi, ARM cloud). On an ARM host, pin the :2.2.0 (or later) tag until a multi-arch :latest has been published.

Persistent HTTP service (Docker Compose)

Grab two files and start it:

curl -fsSLO https://raw.githubusercontent.com/Ringosystems/TractorBeeam-MCP/main/docker-compose.deploy.yml

curl -fsSL https://raw.githubusercontent.com/Ringosystems/TractorBeeam-MCP/main/.env.example -o .env

Edit .env: set VB365_HOST / VB365_USERNAME / VB365_PASSWORD and a long MCP_AUTH_TOKEN.

docker compose -f docker-compose.deploy.yml up -d

MCP is then live at http:// :8766/mcp. Attach a client with the bearer token you set:

claude mcp add --transport http tractorbeeam365 http://<host>:8766/mcp \

--header "Authorization: Bearer "

Update later:

docker compose -f docker-compose.deploy.yml pull && docker compose -f docker-compose.deploy.yml up -d
Unraid (one click)

In Unraid open Docker → Add Container, and paste this template URL into the Template field:

https://raw.githubusercontent.com/Ringosystems/TractorBeeam-MCP/main/deploy/unraid/tractorbeeam365.xml

Fill in VB365_HOST, VB365_USERNAME, VB365_PASSWORD, and a long MCP_AUTH_TOKEN, then Apply. The audit and downloads folders map under /mnt/user/appdata/tractorbeeam365/.

Single MCP client, no service (stdio)

For a client that launches the server itself, run the image on demand over stdio:

docker run -i --rm \

-e VB365_HOST=... -e VB365_USERNAME=... -e VB365_PASSWORD=... \ ghcr.io/ringosystems/tractorbeeam-mcp:latest

Read-only tools (always available)

ToolWhat it returns
vb365_health_summaryOne-shot review: orgs, jobs + last status, repos, cloud storage (B2/S3/Azure), proxies, license, trend anomalies, and a flags list. Start here.
vb365_trendsPer-job success/failure drift, repo capacity-full projection, restore-test cadence per org, RPO compliance.
gap_coverage_summary / gap_unprotected_objectsBackup coverage % and unprotected live M365 objects, by comparing Microsoft Graph against what jobs protect *(needs GRAPH_*)*.
cloud_lock_auditCross-checks Object Lock mode/retention/versioning at the bucket vs what VB365 reports *(needs B2_*/S3_*)*.
vb365_api_rootResource list + version (confirms connectivity).
vb365_list_organizations / vb365_org_inventoryProtected orgs; an org's users/groups/sites/teams.
vb365_list_jobs / vb365_get_job / vb365_job_scopeJobs, one job's config, and exactly what a job protects (selected/excluded).
vb365_list_job_sessionsRecent run results (optionally per job).
vb365_list_repositories / vb365_list_restore_pointsRepos (capacity/retention/immutability); restore points.
vb365_list_object_storage / vb365_get_object_storageCloud/object storage (B2/S3/Azure/Wasabi/IBM/Glacier).
vb365_list_proxies / vb365_licenseProxies + status; license/edition/expiry.
vb365_getRead-only GET to any other / /... resource.

Action / Restore tools (opt-in, gated)

Registered only when the matching flag is set. Two-call confirm pattern: call once to get a preview + a one-time confirm_token; call again with confirm= to execute. Every execution is appended to TB_AUDIT_LOG.

Tool (flag)What it does
action_job (TB_ALLOW_JOB_CONTROL)start / stop / enable / disable a backup job
action_generate_report (TB_ALLOW_REPORTS)mailbox/onedrive/sharepoint/teams/user protection, license, storage reports → file
action_org_sync (TB_ALLOW_ORG_SYNC)trigger a directory resync for an org
action_proxy (TB_ALLOW_PROXY)rescan / maintenance-mode a proxy
restore_session_start → restore_browse / restore_search → restore_define → restore_execute → restore_status → restore_session_stop (TB_ALLOW_RESTORE)Full restore orchestration across Exchange / OneDrive / SharePoint / Teams: open a point-in-time session, browse/search restorable items, then define (pick items + target + options) and execute a restore.
Restore: define what, where, how
restore_session_start(scope="job", scope_id="<jobId>", workload="exchange")

→ { session_id } # opens a point-in-time explore session restore_browse(session_id) # list mailboxes restore_browse(session_id, parent_id= ) # list items in a mailbox restore_define(session_id, parent_id= , item_ids=[...], target="export") → { confirm_token, preview } # DRY RUN — nothing changed restore_execute(session_id, confirm= ) # executes + audits restore_session_stop(session_id)

  • target = export (safest — reads backup to a local file; no M365 creds), alternate (writes to a *different* M365 location), or original (writes back to the original location — destructive; also pass confirm_overwrite_original=True).
  • options may carry an alternate mailbox/folder and the M365 target credentials VB365 uses to write back (userName/userPassword/applicationId), or set VB365_RESTORE_* in .env.
  • PST export requires 64-bit Outlook 2010+ installed on the VB365 server (a Veeam requirement); without it, exportToPst returns a server-side error.

Setup

  1. Install Python 3.10+ where Claude Code runs.
  2. From this folder:
   python -m venv .venv

.\.venv\Scripts\Activate.ps1 pip install -r requirements.txt

3. Copy `.env.example` to `.env` and fill in `VB365_HOST`, `VB365_USERNAME`,

VB365_PASSWORD (keep VB365_PORT=4443, VB365_API_VERSION=v8 unless yours differ). Optionally add GRAPH_*, B2_*/S3_*, and the TB_* flags.

The REST API account needs to be a VB365 administrator (or restore

operator) — VB365 has no read-only API role. The read-only review tools

are GET-only regardless. New-VB365ReviewAccount.ps1 creates a dedicated

service account on the VB365 server. Keep .env out of source control.

Register with Claude Code

# Replace <repo> with the absolute path to your clone.

claude mcp add tractorbeeam365 --scope user -- " \.venv\Scripts\python.exe" " \server.py"

On Linux/macOS use forward slashes and /.venv/bin/python.

It is also published to the MCP Registry as io.github.Ringosystems/tractorbeeam-mcp (an OCI image on GHCR), so MCP clients that support the registry can install it directly. To run the published image as a stdio server:

docker run -i --rm \

-e VB365_HOST=... -e VB365_USERNAME=... -e VB365_PASSWORD=... \ ghcr.io/ringosystems/tractorbeeam-mcp:latest

Then ask: "Run a VB365 health summary and tell me if anything is misconfigured."

Enabling the action / restore tier

The action/restore tools stay hidden until you opt in. In .env:

TB_ENABLE_ACTIONS=true        # master switch

TB_ALLOW_JOB_CONTROL=true # + any of the per-category flags you want TB_ALLOW_RESTORE=true TB_AUDIT_LOG=audit/actions.jsonl

The action/restore tools are not registered over an HTTP transport unless

you also set TB_ALLOW_WRITE_OVER_HTTP=true, because that transport has no

per-caller identity. Run the operator tier over stdio, or only behind your own

authenticating reverse proxy.

Safety model: tools are only registered when enabled, every mutation needs a second call with a one-time confirm token, restores default to a safe target (original-location overwrite needs an explicit acknowledgement), and every action is written to an append-only audit log. Recommended: run a separate "operator" instance with the flags on, and the default instance read-only.

Run as a persistent service (Docker / UNRAID)

The image itself defaults to the stdio transport (so MCP clients can docker run -i it). Via docker compose it runs streamable-http on 0.0.0.0:8000 inside the container, read-only (no TB_* flags). No credentials are baked in. The HTTP transport fails closed: it refuses to start unless you set MCP_AUTH_TOKEN (clients then send Authorization: Bearer ), or you explicitly accept the risk with MCP_ALLOW_UNAUTHENTICATED_HTTP=true.

# Put MCP_AUTH_TOKEN=<a long random secret> in .env first.

docker compose up -d --build # builds locally and runs read-only

MCP is live at http:// :8766/mcp ; attach with:

claude mcp add --transport http tractorbeeam365 http:// :8766/mcp \ --header "Authorization: Bearer "

Prebuilt images

Each GitHub Release publishes a multi-arch, multi-tag image via CI (.github/workflows/publish.yml) to GHCR, Docker Hub, and the MCP Registry. The full release runbook is in PUBLISHING.md.

# GitHub Container Registry (published automatically on every release):

docker pull ghcr.io/ringosystems/tractorbeeam-mcp:latest

Docker Hub (published when the DOCKERHUB_USERNAME / DOCKERHUB_TOKEN repo

secrets are configured):

docker pull ringosystems/tractorbeeam365-mcp:latest

To publish manually instead:

docker build -t <dockerhubuser>/tractorbeeam365-mcp:latest .

docker push /tractorbeeam365-mcp:latest

Security: the MCP HTTP transport has no per-caller identity. This build

binds loopback by default, requires MCP_AUTH_TOKEN before it will serve HTTP,

and hides the write/restore tools over HTTP unless TB_ALLOW_WRITE_OVER_HTTP=true.

Still keep the port on a trusted network and front it with TLS + auth. The audit

log and any generated PST/report files live in the mounted audit/ and

downloads/ volumes. See SECURITY.md.

Quick connectivity test (no MCP client needed)

.\.venv\Scripts\Activate.ps1

python -c "import server; print(server.vb365_api_root())"

Notes

  • .gitignore excludes .env, the venv, and the operator-tier audit/, downloads/, *.pst artifacts. Never commit credentials or restored data.
  • VB365 ships a self-signed cert, so VB365_VERIFY_SSL defaults to `fa

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx