asc-mcp

Um servidor MCP para App Store Connect: 41 ferramentas para publicar uma versão a partir do seu agente, cobrindo metadados, capturas de tela, builds, TestFlight, compras dentro do app, envio e publicação.

Documentação

asc-mcp

Publique uma versão na App Store a partir do seu agente de codificação. Um servidor MCP para App Store Connect: 41 ferramentas que editam metadados de versão, enviam capturas de tela, anexam builds, gerenciam o TestFlight, criam compras dentro do app, enviam e publicam, além de uma camada de inteligência que audita uma versão antes do envio e resume suas avaliações. 6 fluxos de trabalho com comandos de barra e uma Skill do Claude inclusa. Não é apenas um wrapper de API.

asc-mcp.pages.dev · npm · Preço: teste grátis de 7 dias, depois US$ 9/mês

Claude Desktop, um clique: baixe o asc-mcp.mcpb mais recente e abra-o. O Claude pede seu Issuer ID e permite escolher seu .p8 com um seletor de arquivos. Sem JSON, sem caça ao reinício.

Todo o resto (Claude Code, Cursor, Windsurf, Cline), um comando:

npx @pofky/asc-mcp init --write   # finds your .p8, asks for your Issuer ID, writes your MCP config

Depois pergunte ao seu agente: "inicie meu teste do asc-mcp, meu e-mail é voce@exemplo.com". Todas as 41 ferramentas são liberadas por 7 dias, sem cartão e sem nada para cancelar, e o teste é ativado na sessão em que você já está, então o que estava travado funciona na próxima chamada. Depois disso, o Pro custa US$ 9 por mês. Seis ferramentas continuam gratuitas, e três delas só precisam do Node.

Você dizO que acontece
"Execute uma verificação prévia no meu app"Audita metadados, limites de caracteres, capturas de tela, status do build. Detecta os problemas que causam 40% das rejeições.
"Me dê um resumo matinal"Resume todos os seus apps: quem está em análise, quem foi rejeitado, novas avaliações com nota baixa, itens de ação.
"Gere notas de versão a partir do meu histórico do git"Lê os commits desde a última tag, categoriza-os e fornece dados estruturados para escrever o texto "O que há de novo".
"Meu app está em análise?"Estado exato da análise com contexto ("tempo típico: 24-48 horas")
"Mostre avaliações de 1 estrela"Avaliações de clientes filtradas por nota, território, ordenadas por data
"Quantos downloads tive esta semana?"Resumo de vendas e receita por território

Sem alternância de contexto. Sem portal. Apenas pergunte.

O Que Torna Isso Diferente

Sucessor mantido do JoshuaRileyDev/app-store-connect-mcp-server (arquivado em fev/2026). Ângulo diferente, mesma superfície de API e mais.

Outros servidores MCP de ASC envolvem a API e oferecem de 80 a 982 endpoints brutos. Este oferece 41 ferramentas opinativas, 6 Prompts de comando de barra e uma Skill do Claude que pensam. As ferramentas de leitura resumem e auditam; as ferramentas Pro de controle realmente operam o App Store Connect, desde editar metadados até enviar e publicar, com a mesma chave de API. Duas ferramentas usam MCP Sampling: o modelo do seu próprio cliente faz o trabalho de LLM, então não há custo extra deste servidor.

Por que o controle total é possível sem fastlane: o deliver e o pilot do fastlane são apenas chamadas à mesma API REST do App Store Connect contra a qual este servidor autentica com seu .p8. Então quase tudo que você automatizaria com fastlane é uma ferramenta aqui, sem necessidade de toolchain Ruby. O único passo que exige seu Mac é compilar e assinar o binário, que o build_and_archive e o upload_binary gerenciam via Xcode.

Configuração (3 minutos)

Passo 1. Crie uma chave de API em App Store Connect > Integrations > App Store Connect API (função Admin ou App Manager) e pegue três coisas na mesma página:

  • Issuer ID (ASC_ISSUER_ID): o UUID mostrado no topo da página, com um botão de copiar ao lado.
  • Key ID (ASC_KEY_ID): o ID de 10 caracteres ao lado da sua chave, também presente no nome do arquivo AuthKey_XXXXXXXXXX.p8.
  • Arquivo .p8 (ASC_PRIVATE_KEY_PATH): clique em Download e aponte para o arquivo salvo. A Apple permite baixar apenas uma vez, então guarde-o com segurança.

