App Store Connect MCP Server

Interactúa con la API de App Store Connect para gestionar aplicaciones, ventas e informes.

Documentación

Servidor MCP de App Store Connect

Un servidor de Protocolo de Contexto de Modelo (MCP) para interactuar con la API de App Store Connect. Este servidor proporciona herramientas para gestionar aplicaciones, probadores beta, IDs de paquete, dispositivos, metadatos de aplicaciones y capacidades en App Store Connect.

Install MCP Server

Descripción General

El Servidor MCP de App Store Connect es una herramienta integral que une la brecha entre la IA y el ecosistema de App Store Connect de Apple. Construido sobre el Protocolo de Contexto de Modelo (MCP), este servidor permite a los desarrolladores interactuar con sus datos de App Store Connect directamente a través de IA conversacional, haciendo la gestión de aplicaciones, pruebas beta y análisis más accesibles que nunca.

Beneficios Clave:

  • 🤖 Gestión de Aplicaciones Impulsada por IA: Usa lenguaje natural para gestionar tus aplicaciones de iOS y macOS
  • 📊 Análisis Integral: Accede a datos detallados de rendimiento, ventas y participación de usuarios
  • 👥 Pruebas Beta Optimizadas: Gestiona eficientemente grupos y probadores beta
  • 🌍 Gestión de Localización: Actualiza descripciones, palabras clave y metadatos de aplicaciones en todos los idiomas
  • 🔧 Integración con Herramientas de Desarrollo: Lista esquemas de proyectos Xcode e intégrate con flujos de trabajo de desarrollo
  • 🔐 Autenticación Segura: Usa la API oficial de App Store Connect con autenticación JWT
  • 🚀 Datos en Tiempo Real: Accede a información actualizada directamente de los sistemas de Apple

Para Quién Es Esto:

  • Desarrolladores de iOS/macOS que gestionan aplicaciones en App Store Connect
  • Equipos de desarrollo que coordinan programas de pruebas beta
  • Gerentes de producto que analizan rendimiento de aplicaciones y participación de usuarios
  • Equipos de marketing que gestionan metadatos y localizaciones de aplicaciones
  • Ingenieros de DevOps que automatizan flujos de trabajo de la tienda de aplicaciones
  • Cualquiera que busque optimizar su experiencia de desarrollador de Apple

Este servidor transforma operaciones complejas de App Store Connect en comandos conversacionales simples, ya sea que estés consultando análisis de aplicaciones, gestionando probadores beta, actualizando descripciones de aplicaciones o explorando tu pipeline de desarrollo.

app-store-connect-mcp-server MCP server Smithery Installations MseeP.ai Security Assessment Badge

Características

  • Gestión de Aplicaciones

    • Listar todas las aplicaciones
    • Obtener información detallada de aplicaciones
    • Ver metadatos y relaciones de aplicaciones
  • Pruebas Beta

    • Listar grupos beta
    • Listar probadores beta
    • Agregar/eliminar probadores de grupos
    • Gestionar configuraciones de pruebas beta
    • Ver comentarios beta con capturas de pantalla e información del dispositivo
  • Localizaciones de Versiones de App Store ✨ NUEVO

    • Crear nuevas versiones de App Store con programación de lanzamiento
    • Listar todas las versiones de App Store para una aplicación
    • Listar todas las localizaciones para una versión de aplicación
    • Obtener detalles específicos de localización
    • Actualizar descripciones, palabras clave y texto promocional de aplicaciones
    • Gestionar URLs de marketing y soporte
    • Actualizar texto de "Novedades" para lanzamientos
  • Gestión de IDs de Paquete

    • Listar IDs de paquete
    • Crear nuevos IDs de paquete
    • Obtener detalles de IDs de paquete
    • Habilitar/deshabilitar capacidades
  • Gestión de Dispositivos

    • Listar dispositivos registrados
    • Filtrar por tipo de dispositivo, plataforma, estado
    • Ver detalles de dispositivos
  • Gestión de Usuarios

    • Listar miembros del equipo
    • Ver roles y permisos de usuarios
    • Filtrar usuarios por rol y acceso
  • Análisis e Informes

    • Crear solicitudes de informes de análisis para aplicaciones
    • Descargar análisis de participación, comercio y uso de App Store
    • Acceder a informes de rendimiento y uso de frameworks
    • Descargar informes de ventas y tendencias (diario, semanal, mensual, anual)
    • Descargar informes financieros por región
  • Herramientas de Desarrollo Xcode

    • Listar esquemas disponibles en proyectos y espacios de trabajo Xcode
    • Integrar con flujos de trabajo de desarrollo y pipelines de CI/CD

