App Store Connect MCP Server

Interaja com a API do App Store Connect para gerenciar aplicativos, vendas e relatórios.

Documentação

App Store Connect MCP Server

Um servidor Model Context Protocol (MCP) para interagir com a API do App Store Connect. Este servidor fornece ferramentas para gerenciar apps, testadores beta, bundle IDs, dispositivos, metadados de apps e capacidades no App Store Connect.

Install MCP Server

Visão Geral

O App Store Connect MCP Server é uma ferramenta abrangente que preenche a lacuna entre IA e o ecossistema App Store Connect da Apple. Construído sobre o Model Context Protocol (MCP), este servidor permite que desenvolvedores interajam com seus dados do App Store Connect diretamente por meio de IA conversacional, tornando o gerenciamento de apps, testes beta e análises mais acessíveis do que nunca.

Principais Benefícios:

  • 🤖 Gerenciamento de Apps com IA: Use linguagem natural para gerenciar seus apps iOS e macOS
  • 📊 Análises Abrangentes: Acesse dados detalhados de desempenho, vendas e engajamento de usuários
  • 👥 Testes Beta Simplificados: Gerencie grupos e testadores beta de forma eficiente
  • 🌍 Gerenciamento de Localização: Atualize descrições, palavras-chave e metadados de apps em todos os idiomas
  • 🔧 Integração com Ferramentas de Desenvolvimento: Liste esquemas de projetos Xcode e integre-se a fluxos de trabalho de desenvolvimento
  • 🔐 Autenticação Segura: Usa a API oficial do App Store Connect com autenticação JWT
  • 🚀 Dados em Tempo Real: Acesse informações atualizadas diretamente dos sistemas da Apple

Para Quem É Este Servidor:

  • Desenvolvedores iOS/macOS que gerenciam apps no App Store Connect
  • Equipes de desenvolvimento que coordenam programas de testes beta
  • Gerentes de produto que analisam desempenho de apps e engajamento de usuários
  • Equipes de marketing que gerenciam metadados e localizações de apps
  • Engenheiros de DevOps que automatizam fluxos de trabalho da App Store
  • Qualquer pessoa que queira otimizar sua experiência de desenvolvimento Apple

Este servidor transforma operações complexas do App Store Connect em comandos conversacionais simples, seja para verificar análises de apps, gerenciar testadores beta, atualizar descrições de apps ou explorar seu pipeline de desenvolvimento.

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

Recursos

  • Gerenciamento de Apps

    • Listar todos os apps
    • Obter informações detalhadas de apps
    • Visualizar metadados e relacionamentos de apps
  • Testes Beta

    • Listar grupos beta
    • Listar testadores beta
    • Adicionar/remover testadores de grupos
    • Gerenciar configurações de testes beta
    • Visualizar feedback beta com capturas de tela e informações de dispositivos
  • Localizações de Versões da App Store ✨ NOVO

    • Criar novas versões da App Store com agendamento de lançamento
    • Listar todas as versões da App Store para um app
    • Listar todas as localizações para uma versão de app
    • Obter detalhes específicos de localização
    • Atualizar descrições, palavras-chave e texto promocional de apps
    • Gerenciar URLs de marketing e suporte
    • Atualizar texto "O que há de novo" para lançamentos
  • Gerenciamento de Bundle IDs

    • Listar bundle IDs
    • Criar novos bundle IDs
    • Obter detalhes de bundle IDs
    • Ativar/desativar capacidades
  • Gerenciamento de Dispositivos

    • Listar dispositivos registrados
    • Filtrar por tipo de dispositivo, plataforma, status
    • Visualizar detalhes de dispositivos
  • Gerenciamento de Usuários

    • Listar membros da equipe
    • Visualizar funções e permissões de usuários
    • Filtrar usuários por função e acesso
  • Análises e Relatórios

    • Criar solicitações de relatórios de análise para apps
    • Baixar análises de engajamento, comércio e uso da App Store
    • Acessar relatórios de desempenho e uso de frameworks
    • Baixar relatórios de vendas e tendências (diário, semanal, mensal, anual)
    • Baixar relatórios financeiros por região
  • Ferramentas de Desenvolvimento Xcode

    • Listar esquemas disponíveis em projetos e workspaces Xcode
    • Integrar-se a fluxos de trabalho de desenvolvimento e pipelines CI/CD

