mcpField
B
BetaDrop

BetaDrop

本地服务
betadrop.app开发工具03 周前更新

关于 BetaDrop

BetaDrop 是面向 AI 编码 Agent 的 MCP 服务,可发布 iOS 和 Android 构建版本并管理测试分发。它还支持安装检查、分享链接、设备、Webhook 和测试者反馈管理。

主要功能

  1. 01发布 IPA 和 APK 构建版本
  2. 02生成无线安装链接
  3. 03检查构建安装就绪情况
  4. 04管理构建记录和固定链接
  5. 05管理设备、Webhook 和反馈

适用场景

  1. 01向测试者分享新的 iOS 构建版本
  2. 02无需应用商店轨道即可分发 Android APK
  3. 03发布前检查签名和安装就绪情况
  4. 04查看测试者反馈并导出设备列表

MCP 相关

该 MCP 服务向兼容的 AI 客户端提供工具,用于发布和检查构建版本、管理链接、设备与 Webhook,以及读取反馈。服务使用 BetaDrop API Token 进行身份验证。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"betadrop-app-betadrop": {
"command": "npx",
"args": [
"-y",
"@betadrop/mcp"
],
"env": {
"BETADROP_TOKEN": "<BETADROP_TOKEN>"
}
}
}
}
启动命令npx -y @betadrop/mcp
需要配置的环境变量
BETADROP_TOKEN密钥BetaDrop API token, created at Settings, Developer, API tokens. Optional: leave it unset and sign in through the server's own login tool, which stores the token in ~/.betadrop/config.json. Set it for CI or headless use.

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

安装包
npm@betadrop/mcp0.2.5

工具

11

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

此工具无需参数。

详细介绍

BetaDrop

@betadrop/mcp

npm version MCP Registry Node License: MIT

“发布这个构建版本,并把安装链接发给我。” 对你的 AI 助手这样说,测试人员 30 秒后就能开始安装应用。

BetaDrop 可为 iOS .ipa 或 Android .apk 创建无线安装链接:测试人员在手机上打开链接,就能直接通过浏览器安装——无需等待 TestFlight 审核,无需 Play 测试轨道,也无需测试人员账号。如果你用过 Diawi 或 Firebase App Distribution,它的作用与它们相同。

BetaDrop MCP 将这一步交给 AI 助手处理。Claude、Cursor、Copilot、Windsurf、Zed 和 Antigravity 可以通过普通提示词发布构建版本、检查其是否能够安装、管理长期有效的链接、设备和 Webhook,并读取测试人员的反馈——无需打开浏览器标签页、无需使用命令行,也无需离开编辑器。

claude mcp add betadrop -s user -- npx -y @betadrop/mcp

23 个工具。一个 npx 命令。无需构建。 你的助手已经知道如何使用它们——你无需输入工具名称。


⚡ 快速开始(3 步)

第 1 步 — 获取 BetaDrop API Token
  1. 在 betadrop.app 注册或登录
  2. 前往 Settings → Developer
  3. 在 API tokens 下,点击 Create token,为其命名(例如 "My IDE"),然后复制 Token
    (它以 bd_live_... 开头——请妥善保存,因为它只会显示一次!)
步骤 2 — 将 MCP 服务添加到编辑器

提示

🤖 AI 原生安装(最简单) 既然你已经在使用 AI 助手(例如 Cursor Composer、Claude、Copilot 或 Antigravity),就不必手动编辑配置文件!只需将以下任一提示词直接粘贴到 AI 聊天中:

  • Cursor:"Add the @betadrop/mcp server to my global Cursor mcp.json config"
  • Antigravity:"Add the @betadrop/mcp server to my Antigravity mcp_config.json"
  • VS Code(Copilot):"Add the @betadrop/mcp server to my workspace .vscode/mcp.json"
  • Claude Desktop:"Add the @betadrop/mcp server to my Claude Desktop config"

AI 会自动为你定位、创建或更新配置文件。完成后,只需刷新或重启编辑器。

否则,请从下方选择你的编辑器并手动配置。

Claude Code

在终端中运行一条命令:

claude mcp add betadrop -s user -- npx -y @betadrop/mcp

这会在所有 Claude Code 项目中全局安装 BetaDrop。
如果只用于单个项目,请移除 -s user 标志。

验证是否生效:

claude mcp list

启动新的 Claude Code 会话并输入 /mcp,确认连接正常。

Claude Desktop

打开配置文件:

操作系统路径
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json

在文件中添加以下内容:

{
  "mcpServers": {
    "betadrop": {
      "command": "npx",
      "args": ["-y", "@betadrop/mcp"]
    }
  }
}

重启 Claude Desktop。 BetaDrop 工具将显示在 🔧 工具面板中。

Cursor

在项目根目录中创建 .cursor/mcp.json:

{
  "mcpServers": {
    "betadrop": {
      "command": "npx",
      "args": ["-y", "@betadrop/mcp"]
    }
  }
}

如需全局访问权限,请使用相同内容创建或编辑 ~/.cursor/mcp.json。

前往 Settings → MCP,点击 Refresh 以加载新的服务。

VS Code(GitHub Copilot)

在项目根目录中创建 .vscode/mcp.json:

{
  "servers": {
    "betadrop": {
      "command": "npx",
      "args": ["-y", "@betadrop/mcp"]
    }
  }
}

也可以全局添加:

操作系统路径
macOS~/Library/Application Support/Code/User/mcp.json
Windows%APPDATA%\Code\User\mcp.json
Linux~/.config/Code/User/mcp.json

使用 Copilot 的 Agent 模式访问 BetaDrop 工具。

Windsurf

编辑 ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "betadrop": {
      "command": "npx",
      "args": ["-y", "@betadrop/mcp"]
    }
  }
}
Zed

在 Zed 设置文件中添加:

操作系统路径
macOS~/Library/Application Support/Zed/settings.json
Linux~/.config/zed/settings.json
{
  "context_servers": {
    "betadrop": {
      "command": {
        "path": "npx",
        "args": ["-y", "@betadrop/mcp"]
      }
    }
  }
}
Antigravity(Google)

从 Settings → MCP Servers 打开 MCP 设置,或直接编辑配置文件:

操作系统路径
macOS~/.gemini/antigravity-ide/mcp_config.json
Windows%USERPROFILE%\.gemini\antigravity-ide\mcp_config.json
{
  "mcpServers": {
    "betadrop": {
      "command": "npx",
      "args": ["-y", "@betadrop/mcp"]
    }
  }
}

重启 Antigravity 以加载新的服务。

步骤 3 — 首次设置

添加 MCP 服务后,使用你的 BetaDrop API 令牌进行身份验证。打开 AI 助手并输入:

"Log me in to BetaDrop with token bd_live_xxxxxxxx"

如果设置了 $XDG_CONFIG_HOME,凭据会保存到 $XDG_CONFIG_HOME/betadrop/config.json;否则保存到 ~/.betadrop/config.json,权限为 0600(仅所有者可读)。登出时,服务器会撤销该令牌,并删除配置文件。

✅ 全部设置完成! 现在试试以下任意提示词 👇


🚀 试试这些提示词

无需记住任何工具名称,只需自然地与 AI 助手对话:

📦 发布构建
提示词执行结果
"Publish ./build/MyApp.ipa to BetaDrop"上传 IPA 并返回安装链接
"Upload MyApp.apk with notes 'Fixed login crash on Android 14'"发布构建,并向测试人员显示发行说明
"Push the latest IPA to BetaDrop, expire after 7 days"为构建设置基于时间的过期时间
"Upload MyApp.ipa and send me the install link"返回可分享的 OTA 安装 URL
📋 构建历史
提示词执行结果
"Show my recent BetaDrop builds"列出你在两个平台上的最新构建
"List my iOS builds"仅筛选 iOS 构建
"Show all expired builds on BetaDrop"列出已达到过期时限的构建
"Any expired Android builds?"按平台筛选已过期的构建
"Get the install link for my last build"获取可分享的 URL
🔑 令牌管理
提示词执行结果
"Show my BetaDrop API tokens"列出所有有效令牌及其权限和过期时间
"Create a BetaDrop token for CI called 'GitHub Actions'"创建一个用于 CI 的新令牌
"Make a read-only token called 'QA Team'"创建一个权限仅记录为 read 的令牌
"Create a token that expires in 30 days"创建一个临时访问用的自动过期令牌
"Revoke BetaDrop token abc-123"永久撤销令牌
✅ 发布检查、链接和设备
提示词执行结果
"Will build/MyApp.ipa install from a link?"betadrop_inspect 会读取配置文件和签名信息,不会发布构建
"Publish MyApp.ipa to the acme-beta standing link"发布构建,并将测试人员已有的固定链接指向该构建
"What did testers say about the last build?"读取测试人员的反馈
"Export my test devices for the Apple portal"返回以制表符分隔的设备文件
"Post new builds to this Slack webhook: https://hooks.slack.com/…"创建一个适用于 Slack 格式的 webhook
👤 账户
提示词执行结果
"Am I logged in to BetaDrop?"显示你的电子邮箱、令牌详情和 API URL
"Log out of BetaDrop"在服务端撤销令牌并清除本地配置
🔁 一轮中连续执行