Passo 2. Instale:

npm install -g @pofky/asc-mcp

Não é necessária instalação global se você preferir npx (veja a configuração manual abaixo).

Configuração mais rápida (recomendada). Coloque seu .p8 no caminho padrão da Apple ~/.appstoreconnect/private_keys/ (o arquivo se chama AuthKey_XXXXXXXXXX.p8, e o Key ID está no nome do arquivo). Depois execute:

npx @pofky/asc-mcp init --write     # auto-detects the key, asks for your Issuer ID, and writes the config for you
# or: npx @pofky/asc-mcp init       # same, but prints the block to paste yourself

O init --write encontra a configuração do seu Claude Desktop / Claude Code, faz backup e mescla o bloco do servidor, sem edição de JSON. O servidor também descobre automaticamente o caminho do .p8 em tempo de execução, então você só precisa do ASC_ISSUER_ID (e do ASC_LICENSE_KEY para o Pro).

Executando a partir de um agente ou de qualquer pipe. Não há terminal para responder perguntas, então passe o que seria perguntado:

npx @pofky/asc-mcp init --write --issuer <your-issuer-uuid>   # add --config <path> if you keep several client configs

Ele imprime o bloco pronto para colar de qualquer forma e nunca inventa um valor: se o Issuer ID estiver ausente, ele avisa em vez de escrever uma configuração que falha na autenticação da Apple. --key-path, --key-id e --license existem pelo mesmo motivo, e cada um também lê da variável de ambiente ASC_* correspondente.

Travou? Execute npx @pofky/asc-mcp doctor (ou peça ao seu agente para chamar asc_setup_check). Ele verifica sua chave, Issuer ID, uma conexão ativa com o App Store Connect e sua licença, e imprime a correção exata para qualquer problema. No seu agente, o comando /asc-start guia um usuário iniciante por tudo isso.

Configuração manual. Adicione à configuração MCP do seu agente (config do Claude Desktop ou ~/.claude.json para Claude Code). Use npx para instalação zero, ou asc-mcp se instalou globalmente:

{
  "mcpServers": {
    "appstore-connect": {
      "command": "npx",
      "args": ["-y", "@pofky/asc-mcp"],
      "env": {
        "ASC_ISSUER_ID": "YOUR_ISSUER_ID"
      }
    }
  }
}

Com o .p8 em ~/.appstoreconnect/private_keys/, o ASC_ISSUER_ID é a única variável de ambiente obrigatória (Key ID e caminho da chave são detectados automaticamente). Adicione ASC_LICENSE_KEY para liberar o Pro.

Passo 3. Pergunte ao seu agente: "Liste meus apps do App Store Connect"

Passo 4, para testar a metade paga. Pergunte ao seu agente: "inicie meu teste do asc-mcp, meu e-mail é voce@exemplo.com". Ele chama asc_start_trial, que libera todas as 41 ferramentas por 7 dias, sem cartão e sem nada para cancelar. A chave é ativada na sessão em execução, então o que estava travado funciona na próxima chamada, e ela é gravada na sua configuração MCP para sobreviver a um reinício. Um teste por conta de desenvolvedor Apple.

Funciona com Claude Code, Cursor, Windsurf, Cline e qualquer cliente compatível com MCP.

Ferramentas

Gratuitas (sem cadastro, sem chave de licença)

FerramentaO que faz
asc_start_trial7 dias de tudo, sem cartão. Peça ao seu agente para executar com seu e-mail. Libera todas as 41 ferramentas na sessão em execução, sem reinício, sem nada para cancelar.
asc_setup_checkExecute primeiro se algo estiver errado. Verifica sua chave, Issuer ID, uma conexão ativa com o App Store Connect e o nível de licença, e imprime a correção exata para cada falha.
asc_guideComece aqui. O guia dentro do agente para cada fluxo (primeira versão, atualização, IAP, assinaturas, avaliações, TestFlight, binário), com cada etapa manual do site do App Store Connect sinalizada inline. Veja também USER_GUIDE.md e LIMITATIONS.md.
list_appsLista todos os seus apps com nome, bundle ID, SKU e App ID
app_detailsHistórico de versões, status do build, estado da versão, datas
review_statusEstado atual da análise com contexto legível

Pro (teste grátis de 7 dias, depois US$ 9/mês)