Instalação

Usando Smithery

Para instalar o App Store Connect Server para Claude Desktop automaticamente:

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

Instalação Manual

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

Configuração

Adicione o seguinte ao seu arquivo de configuração do 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"
      }
    }
  }
}

Autenticação

Configuração Necessária

  1. Gere uma Chave de API do App Store Connect em App Store Connect
  2. Baixe o arquivo de chave privada .p8
  3. Anote seu Key ID e Issuer ID
  4. Defina as variáveis de ambiente necessárias na sua configuração:
    • APP_STORE_CONNECT_KEY_ID: Seu Key ID da API
    • APP_STORE_CONNECT_ISSUER_ID: Seu Issuer ID
    • APP_STORE_CONNECT_P8_PATH: Caminho para seu arquivo de chave privada .p8

Configuração Opcional para Relatórios de Vendas e Finanças

Para habilitar as ferramentas de relatórios de vendas e finanças, você também precisará de:

  • APP_STORE_CONNECT_VENDOR_NUMBER: Seu número de fornecedor do App Store Connect

Nota: As ferramentas de relatórios de vendas e finanças (download_sales_report, download_finance_report) estarão disponíveis apenas se o número de fornecedor estiver configurado. Você pode encontrar seu número de fornecedor no App Store Connect em "Vendas e Tendências" ou "Pagamentos e Relatórios Financeiros".

Referência Completa de Ferramentas

📱 Ferramentas de Gerenciamento de Apps

list_apps

Obtenha uma lista de todos os apps no App Store Connect.

Parâmetros:

  • limit (opcional): Número máximo de apps a retornar (padrão: 100, máximo: 200)
  • bundleId (opcional): Filtrar por identificador de bundle

Exemplo:

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

get_app_info

Obtenha informações detalhadas sobre um app específico.

Parâmetros:

  • appId (obrigatório): O ID do app
  • include (opcional): Recursos relacionados a incluir (ex.: appClips, appInfos, appStoreVersions, betaGroups, builds)

Exemplo:

"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"

👥 Ferramentas de Testes Beta

list_beta_groups

Liste todos os grupos de testes beta (internos e externos).

Parâmetros:

  • limit (opcional): Número máximo de grupos a retornar (padrão: 100, máximo: 200)
  • appId (opcional): Filtrar por ID do app

Exemplo:

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

list_group_testers

Liste testadores em um grupo beta específico.

Parâmetros:

  • groupId (obrigatório): O ID do grupo beta
  • limit (opcional): Número máximo de testadores a retornar (padrão: 100, máximo: 200)

Exemplo:

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

add_tester_to_group

Adicione um novo testador a um grupo beta.

Parâmetros:

  • groupId (obrigatório): O ID do grupo beta
  • email (obrigatório): Endereço de e-mail do testador
  • firstName (opcional): Primeiro nome do testador
  • lastName (opcional): Sobrenome do testador

Exemplo:

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

remove_tester_from_group

Remova um testador de um grupo beta.

Parâmetros:

  • groupId (obrigatório): O ID do grupo beta
  • testerId (obrigatório): O ID do testador

Exemplo:

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

list_beta_feedback_screenshots

Liste envios de capturas de tela de feedback beta.

Parâmetros:

  • appId (opcional): Filtrar por ID do app
  • bundleId (opcional): Filtrar por identificador de bundle
  • buildId (opcional): Filtrar por ID do build
  • limit (opcional): Máximo de resultados (padrão: 100)
  • includeBuilds (opcional): Incluir informações do build
  • includeTesters (opcional): Incluir informações do testador

Exemplo:

"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

Obtenha informações detalhadas sobre uma captura de tela de feedback beta específica.

Parâmetros:

  • feedbackId (obrigatório): O ID do feedback
  • includeBuilds (opcional): Incluir informações do build
  • includeTesters (opcional): Incluir informações do testador
  • downloadScreenshot (opcional): Baixar a imagem da captura de tela (padrão: true)

Exemplo:

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