Instalación

Usando Smithery

Para instalar el Servidor de App Store Connect para Claude Desktop automáticamente:

npx @smithery/cli install appstore-connect-mcp-server --client claude

Instalación Manual

npm install @joshuarileydev/app-store-connect-mcp-server

Configuración

Agrega lo siguiente a tu archivo de configuración de Claude Desktop:

macOS

~/Library/Application Support/Claude/claude_desktop_config.json

Windows

%APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "app-store-connect": {
      "command": "npx",
      "args": [
        "-y",
        "appstore-connect-mcp-server"
      ],
      "env": {
        "APP_STORE_CONNECT_KEY_ID": "YOUR_KEY_ID",
        "APP_STORE_CONNECT_ISSUER_ID": "YOUR_ISSUER_ID",
        "APP_STORE_CONNECT_P8_PATH": "/path/to/your/auth-key.p8",
        "APP_STORE_CONNECT_VENDOR_NUMBER": "YOUR_VENDOR_NUMBER_OPTIONAL"
      }
    }
  }
}

Autenticación

Configuración Requerida

  1. Genera una Clave de API de App Store Connect desde App Store Connect
  2. Descarga el archivo de clave privada .p8
  3. Anota tu ID de Clave y ID de Emisor
  4. Establece las variables de entorno requeridas en tu configuración:
    • APP_STORE_CONNECT_KEY_ID: Tu ID de Clave de API
    • APP_STORE_CONNECT_ISSUER_ID: Tu ID de Emisor
    • APP_STORE_CONNECT_P8_PATH: Ruta a tu archivo de clave privada .p8

Configuración Opcional para Informes de Ventas y Finanzas

Para habilitar las herramientas de informes de ventas y finanzas, también necesitarás:

  • APP_STORE_CONNECT_VENDOR_NUMBER: Tu número de proveedor de App Store Connect

Nota: Las herramientas de informes de ventas y finanzas (download_sales_report, download_finance_report) solo estarán disponibles si el número de proveedor está configurado. Puedes encontrar tu número de proveedor en App Store Connect bajo "Ventas y Tendencias" o "Pagos e Informes Financieros".

Referencia Completa de Herramientas

📱 Herramientas de Gestión de Aplicaciones

list_apps

Obtén una lista de todas las aplicaciones en App Store Connect.

Parámetros:

  • limit (opcional): Número máximo de aplicaciones a devolver (predeterminado: 100, máximo: 200)
  • bundleId (opcional): Filtrar por identificador de paquete

Ejemplo:

"List all my apps"
"Show me apps with bundle ID com.example.myapp"
"Get the first 50 apps"

get_app_info

Obtén información detallada sobre una aplicación específica.

Parámetros:

  • appId (requerido): El ID de la aplicación
  • include (opcional): Recursos relacionados a incluir (por ejemplo, appClips, appInfos, appStoreVersions, betaGroups, builds)

Ejemplo:

"Get info for app ID 123456789"
"Show me app 123456789 with beta groups and builds"
"Get detailed information about my app including app store versions"

👥 Herramientas de Pruebas Beta

list_beta_groups

Lista todos los grupos de pruebas beta (internos y externos).

Parámetros:

  • limit (opcional): Número máximo de grupos a devolver (predeterminado: 100, máximo: 200)
  • appId (opcional): Filtrar por ID de aplicación

Ejemplo:

"Show all beta groups"
"List beta groups for app 123456789"
"Get the first 20 beta groups"

list_group_testers

Lista probadores en un grupo beta específico.

Parámetros:

  • groupId (requerido): El ID del grupo beta
  • limit (opcional): Número máximo de probadores a devolver (predeterminado: 100, máximo: 200)

Ejemplo:

"List all testers in group ABC123"
"Show me the first 50 testers in beta group ABC123"

add_tester_to_group

Agrega un nuevo probador a un grupo beta.