FerramentaO que fazPor que importa
list_reviewsAvaliações de clientes filtradas por nota, território, ordem de classificaçãoVeja o que os usuários dizem sem abrir o portal
sales_reportDownloads diários/semanais/mensais e receita por territórioSaiba seus números instantaneamente
release_preflightAuditoria pré-envio: metadados, limites de caracteres, capturas de tela, buildsDetecta mais de 40% das causas comuns de rejeição antes do envio
daily_briefingResumo matinal de todos os apps: status, avaliações, rejeiçõesUma chamada substitui 10 minutos de cliques no portal
release_notesCommits do git desde a última tag, categorizados para escrever "O que há de novo"Seu agente de IA escreve notas de versão a partir das suas mudanças reais
keyword_insightsAnalisa palavras-chave contra a concorrência de busca do iTunes, índices de dificuldadeVeja quais palavras-chave valem a pena mirar de relance
competitor_snapshotConsulte qualquer app: notas, avaliações, versão, preço, notas de versãoInteligência competitiva sem sair do seu editor
metadata_diffCompara metadados da versão ativa vs. pendente em todos os idiomasVerifique exatamente o que mudou antes de enviar
triage_reviewsPuxa avaliações recentes e as agrupa em 3 a 5 temas com contagens, categorias de ação e citações, usando MCP SamplingCusto zero extra: o modelo do seu cliente faz o agrupamento
draft_review_responseRedige uma resposta pública a uma única avaliação no idioma da avaliação, via Sampling. Obtém o tom se seu cliente suportar. Nunca publica automaticamente.Diretriz 1.2 da Apple respeitada; você cola no ASC você mesmo

Controle e Publicação (Pro)

Estas ferramentas gravam no App Store Connect. Toda ação voltada para o exterior (envio, publicação, upload de binário) exige um confirm: true explícito, para que nada saia da sua máquina por acidente.

FerramentaO que faz
create_versionCria uma nova versão editável do App Store para seu próximo lançamento
update_version_metadataEdita descrição, palavras-chave, o que há de novo, texto promocional, URLs, nome do app, subtítulo. Valida os limites de caracteres da Apple e recusa gravações acima do limite
upload_screenshotsEnvia capturas de tela para um tipo de exibição de dispositivo (reserva, upload, commit, com checksum)
list_buildsLista builds recentes e seu estado de processamento (VALID = pronto)
wait_for_buildFaz polling até um build terminar o processamento, para que a cadeia não precise de pausa manual
attach_buildAnexa um build à versão editável (padrão: build processado mais recente)
submit_for_reviewEnvia a versão para a App Review (fluxo moderno de reviewSubmissions). confirm: true obrigatório
release_versionPublica uma versão aprovada na App Store pública. confirm: true obrigatório
manage_phased_releaseInicia, pausa, retoma ou conclui o lançamento gradual de 7 dias
list_beta_groupsLista seus grupos beta do TestFlight
assign_build_to_groupEnvia um build para um grupo beta para que testadores possam instalá-lo
invite_beta_testerConvida um testador externo por e-mail e o adiciona a um grupo
set_app_metadataDefine categoria primária/secundária, direitos autorais, direitos de conteúdo e conformidade de exportação (criptografia) em uma chamada
set_app_priceDefine o preço base criando o cronograma de preços (price_usd: 0 para gratuito), com equalização automática para todos os territórios
set_app_availabilityDisponibiliza o app em todos os territórios da App Store (ou um subconjunto), com inclusão automática para futuros
set_review_contactDefine o contato da App Review e a conta de demonstração opcional na versão
set_age_ratingDefine a declaração de classificação etária v2 (conjunto completo de descritores de conteúdo)
set_privacy_nutritionOrientação + link profundo para os rótulos de privacidade do App Privacy (não acessível via API)
set_eu_trader_statusOrientação + link profundo para o status de trader da DSA da UE (não acessível via API)
create_iapCria um IAP não consumível/consumível com localização, disponibilidade e preço com equalização automática
create_subscriptionCria um grupo de assinaturas, assinatura, localização, disponibilidade, preço e teste grátis
set_iap_review_screenshotAnexa a captura de tela da App Review a uma assinatura ou IAP
setup_app_store_signingBaixa os perfis de provisionamento da App Store do app e escreve um ExportOptions.plist de assinatura manual (funciona com chave de API de privilégio mínimo)
build_and_archiveCompila, arquiva e exporta um .ipa assinado via xcodebuild (requer Xcode no seu Mac)
upload_binaryEnvia o .ipa para o App Store Connect via altool, usando sua chave de API. confirm: true obrigatório