🌍 Ferramentas de Localização de Versões da App Store

create_app_store_version

Crie uma nova versão da App Store para um app.

Parâmetros:

  • appId (obrigatório): O ID do app
  • platform (obrigatório): A plataforma (IOS, MAC_OS, TV_OS, VISION_OS)
  • versionString (obrigatório): String de versão no formato X.Y ou X.Y.Z (ex.: '1.0' ou '1.0.0')
  • copyright (opcional): Texto de direitos autorais para esta versão
  • releaseType (opcional): Como o app deve ser lançado (MANUAL, AFTER_APPROVAL, SCHEDULED)
  • earliestReleaseDate (opcional): String de data ISO 8601 (obrigatório quando releaseType é SCHEDULED)
  • buildId (opcional): ID do build a ser associado a esta versão

Exemplo:

"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

Obtenha todas as versões da App Store para um app específico.

Parâmetros:

  • appId (obrigatório): O ID do app
  • limit (opcional): Número máximo de versões a retornar (padrão: 100, máximo: 200)
  • filter (opcional): Opções de filtro
    • platform: Filtrar por plataforma (IOS, MAC_OS, TV_OS)
    • versionString: Filtrar por string de versão (ex.: '1.0.0')
    • appStoreState: Filtrar por estado (ex.: READY_FOR_SALE, PREPARE_FOR_SUBMISSION)

Exemplo:

"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

Obtenha todas as localizações para uma versão específica da App Store.

Parâmetros:

  • appStoreVersionId (obrigatório): O ID da versão da App Store
  • limit (opcional): Número máximo de localizações (padrão: 100, máximo: 200)

Exemplo:

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

get_app_store_version_localization

Obtenha informações detalhadas sobre uma localização específica.

Parâmetros:

  • localizationId (obrigatório): O ID da localização

Exemplo:

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

update_app_store_version_localization

Atualize um campo específico em uma localização de versão da App Store.

Parâmetros:

  • localizationId (obrigatório): O ID da localização
  • field (obrigatório): Campo a atualizar (description, keywords, marketingUrl, promotionalText, supportUrl, whatsNew)
  • value (obrigatório): Novo valor para o campo

Exemplo:

"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'"

🔤 Ferramentas de Gerenciamento de Bundle IDs

create_bundle_id

Registre um novo bundle ID para desenvolvimento de apps.

Parâmetros:

  • identifier (obrigatório): A string do bundle ID (ex.: 'com.exemplo.app')
  • name (obrigatório): Um nome para o bundle ID
  • platform (obrigatório): Plataforma (IOS, MAC_OS ou UNIVERSAL)
  • seedId (opcional): O seed ID da sua equipe

Exemplo:

"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

Encontre e liste bundle IDs registrados para sua equipe.

Parâmetros:

  • limit (opcional): Máximo de resultados (padrão: 100, máximo: 200)
  • sort (opcional): Ordem de classificação (name, -name, platform, -platform, identifier, -identifier)
  • filter (opcional): Filtrar por identificador, nome, plataforma ou seedId
  • include (opcional): Incluir recursos relacionados (profiles, bundleIdCapabilities, app)

Exemplo:

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

get_bundle_id_info

Obtenha informações detalhadas sobre um bundle ID específico.

Parâmetros:

  • bundleIdId (obrigatório): O ID do bundle ID
  • include (opcional): Recursos relacionados a incluir
  • fields (opcional): Campos específicos a incluir

Exemplo:

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

enable_bundle_capability

Ative uma capacidade para um bundle ID.

Parâmetros:

  • bundleIdId (obrigatório): O ID do bundle ID
  • capabilityType (obrigatório): Tipo de capacidade (ex.: PUSH_NOTIFICATIONS, ICLOUD, GAME_CENTER)
  • settings (opcional): Configurações específicas da capacidade

Exemplo:

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

disable_bundle_capability

Desative uma capacidade para um bundle ID.

Parâmetros:

  • capabilityId (obrigatório): O ID da capacidade a desativar

Exemplo:

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

📱 Ferramentas de Gerenciamento de Dispositivos

list_devices

Obtenha uma lista de todos os dispositivos registrados para sua equipe.