这些是工具,不是聊天机器人,因此助手可以将它们串联起来:

"Build the release APK, publish it to BetaDrop with the last commit message as the notes, and give me the install link."

构建会在你的终端中运行,betadrop_publish 会上传构建产物,并在同一条回复中返回链接。


📖 所有可用工具

八个类别中共有二十三种工具。你无需按名称调用它们,助手会自行选择。

身份验证
工具功能
betadrop_login保存并验证你的 API 令牌
betadrop_logout在服务端撤销令牌并清除本地凭据
betadrop_whoami显示你的账户电子邮箱、令牌名称和过期时间

发布构建版本
工具功能
betadrop_publish上传 .ipa 或 .apk 文件,并获取可分享的安装链接
betadrop_upload_status获取最近一次 betadrop_publish 上传的结果(安装链接)。无需参数 — 当大型构建版本的上传时间超过 90 秒的发布时限时,会自动调用

betadrop_publish 参数:

参数类型必填描述
filePathstring✅.ipa 或 .apk 文件的绝对路径
namestring覆盖应用显示名称
versionstring覆盖版本字符串(例如 1.2.3)
buildNumberstring覆盖构建编号
bundleIdstring覆盖 bundle / package ID
notesstring安装页面上显示的发行说明
expiryTypestringnone · time · downloads · devices · combined。none(永久链接)需要付费计划 — 详见下文
expiryTimeDaysnumberN 天后过期(与 time 或 combined 搭配使用)。上限为你计划的最大构建版本保留期限
expiryDownloadLimitnumber下载 N 次后过期(与 downloads 或 combined 搭配使用)
expiryDeviceLimitnumber达到 N 台唯一设备后过期(与 devices 或 combined 搭配使用)
standingLinkstring固定链接的 slug;构建版本上线后将指向该版本(必须已在账户中认领)

过期设置受计划限制。 none — 永久链接 — 是付费计划功能;若计划不支持此功能,构建版本会以带日期的链接存储,而不会被拒绝。所有计划的 expiryTimeDays 都会被限制在该计划的最大构建版本保留期限内。发生上述任一情况时,服务端会返回一个 retentionClamp 对象(requestedDays、appliedDays、maxDays、permanentDenied、message),工具结果会附加一行 ⚠️ 说明实际应用的设置。请注意,只有计划实际缩短了你要求的期限时才会报告此信息:如果未发送 expiryTimeDays,即使账户默认值被缩短,该值仍为 null。各计划当前的天数上限见 src/lib/limits.json,此处不再重复列出。

上传方式: 文件会先在本地验证(检查 ZIP 魔数),然后上传;上传进度会以 5% 为间隔持续通知你的 AI 客户端。安装链接会在工具结果中返回。上传耗时超过 90 秒的构建版本会在后台继续上传,因此工具调用不会超时 — 随后助手会调用 betadrop_upload_status 获取链接。~/.betadrop/upload_status.json 中的状态文件会实时跟踪上传进度。


构建历史
工具功能
betadrop_list_builds列出最近的构建版本,可选择筛选条件
betadrop_list_expired_builds仅列出已过期的构建版本(便捷快捷方式)

betadrop_list_builds 参数:

参数类型必填描述
platformstringios 或 android — 省略则列出所有平台
statusstringactive · expired · disabled · deprecated · latest
pagenumber页码(默认:1)
perPagenumber每页结果数(默认:20,最大:100)

betadrop_list_expired_builds 参数:

参数类型必填描述
platformstringios 或 android — 省略则列出所有平台
pagenumber页码(默认:1)
perPagenumber每页结果数(默认:20,最大:100)

每条结果都包含构建名称、版本、平台、文件大小、状态、日期和可分享的安装链接。


令牌管理
工具功能
betadrop_token_list列出所有有效(未撤销)的 API 令牌
betadrop_token_create创建新的受限令牌(明文仅显示一次!)
betadrop_token_delete按 ID 永久撤销令牌

betadrop_token_create 参数:

参数类型必填说明
namestring✅令牌标签(最多 100 个字符)
abilitiesstring[]["publish"]、["read"] 或 ["*"](默认:全部)
expiresInDaysnumber令牌有效期(1–365 天)。省略则永不过期