O fluxo completo encadeia: setup_app_store_signing para build_and_archive para upload_binary para wait_for_build (bloqueia até VALID) para attach_build para update_version_metadata para upload_screenshots para set_app_metadata/set_app_price/set_app_availability/set_age_rating/set_review_contact para release_preflight para submit_for_review para release_version. O comando de barra /asc-ship-release conduz tudo isso para você. release_preflight é a fonte única da verdade para "isso pode ser submetido?": ele verifica todos os campos endereçáveis pela API e termina com uma lista personalizada de "Passos manuais para concluir" para as poucas coisas que a Apple só permite no site (agrupamento do primeiro IAP, rótulos de nutrição de privacidade do App, status de trader da UE).

Obter Pro | Recuperar sua chave de licença

O que permanece manual (e por quê)

Algumas coisas que a Apple não expõe por chaves de API. O MCP nunca finge o contrário: ele retorna os passos exatos do site mais um link profundo, ou detecta o caso e aborta para que nada fique pela metade. Detalhes completos em LIMITATIONS.md (e asc_guide topic:limitations):

  • Criar um registro de app / App Group. POST /v1/apps é proibido para chaves de API; faça uma vez no site.
  • Rótulo de nutrição de privacidade do App. Não está na API. set_privacy_nutrition retorna a lista de verificação mais um link profundo.
  • Status de trader da UE (DSA). Não está na API. set_eu_trader_status retorna os passos. Decisão legal.
  • Primeiros IAPs/assinaturas de um app. Devem ser submetidos com a versão no site; submit_for_review aborta em vez de órfão a versão. Produtos posteriores são submetidos via API.
  • Criação de certificados / assinatura em nuvem. Chaves com privilégio mínimo não podem; setup_app_store_signing usa perfis de assinatura manual.
  • Compilar o binário. Requer Xcode no seu Mac (build_and_archive executa localmente).
  • Publicar uma resposta pública a uma avaliação. draft_review_response escreve; você cola no site.

Como o Sampling funciona (custo zero extra)

triage_reviews e draft_review_response usam o primitivo de Sampling do MCP. Quando você chama uma dessas ferramentas, este servidor envia uma solicitação sampling/createMessage de volta ao seu próprio cliente MCP. Seu cliente executa o LLM localmente (Claude Desktop usa sua conta; Claude Code usa sua sessão). Nunca chamamos a Anthropic do nosso lado.

Resultado: agrupamento de avaliações e rascunho de respostas custam exatamente o que você pagaria por qualquer outra solicitação Claude, nem um centavo a mais deste servidor.

Se seu cliente MCP ainda não suporta Sampling, ambas as ferramentas retornam um resultado estruturado degraded: true com uma explicação clara. Atualize Claude Desktop ou Claude Code para uma versão recente para funcionalidade completa.

Comandos de Barra (Prompts)

Digite estes no Claude Desktop ou Claude Code e o agente executa um fluxo de trabalho pré-construído com múltiplas ferramentas:

Comando de barraO que faz
/asc-startNovo aqui? Verifica a conexão, lista seus apps, explica grátis vs Pro em linguagem simples e recomenda seu próximo passo. Não assume conhecimento de App Store Connect.
/asc-weekly-reviewChama daily_briefing e depois list_reviews (avaliações baixas, últimos 7 dias) para cada app, agrupa temas, retorna um único resumo com lista de ações de 3 marcadores.
/asc-rejection-auditDado um app_id, chama release_preflight + metadata_diff + review_status, lê o resultado contra os principais motivos de rejeição de 2026 (diretriz 2.3 metadados, 4.0 design, privacidade-IA 5.1.2). Produz seções Bloqueante / Provável sinalização / Seguro.
/asc-release-go-no-goDado um app_id, combina pré-verificação + fila de avaliações + diff de metadados + principais concorrentes na mesma categoria. Retorna um GO ou NO-GO direto com três razões de apoio.
/asc-ship-releaseDado um app_id, conduz o lançamento completo: localiza ou cria a versão editável, envia metadados, anexa o build mais recente, envia capturas de tela, executa pré-verificação e depois submete. Para para confirmar antes de cada passo voltado ao exterior.
/asc-first-appDado um app_id, conduz o primeiro 1.0 de um app novo, do registro existente até a submissão, lidando com cada restrição de primeira vez e parando em cada passo manual do site (rótulo de privacidade, status de trader, agrupamento do primeiro IAP).