Parámetros:

  • groupId (requerido): El ID del grupo beta
  • email (requerido): Dirección de correo electrónico del probador
  • firstName (opcional): Primer nombre del probador
  • lastName (opcional): Apellido del probador

Ejemplo:

"Add john@example.com to beta group ABC123"
"Add John Smith (john@example.com) to group ABC123"

remove_tester_from_group

Elimina un probador de un grupo beta.

Parámetros:

  • groupId (requerido): El ID del grupo beta
  • testerId (requerido): El ID del probador

Ejemplo:

"Remove tester XYZ789 from group ABC123"
"Delete tester XYZ789 from beta group ABC123"

list_beta_feedback_screenshots

Lista envíos de capturas de pantalla de comentarios beta.

Parámetros:

  • appId (opcional): Filtrar por ID de aplicación
  • bundleId (opcional): Filtrar por identificador de paquete
  • buildId (opcional): Filtrar por ID de compilación
  • limit (opcional): Resultados máximos (predeterminado: 100)
  • includeBuilds (opcional): Incluir información de compilación
  • includeTesters (opcional): Incluir información del probador

Ejemplo:

"Show beta feedback screenshots for app 123456789"
"List feedback screenshots for bundle ID com.example.app"
"Get feedback with tester info for build XYZ"

get_beta_feedback_screenshot

Obtén información detallada sobre una captura de pantalla de comentarios beta específica.

Parámetros:

  • feedbackId (requerido): El ID del comentario
  • includeBuilds (opcional): Incluir información de compilación
  • includeTesters (opcional): Incluir información del probador
  • downloadScreenshot (opcional): Descargar la imagen de la captura de pantalla (predeterminado: true)

Ejemplo:

"Get feedback screenshot FEEDBACK123"
"Show me feedback FEEDBACK123 with tester details"
"Download screenshot from feedback FEEDBACK123"

🌍 Herramientas de Localización de Versiones de App Store

create_app_store_version

Crea una nueva versión de App Store para una aplicación.

Parámetros:

  • appId (requerido): El ID de la aplicación
  • platform (requerido): La plataforma (IOS, MAC_OS, TV_OS, VISION_OS)
  • versionString (requerido): Cadena de versión en formato X.Y o X.Y.Z (por ejemplo, '1.0' o '1.0.0')
  • copyright (opcional): Texto de derechos de autor para esta versión
  • releaseType (opcional): Cómo debe lanzarse la aplicación (MANUAL, AFTER_APPROVAL, SCHEDULED)
  • earliestReleaseDate (opcional): Cadena de fecha ISO 8601 (requerida cuando releaseType es SCHEDULED)
  • buildId (opcional): ID de la compilación a asociar con esta versión

Ejemplo:

"Create iOS version 2.0.0 for app 123456789"
"Create macOS version 1.5.0 for app 123456789 with manual release"
"Create scheduled iOS version 2.1.0 for app 123456789 releasing on 2024-02-01"
"Create version 1.2.0 for app 123456789 with build BUILD456 and copyright '2024 My Company'"

list_app_store_versions

Obtén todas las versiones de App Store para una aplicación específica.

Parámetros:

  • appId (requerido): El ID de la aplicación
  • limit (opcional): Número máximo de versiones a devolver (predeterminado: 100, máximo: 200)
  • filter (opcional): Opciones de filtro
    • platform: Filtrar por plataforma (IOS, MAC_OS, TV_OS)
    • versionString: Filtrar por cadena de versión (por ejemplo, '1.0.0')
    • appStoreState: Filtrar por estado (por ejemplo, READY_FOR_SALE, PREPARE_FOR_SUBMISSION)

Ejemplo:

"List all versions for app 123456789"
"Show iOS versions for app 123456789"
"Find version 2.0.0 for app 123456789"
"List versions in review for app 123456789"

list_app_store_version_localizations

Obtén todas las localizaciones para una versión específica de App Store.

Parámetros:

  • appStoreVersionId (requerido): El ID de la versión de App Store
  • limit (opcional): Número máximo de localizaciones (predeterminado: 100, máximo: 200)

Ejemplo:

"List all localizations for app version VERSION123"
"Show me language versions for app store version VERSION123"

get_app_store_version_localization