Parâmetros:

  • limit (opcional): Máximo de resultados (padrão: 100, máximo: 200)
  • sort (opcional): Ordem de classificação (name, platform, status, udid, deviceClass, model, addedDate)
  • filter (opcional): Filtrar por nome, plataforma, status, udid ou deviceClass
  • fields (opcional): Campos específicos a incluir

Exemplo:

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

👤 Ferramentas de Gerenciamento de Usuários

list_users

Obtenha uma lista de todos os usuários na sua equipe do App Store Connect.

Parâmetros:

  • limit (opcional): Máximo de resultados (padrão: 100, máximo: 200)
  • sort (opcional): Ordem de classificação (username, firstName, lastName, roles)
  • filter (opcional): Filtrar por nome de usuário ou funções
  • fields (opcional): Campos específicos a incluir
  • include (opcional): Incluir relacionamento visibleApps Exemplo:
"List all team members"
"Show users with admin role"
"Find developers sorted by last name"
"List users with their visible apps"

📊 Ferramentas de Relatórios de Analytics

create_analytics_report_request

Crie uma nova solicitação de relatório de analytics para um app.

Parâmetros:

  • appId (obrigatório): O ID do app
  • accessType (obrigatório): Tipo de analytics (ONGOING ou ONE_TIME_SNAPSHOT)
  • frequency (opcional): Frequência do relatório para relatórios contínuos (DAILY, WEEKLY, MONTHLY)
  • startDate (opcional): Data de início (AAAA-MM-DD)
  • endDate (opcional): Data de término (AAAA-MM-DD)

Exemplo:

"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

Obtenha relatórios de analytics disponíveis para uma solicitação.

Parâmetros:

  • reportRequestId (obrigatório): O ID da solicitação de relatório
  • limit (opcional): Máximo de resultados (padrão: 100, máximo: 200)
  • filter (opcional): Filtrar por categoria, nome ou data

Exemplo:

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

list_analytics_report_segments

Obtenha segmentos para um relatório de analytics específico.

Parâmetros:

  • reportId (obrigatório): O ID do relatório de analytics
  • limit (opcional): Máximo de resultados (padrão: 100, máximo: 200)

Exemplo:

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

download_analytics_report_segment

Baixe dados de um segmento de relatório de analytics.

Parâmetros:

  • url (obrigatório): A URL de download do segmento

Exemplo:

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

💰 Ferramentas de Relatórios de Vendas e Finanças (Requer Número de Fornecedor)

download_sales_report

Baixe relatórios de vendas e tendências.

Parâmetros:

  • frequency (obrigatório): Frequência do relatório (DAILY, WEEKLY, MONTHLY, YEARLY)
  • reportDate (obrigatório): Data no formato apropriado
  • reportType (obrigatório): Tipo de relatório (SALES, SUBSCRIPTION, SUBSCRIPTION_EVENT, SUBSCRIBER, NEWSSTAND, PREORDER)
  • reportSubType (obrigatório): SUMMARY ou DETAILED
  • vendorNumber (opcional): Substituir número de fornecedor padrão
  • version (opcional): Versão do relatório (padrão: 1_0)

Exemplo:

"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

Baixe relatórios financeiros para uma região específica.

Parâmetros:

  • reportDate (obrigatório): Data do relatório (AAAA-MM)
  • regionCode (obrigatório): Código da região (ex.: 'Z1' para mundial)
  • vendorNumber (opcional): Substituir número de fornecedor padrão

Exemplo:

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

🔧 Ferramentas de Desenvolvimento Xcode

list_schemes

Liste todos os schemes disponíveis em um projeto ou workspace Xcode.

Parâmetros:

  • projectPath (obrigatório): Caminho para o arquivo .xcodeproj ou .xcworkspace

Exemplo:

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

Tratamento de Erros

O servidor implementa tratamento adequado de erros para:

  • Autenticação inválida
  • Parâmetros obrigatórios ausentes
  • Limites de taxa da API
  • Problemas de rede
  • Operações inválidas

Desenvolvimento

# Install dependencies
npm install

# Build the project
npm run build

# Run tests
npm test

# Run type checking
npm run type-check

Licença

Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para detalhes.

Links Relacionados