BetaDrop MCP

Publica compilaciones de iOS (.ipa) y Android (.apk) en BetaDrop desde Claude Code, Cursor o Copilot y obtén un enlace de instalación over-the-air; lista compilaciones y gestiona tokens de API.

Documentación

Referencia del servidor MCP

@betadrop/mcp expone BetaDrop a cualquier cliente que hable el Protocolo de Contexto de Modelos (Claude Code, Claude Desktop, Cursor, VS Code con Copilot) como veintitrés herramientas que un asistente puede invocar. Se ejecuta localmente a través de stdio y utiliza las mismas credenciales que la CLI. La descripción general de MCP cubre la configuración por editor con más detalle; esta página es la superficie de herramientas.

Configurar un cliente

No hay nada que instalar de antemano. npx obtiene el paquete en la primera ejecución. Node 18 o más reciente es el único requisito. En Claude Code, un comando lo registra para cada proyecto:

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

Cualquier otro cliente es el mismo servidor descrito en el archivo de configuración de ese cliente. Claude Desktop y Cursor usan un objeto mcpServers; VS Code usa servers con una entrada idéntica en todo lo demás:

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

Reinicia o actualiza el cliente después; los servidores MCP se descubren al inicio.

Autenticación

El servidor resuelve las credenciales exactamente como lo hace la CLI, lo que te da tres opciones en orden decreciente de cuánto deberían gustarte.

  • Ya has iniciado sesión con la CLI. No hay nada que hacer. Ambos leen el mismo archivo de credenciales, por lo que una máquina donde se haya ejecutado betadrop login ya está autenticada aquí. Esta es la opción sin secreto en ningún archivo de configuración.
  • Pídele al asistente que inicie sesión. Llama a betadrop_login con un token. Valida el token contra el servidor antes de guardarlo y escribe en la misma configuración compartida. Hacer esto una vez también inicia sesión en la CLI.
  • Una variable de entorno en la configuración. BETADROP_TOKEN se lee del entorno del servidor y tiene prioridad sobre la credencial almacenada. Funciona, pero significa un token en texto plano en un archivo de configuración del editor — vale la pena evitarlo a menos que las otras dos sean imposibles.

Token en la configuración del cliente (último recurso)

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

Los tokens provienen de Configuración → Desarrollador → Tokens de API en el panel, o de betadrop_token_create a continuación. En cualquier caso, el valor en texto plano se muestra exactamente una vez.

Herramientas

Veintitrés herramientas. Los argumentos obligatorios están marcados; todo lo demás es opcional. En la práctica no las llamas por su nombre. Le pides al asistente el resultado y él elige. Saber qué existe es lo que evita que pidas algo que no existe.