每个端点都会强制执行权限:read 令牌可以列出构建版本、读取反馈并运行 betadrop_inspect,但不能发布、删除或更改链接、设备或 Webhook。

⚠️ 创建时明文令牌只显示一次。请立即复制!


发布检查
工具功能
betadrop_inspect.ipa/.apk 能否通过链接安装?检查配置文件类型和有效期、签名、testOnly/debuggable。不会发布任何内容
固定链接
工具功能
betadrop_list_standing_links列出固定链接、每个链接指向的构建版本及关注者数量
betadrop_point_standing_link将固定链接指向已上传的构建版本;关注者会收到邮件

betadrop_publish 也接受 standingLink 参数,可在新构建版本上线时将固定链接指向该版本。

构建版本、反馈和设备
工具功能
betadrop_delete_build删除构建版本;其安装链接将失效
betadrop_get_feedback获取测试者对构建版本留下的反馈
betadrop_list_devices列出已注册的 iOS 设备(UDID)
betadrop_export_devices导出 Apple 门户和 fastlane register_devices 接受的设备文件
betadrop_invite_device测试者在 iPhone 上打开后即可注册设备的链接
Webhook
工具功能
betadrop_list_webhooks列出账户上的 Webhook
betadrop_create_webhook将事件发送到 URL、Slack 或 Discord(根据 URL 自动识别)
betadrop_test_webhook立即发送测试事件并报告响应
betadrop_delete_webhook移除 Webhook

快速帮助
工具功能
betadrop_help显示所有工具和示例提示词的完整离线参考

⚙️ 配置

设置以下环境变量以覆盖默认值:

变量默认值说明
BETADROP_API_URLhttps://api.betadrop.appAPI 服务 URL(用于可自托管部署)
BETADROP_APP_URLhttps://betadrop.app安装链接的前端 URL
BETADROP_TOKEN(none)用于 CI 的令牌 — 跳过本地配置文件

如需为 MCP 服务设置这些变量,请在编辑器配置中与 command 和 args 同级添加 env 块,配置位置见步骤 2:

{
  "mcpServers": {
    "betadrop": {
      "command": "npx",
      "args": ["-y", "@betadrop/mcp"],
      "env": { "BETADROP_TOKEN": "bd_live_xxx" }
    }
  }
}

设置 BETADROP_TOKEN 后,无需登录 — 服务会直接使用该令牌:

BETADROP_TOKEN=bd_live_xxx betadrop-mcp

❓ 故障排查

“未找到工具”或没有显示 BetaDrop 工具?

  • 确保已安装 Node.js 18+:node --version
  • 添加 MCP 配置后重启编辑器
  • 在 Claude Code 中运行 /mcp,检查服务状态
  • 在 Cursor 中,前往 Settings → MCP 并点击 Refresh

提示“您尚未登录”?

  • 让 AI 帮你登录 BetaDrop:"Log me in to BetaDrop with token bd_live_..."
  • 或在 MCP 配置中设置 BETADROP_TOKEN 环境变量——请参阅配置

上传似乎卡住了?

  • 耗时超过 90 秒的构建会在后台继续上传,因此工具调用不会超时
  • 让助手检查上传状态(它会调用 betadrop_upload_status)——上传完成后会返回安装链接
  • 你也可以直接查看 ~/.betadrop/upload_status.json

令牌已过期或被撤销?

iOS 构建已下载到手机上,但无法打开?

  • Ad-hoc .ipa 只能安装在签名时已包含在配置描述文件中的设备上——发布它不会改变这一点。将 UDID checker 发给测试人员,在 Apple Developer 门户中添加设备,然后重新签名。

BetaDrop 的其他工具

同一个发布步骤,也适用于另外两个平台——一个账户,一套 API 令牌:

@betadrop/cli
源代码
在终端中运行 betadrop publish app.ipa。它会输出安装链接和可扫描的 QR 码。
betadrop-app/upload-action从 GitHub Actions 工作流发布。安装链接会显示在运行摘要中,也可以选择将其发布到拉取请求评论中,并在每次推送时自动更新。

📚 链接

要求

  • Node.js 18+
  • 一个 BetaDrop 账户——免费套餐无需绑定银行卡。各套餐的保留期限和 文件大小上限请参阅定价页面。
  • 以下受支持的 AI 编辑器之一(Claude、Cursor、VS Code、Windsurf、Zed、Antigravity)

贡献

问题反馈和拉取请求:https://github.com/betadrop-app/betadrop-mcp。如果它帮你省去了 打开浏览器的麻烦,点个 ⭐ 能帮助其他移动团队发现它。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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