Estes são Prompts MCP conforme a especificação. Nenhum outro MCP de App Store Connect vem com eles.

Skill do Claude (instalação em uma linha)

Após instalar o MCP, execute:

npx @pofky/asc-mcp install-skill

Isso copia uma pequena Skill asc-review-triage para ~/.claude/skills/ para que o Claude capture automaticamente perguntas relacionadas a avaliações ("tem avaliações ruins recentemente?", "o que meus usuários dizem?", "avaliações esta semana?") e chame as ferramentas ASC certas sem você precisar explicar o fluxo de trabalho toda vez.

Funciona em macOS, Linux e Windows. Para remover: npx @pofky/asc-mcp uninstall-skill.

Exemplos Reais de Saída

"Execute uma pré-verificação antes de eu submeter"

Release Preflight: v2.3

State: PREPARE_FOR_SUBMISSION
Platform: IOS

PASS (with 1 warning)

Warnings (recommended):
- Missing screenshot set for APP_IPHONE_67. May be required.

Passing checks: 4
- [en-US] Description OK (3874/4000 chars).
- [en-US] Keywords OK (96/100 chars).
- 2 screenshot set(s) found across 1 locale(s).
- Build 40 attached and valid.

Total: 4 pass, 1 warn, 0 fail

"Briefing matinal"

Daily Briefing - 2026-04-13

2 apps in your account

Tempo: Habit Builder
- Latest: v2.3 (IOS) - Waiting for Review
- Action needed: v2.3 is Waiting for Review
- Reviews (last 3d): 5 new, avg 4.2 stars

NightOwl Weather
- Latest: v1.1 (IOS) - Live
- No new reviews in the last 3 days

"Gere notas de versão a partir do git"

Git History for Release Notes

Since: v2.2.0
Commits: 8
Character limit: 4000 chars for "What's New"

New Features (3)
- feat: add habit streak calendar view
- feat: dark mode support
- add widget for home screen

Bug Fixes (2)
- fix: notification timing off by 1 hour
- fix: crash on iPad when rotating

Instructions: Write user-facing "What's New" text.
Lead with the most impactful change. Keep under 4000 chars.

Por que Este em Vez das Alternativas Grátis?

Wrappers de API brutos (grátis)Este servidor
Número de ferramentas80 a 98241 ferramentas opinativas (leitura + controle)
Prompts MCP (comandos de barra)NãoSim, 6 fluxos de trabalho pré-construídos
Sampling MCP (custo zero de LLM no servidor)NãoSim, triagem de avaliações + rascunhos de respostas
Skill do Claude incluídaNãoSim, instalação em uma linha
Auditoria pré-submissãoNãoSim, detecta rejeições antes de você submeter
Briefings entre appsNãoSim, uma chamada, todos os apps
Notas de versão cientes de gitNãoSim, lê o histórico de commits do seu projeto
Resumos inteligentes de avaliaçõesNãoSim, agrupamento por tema, itens de ação
ConfiguraçãoCompilar do código-fonte (Swift ou Node)Um comando, init --write escreve sua configuração
Nível grátisAlgunsSim, 6 ferramentas, sem cadastro. Três delas só precisam de Node
Experimente a metade pagan/d7 dias, sem cartão, iniciado de dentro do seu agente

Wrappers brutos dão endpoints. Isto dá respostas.

Segurança

Suas credenciais nunca saem da sua máquina:

  • A chave privada .p8 é lida localmente. Tokens JWT são gerados no seu computador.
  • Chamadas de API vão diretamente da sua máquina para api.appstoreconnect.apple.com.
  • O servidor de licença vê apenas sua string de chave de licença. Zero dados da Apple, zero credenciais.
  • Totalmente open source. Leia o código.

Funciona Com

Requisitos

  • Node.js 18+
  • Associação ao Apple Developer Program
  • Chave de API do App Store Connect (função Admin ou App Manager)

Legal

Este projeto não é afiliado, endossado ou patrocinado pela Apple Inc. Apple, App Store, App Store Connect, TestFlight, iOS e macOS são marcas registradas da Apple Inc.

Licença

MIT