HerramientaArgumentosQué hace
betadrop_whoamiNingunoInforma el estado de autenticación, la cuenta activa y el servidor con el que está hablando.
betadrop_logintoken (obligatorio), apiUrlValida un token de API contra el servidor y lo guarda en el archivo de credenciales compartido de la CLI.
betadrop_logoutNingunoRevoca el token activo en el servidor y borra las credenciales locales.
betadrop_publishfilePath (obligatorio), name, version, buildNumber, bundleId, notes, expiryType, expiryTimeDays, expiryDownloadLimit, expiryDeviceLimit, standingLinkPublica un .ipa o .apk. filePath debe ser absoluto. standingLink apunta un enlace permanente a la compilación una vez que esté en vivo (0.3.0+). Consulta la nota de caducidad a continuación.
betadrop_upload_statusNingunoObtiene el resultado — incluido el enlace de instalación — de la betadrop_publish más reciente. Una subida que supere la ventana de publicación de 90 segundos sigue ejecutándose en segundo plano, y así es como el asistente termina el trabajo; llámala solo cuando betadrop_publish haya informado que la subida aún estaba en curso.
betadrop_list_buildsplatform, status, page, perPageLista compilaciones recientes. platform es ios o android; status es uno de active, expired, disabled, deprecated o latest. La paginación por defecto es de 20 por página, máximo 100.
betadrop_list_expired_buildsplatform, page, perPageSolo compilaciones caducadas, con el motivo de caducidad. Un atajo para la herramienta anterior con status: expired.
betadrop_token_listNingunoLista los tokens de API activos de la cuenta.
betadrop_token_createname (obligatorio), abilities, expiresInDaysCrea un token. abilities es cualquiera de publish, read o * y por defecto es *; expiresInDays es 1–365, y omitirlo significa sin caducidad. El valor en texto plano se devuelve una vez.
betadrop_token_deletetokenId (obligatorio)Revoca un token por su id, como lo lista betadrop_token_list.
betadrop_inspectfilePath (obligatorio)¿Se instalará la compilación desde un enlace? Informa el tipo de perfil y la caducidad, la coincidencia del ID de paquete, la firma y testOnly / debuggable, con un veredicto. No se publica nada. 0.3.0+.
betadrop_list_standing_linksNingunoEnlaces permanentes, la compilación que sirve cada uno y cuántos evaluadores siguen cada uno. 0.3.0+.
betadrop_point_standing_linkslug, buildId (ambos obligatorios)Apunta un enlace permanente a una compilación subida; los seguidores reciben un correo. 0.3.0+.
betadrop_delete_buildbuildId (obligatorio)Elimina una compilación. Su enlace de instalación deja de funcionar. 0.3.0+.
betadrop_get_feedbackbuildId (obligatorio)Comentarios que los evaluadores dejaron en una compilación. 0.3.0+.
betadrop_list_devicesNingunoDispositivos iOS registrados (UDIDs). 0.3.0+.
betadrop_export_devicesNingunoLos dispositivos como el archivo separado por tabulaciones que aceptan el portal de Apple y fastlane register_devices. 0.3.0+.
betadrop_invite_devicename, email, openUn enlace de registro de UDID: enviado por correo a un evaluador con name y email, o el compartible con open: true. 0.3.0+.
betadrop_list_webhooksNingunoWebhooks en la cuenta. 0.3.0+.
betadrop_create_webhookurl (obligatorio), events, formatEnvía eventos de compilación a una URL; las URLs de Slack y Discord se detectan. Devuelve el secreto de firma una vez. 0.3.0+.
betadrop_test_webhookwebhookId (obligatorio)Entrega un evento de prueba ahora e informa la respuesta del receptor. 0.3.0+.
betadrop_delete_webhookwebhookId (obligatorio)Elimina un webhook. 0.3.0+.
betadrop_helpNingunoUna referencia rápida integrada: la lista de herramientas, sus entradas y ejemplos de indicaciones. Útil cuando el asistente necesita recordar lo que puede hacer.

Argumentos de caducidad en la publicación

betadrop_publish es la única herramienta que puede establecer la caducidad de una compilación en el momento de la subida, y sus cuatro argumentos de caducidad funcionan juntos en lugar de de forma independiente. expiryType elige la estrategia y los argumentos numéricos proporcionan el umbral que esa estrategia necesita.

expiryTypeRequiere
noneNada. La compilación no caduca por su propia programación.
timeexpiryTimeDays. Caduca después de N días.
downloadsexpiryDownloadLimit. Caduca después de N descargas.
devicesexpiryDeviceLimit. Caduca después de N dispositivos únicos.
combinedCualquier combinación de los tres límites numéricos. El que se alcance primero termina la compilación.

El límite de retención de tu plan sigue aplicándose. Estos argumentos eligen una vida más corta que el máximo, nunca una más larga. La CLI acepta los mismos límites que las banderas publish (--expires-in-days, --max-downloads, --max-devices, 0.4.0+).

Notas

  • Rutas absolutas. betadrop_publish toma un filePath absoluto. Un servidor MCP no comparte necesariamente un directorio de trabajo con tu editor, por lo que una ruta relativa es ambigua en lugar de conveniente.
  • Misma validación que la CLI. La extensión debe ser .ipa o .apk y el archivo debe ser realmente un archivo ZIP — ambos se verifican localmente antes de subir cualquier cosa.
  • Se ejecuta en tu máquina. El servidor es un proceso local que habla stdio con tu cliente. El archivo de compilación nunca pasa por el asistente; se lee del disco y se sube directamente.
  • Las herramientas de token son reales. betadrop_token_create y betadrop_token_delete crean y revocan credenciales en vivo. Eso es conveniente y también es una razón para leer lo que un asistente propone antes de aprobarlo.