Obtén información detallada sobre una localización específica.

Parámetros:

  • localizationId (requerido): El ID de la localización

Ejemplo:

"Get localization details for LOCALE123"
"Show me the French localization LOCALE123"

update_app_store_version_localization

Actualiza un campo específico en una localización de versión de App Store.

Parámetros:

  • localizationId (requerido): El ID de la localización
  • field (requerido): Campo a actualizar (description, keywords, marketingUrl, promotionalText, supportUrl, whatsNew)
  • value (requerido): Nuevo valor para el campo

Ejemplo:

"Update description for localization LOCALE123 to 'Amazing new app description'"
"Change keywords for LOCALE123 to 'productivity, tasks, organize'"
"Update what's new text for LOCALE123 to 'Bug fixes and performance improvements'"

🔤 Herramientas de Gestión de IDs de Paquete

create_bundle_id

Registra un nuevo ID de paquete para desarrollo de aplicaciones.

Parámetros:

  • identifier (requerido): La cadena del ID de paquete (por ejemplo, 'com.example.app')
  • name (requerido): Un nombre para el ID de paquete
  • platform (requerido): Plataforma (IOS, MAC_OS, o UNIVERSAL)
  • seedId (opcional): El ID de semilla de tu equipo

Ejemplo:

"Create bundle ID com.mycompany.newapp for iOS named 'My New App'"
"Register universal bundle ID com.example.app called 'Example App'"

list_bundle_ids

Encuentra y lista IDs de paquete registrados en tu equipo.

Parámetros:

  • limit (opcional): Resultados máximos (predeterminado: 100, máximo: 200)
  • sort (opcional): Orden de clasificación (name, -name, platform, -platform, identifier, -identifier)
  • filter (opcional): Filtrar por identificador, nombre, plataforma o seedId
  • include (opcional): Incluir recursos relacionados (profiles, bundleIdCapabilities, app)

Ejemplo:

"List all bundle IDs"
"Show iOS bundle IDs sorted by name"
"Find bundle IDs containing 'example'"

get_bundle_id_info

Obtén información detallada sobre un ID de paquete específico.

Parámetros:

  • bundleIdId (requerido): El ID del ID de paquete
  • include (opcional): Recursos relacionados a incluir
  • fields (opcional): Campos específicos a incluir

Ejemplo:

"Get info for bundle ID BUNDLE123"
"Show bundle ID BUNDLE123 with capabilities"

enable_bundle_capability

Habilita una capacidad para un ID de paquete.

Parámetros:

  • bundleIdId (requerido): El ID del ID de paquete
  • capabilityType (requerido): Tipo de capacidad (por ejemplo, PUSH_NOTIFICATIONS, ICLOUD, GAME_CENTER)
  • settings (opcional): Configuraciones específicas de la capacidad

Ejemplo:

"Enable push notifications for bundle ID BUNDLE123"
"Add iCloud capability to bundle BUNDLE123"
"Enable Game Center for bundle ID BUNDLE123"

disable_bundle_capability

Deshabilita una capacidad para un ID de paquete.

Parámetros:

  • capabilityId (requerido): El ID de la capacidad a deshabilitar

Ejemplo:

"Disable capability CAP123"
"Remove capability CAP123 from bundle ID"

📱 Herramientas de Gestión de Dispositivos

list_devices

Obtén una lista de todos los dispositivos registrados en tu equipo.

Parámetros:

  • limit (opcional): Resultados máximos (predeterminado: 100, máximo: 200)
  • sort (opcional): Orden de clasificación (name, platform, status, udid, deviceClass, model, addedDate)
  • filter (opcional): Filtrar por nombre, plataforma, estado, udid o deviceClass
  • fields (opcional): Campos específicos a incluir

Ejemplo:

"List all devices"
"Show enabled iOS devices"
"Find devices with name containing 'John'"
"List iPhones sorted by date added"

👤 Herramientas de Gestión de Usuarios

list_users

Obtén una lista de todos los usuarios en tu equipo de App Store Connect.

Parámetros:

  • limit (opcional): Resultados máximos (predeterminado: 100, máximo: 200)
  • sort (opcional): Orden de clasificación (username, firstName, lastName, roles)
  • filter (opcional): Filtrar por nombre de usuario o roles
  • fields (opcional): Campos específicos a incluir
  • include (opcional): Incluir relación visibleApps Ejemplo:
"List all team members"
"Show users with admin role"
"Find developers sorted by last name"
"List users with their visible apps"

📊 Herramientas de Análisis e Informes

create_analytics_report_request

Crea una nueva solicitud de informe de análisis para una aplicación.

Parámetros:

  • appId (obligatorio): El ID de la aplicación
  • accessType (obligatorio): Tipo de análisis (ONGOING o ONE_TIME_SNAPSHOT)
  • frequency (opcional): Frecuencia del informe para informes continuos (DAILY, WEEKLY, MONTHLY)
  • startDate (opcional): Fecha de inicio (YYYY-MM-DD)
  • endDate (opcional): Fecha de fin (YYYY-MM-DD)

Ejemplo:

"Create daily analytics report for app 123456789"
"Generate one-time snapshot report for app 123456789 from 2024-01-01 to 2024-01-31"

list_analytics_reports

Obtén los informes de análisis disponibles para una solicitud.

Parámetros:

  • reportRequestId (obligatorio): El ID de la solicitud de informe
  • limit (opcional): Máximo de resultados (predeterminado: 100, máximo: 200)
  • filter (opcional): Filtrar por categoría, nombre o fecha

Ejemplo:

"List reports for request REQ123"
"Show app usage reports for request REQ123"

list_analytics_report_segments

Obtén segmentos para un informe de análisis específico.

Parámetros:

  • reportId (obligatorio): El ID del informe de análisis
  • limit (opcional): Máximo de resultados (predeterminado: 100, máximo: 200)

Ejemplo:

"List segments for report REPORT123"
"Get download URLs for report REPORT123"

download_analytics_report_segment

Descarga datos de un segmento de informe de análisis.

Parámetros:

  • url (obligatorio): La URL de descarga del segmento

Ejemplo:

"Download data from https://api.appstoreconnect.apple.com/..."

💰 Herramientas de Informes de Ventas y Finanzas (Requiere Número de Proveedor)

download_sales_report

Descarga informes de ventas y tendencias.

Parámetros:

  • frequency (obligatorio): Frecuencia del informe (DAILY, WEEKLY, MONTHLY, YEARLY)
  • reportDate (obligatorio): Fecha en el formato apropiado
  • reportType (obligatorio): Tipo de informe (SALES, SUBSCRIPTION, SUBSCRIPTION_EVENT, SUBSCRIBER, NEWSSTAND, PREORDER)
  • reportSubType (obligatorio): SUMMARY o DETAILED
  • vendorNumber (opcional): Anular el número de proveedor predeterminado
  • version (opcional): Versión del informe (predeterminado: 1_0)

Ejemplo:

"Download daily sales summary for 2024-01-15"
"Get monthly subscription detailed report for 2024-01"
"Download yearly sales summary for 2023"

download_finance_report

Descarga informes financieros para una región específica.

Parámetros:

  • reportDate (obligatorio): Fecha del informe (YYYY-MM)
  • regionCode (obligatorio): Código de región (por ejemplo, 'Z1' para todo el mundo)
  • vendorNumber (opcional): Anular el número de proveedor predeterminado

Ejemplo:

"Download finance report for January 2024 worldwide"
"Get finance report for 2024-01 region Z1"

🔧 Herramientas de Desarrollo de Xcode

list_schemes

Lista todos los esquemas disponibles en un proyecto o espacio de trabajo de Xcode.

Parámetros:

  • projectPath (obligatorio): Ruta al archivo .xcodeproj o .xcworkspace

Ejemplo:

"List schemes in /Users/john/MyApp/MyApp.xcodeproj"
"Show available schemes for MyApp.xcworkspace"

Manejo de Errores

El servidor implementa un manejo de errores adecuado para:

  • Autenticación no válida
  • Parámetros obligatorios faltantes
  • Límites de tasa de API
  • Problemas de red
  • Operaciones no válidas

Desarrollo

# Install dependencies
npm install

# Build the project
npm run build

# Run tests
npm test

# Run type checking
npm run type-check

Licencia

Este proyecto está licenciado bajo la Licencia MIT; consulte el archivo LICENSE para más detalles.

Enlaces Relacionados