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.
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.
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
- Gere uma Chave de API do App Store Connect em App Store Connect
- Baixe o arquivo de chave privada .p8
- Anote seu Key ID e Issuer ID
- Defina as variáveis de ambiente necessárias na sua configuração:
APP_STORE_CONNECT_KEY_ID: Seu Key ID da APIAPP_STORE_CONNECT_ISSUER_ID: Seu Issuer IDAPP_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 appinclude(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 betalimit(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 betaemail(obrigatório): Endereço de e-mail do testadorfirstName(opcional): Primeiro nome do testadorlastName(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 betatesterId(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 appbundleId(opcional): Filtrar por identificador de bundlebuildId(opcional): Filtrar por ID do buildlimit(opcional): Máximo de resultados (padrão: 100)includeBuilds(opcional): Incluir informações do buildincludeTesters(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 feedbackincludeBuilds(opcional): Incluir informações do buildincludeTesters(opcional): Incluir informações do testadordownloadScreenshot(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 appplatform(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ãoreleaseType(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 applimit(opcional): Número máximo de versões a retornar (padrão: 100, máximo: 200)filter(opcional): Opções de filtroplatform: 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 Storelimit(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çãofield(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 IDplatform(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 seedIdinclude(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 IDinclude(opcional): Recursos relacionados a incluirfields(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 IDcapabilityType(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 deviceClassfields(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çõesfields(opcional): Campos específicos a incluirinclude(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 appaccessType(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óriolimit(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 analyticslimit(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 apropriadoreportType(obrigatório): Tipo de relatório (SALES, SUBSCRIPTION, SUBSCRIPTION_EVENT, SUBSCRIBER, NEWSSTAND, PREORDER)reportSubType(obrigatório): SUMMARY ou DETAILEDvendorNumber(opcional): Substituir número de fornecedor padrãoversion(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.
