返回 MCP 目录
public公开dns本地运行

pabal-mcp

一个用于App Store Connect和Google Play Console API的MCP服务器,提供本地化ASO工作流工具,支持元数据管理、版本发布和商店同步。

article

README

🚀 App Store Connect与Play Console API的MCP服务器

本项目将最新的ASO工作流以MCP工具的形式呈现。你可以将其作为标准输入输出的MCP服务器(如Claude Code、Cursor、MCP Inspector等)运行,从而无需离开AI客户端即可管理应用商店的元数据、发布版本以及进行同步操作。

⚠️ 重要提示

该服务完全在本地运行,因此你的凭证和缓存的ASO数据不会离开本地环境(商店API调用直接从你的设备发起)。

Cover

安装MCP服务器

韩语文档

🚀 快速开始

如果你需要管理应用在App Store Connect和Google Play Console上的相关信息,本MCP服务器将为你提供便捷的解决方案。通过它,你可以在AI客户端内完成各种操作,无需手动在应用商店后台进行繁琐的点击。

✨ 主要特性

❌ 不使用pabal - mcp的情况

  • 每次更新都需要手动在App Store Connect和Google Play Console中进行操作。
  • 在不同地区和版本说明之间复制粘贴时容易出错。
  • 每个客户或项目都需要重复相同的设置步骤。

✅ 使用pabal - mcp的优势

  • 一个MCP服务器即可处理两个应用商店的ASO数据拉取和推送。
  • 可以在AI客户端中进行一致的版本说明更新和版本检查。
  • 基于本地缓存和配置,拥有可复用、可脚本化的工作流。

📦 安装指南

要求

  • Node.js >= 18
  • MCP客户端:Cursor、Claude Code、VS Code、Windsurf等。

💡 使用建议

如果你经常进行ASO或应用商店相关任务,可以添加一个客户端规则,如“始终使用pabal - mcp”,这样MCP服务器将自动调用,无需每次都手动输入。

全局安装(推荐)

npm install -g pabal-mcp
# 或者
yarn global add pabal-mcp

建议先进行全局安装,以实现最快启动并避免npm下载问题(如代理、防火墙或离线情况)。你仍然可以使用npx -y pabal - mcp,但全局安装是更好的选择。全局安装后,将MCP配置设置为command: "pabal - mcp"(无需使用npx)。

在Cursor中安装

添加到~/.cursor/mcp.json(全局)或项目的.cursor/mcp.json中:

{
  "mcpServers": {
    "pabal-mcp": {
      "command": "npx",
      "args": ["-y", "pabal-mcp"]
    }
  }
}
在VS Code中安装

settings.json的MCP部分示例:

"mcp": {
  "servers": {
    "pabal-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "pabal-mcp"]
    }
  }
}
在Claude Code中安装

💡 使用建议

请参阅官方Claude Code MCP文档以获取详细的配置选项。

添加到Claude Code MCP设置(JSON格式):

{
  "mcpServers": {
    "pabal-mcp": {
      "command": "npx",
      "args": ["-y", "pabal-mcp"]
    }
  }
}

或者如果已经全局安装(npm install -g pabal - mcp):

{
  "mcpServers": {
    "pabal-mcp": {
      "command": "pabal-mcp"
    }
  }
}
在Windsurf中安装
{
  "mcpServers": {
    "pabal-mcp": {
      "command": "npx",
      "args": ["-y", "pabal-mcp"]
    }
  }
}

🔐 配置凭证

  1. 创建配置目录并设置权限:
mkdir -p ~/.config/pabal-mcp
chmod 700 ~/.config/pabal-mcp
open ~/.config/pabal-mcp
  1. 创建配置文件(预填充占位符):
cat <<'EOF' > ~/.config/pabal-mcp/config.json
{
  "dataDir": "/ABSOLUTE/PATH/TO/pabal-web",
  "appStore": {
    "issuerId": "xxxx",
    "keyId": "xxxx",
    "privateKeyPath": "./app-store-key.p8"
  },
  "googlePlay": {
    "serviceAccountKeyPath": "./google-play-service-account.json"
  }
}
EOF

在获取App Store Connect密钥后,下一步将替换issuerIdkeyId占位符。dataDir是从每个应用商店拉取的原始数据存储的绝对路径(例如,/ABSOLUTE/PATH/TO/pabal - web)。

  1. 将凭证添加到~/.config/pabal - mcp/

    App Store Connect API密钥

    • App Store Connect > 用户与访问 > 密钥 → “生成API密钥”。使用管理员/应用管理器权限,下载.p8文件(仅可下载一次),并将其保存为~/.config/pabal - mcp/app - store - key.p8
    • 从密钥详细信息中复制发行商ID和密钥ID,然后使用这些值更新~/.config/pabal - mcp/config.json中的issuerIdkeyId

    Google Play服务账户JSON文件

    • Google Cloud管理服务账户 → 创建一个服务账户(为清晰起见,将其命名为pabal) → 创建密钥 → JSON。
    • 将下载的JSON文件保存为~/.config/pabal - mcp/google - play - service - account.json
    • 授予该服务账户电子邮件访问Play Console的权限:转到[用户和权限](https://play.google.com/console/u/0/developers/users - and - permissions) → 邀请新用户 → 输入服务账户电子邮件 → 选择ASO应用 → 启用以下权限:
      • 查看应用信息并下载批量报告(只读)
      • 创建、编辑和删除应用草稿
      • 发布到生产环境
      • 管理设备排除列表
      • 使用Play应用签名
      • 管理应用商店展示

    配置文件结构(更新ID后)

    {
      "dataDir": "/ABSOLUTE/PATH/TO/pabal-web",
      "appStore": {
        "issuerId": "<your-issuer-id>",
        "keyId": "<your-key-id>",
        "privateKeyPath": "./app-store-key.p8"
      },
      "googlePlay": {
        "serviceAccountKeyPath": "./google-play-service-account.json"
      }
    }
    
  2. 拉取应用商店数据 使用apps - init命令从应用商店API获取并自动注册现有应用。这将使用你应用商店中可用的应用填充~/.config/pabal - mcp/registered - apps.json文件。

  3. 锁定文件权限(配置文件夹中的所有文件):

chmod 600 ~/.config/pabal-mcp/*

此操作适用于~/.config/pabal - mcp/下的每个文件;添加任何新的凭证文件后,请重新运行此命令。

🔧 技术细节

MCP工具

  • 身份验证
    • auth - check:检查App Store Connect / Google Play的身份验证。
  • 应用管理
    • apps - init:从应用商店API获取应用并自动注册它们(Google Play需要packageName)。
    • apps - add:通过bundleId/packageName注册单个应用。
    • apps - search:搜索已注册的应用。
  • ASO数据同步
    • aso - pull:将ASO数据获取到.aso/本地缓存。
    • aso - push:将.aso/中的ASO数据推送到应用商店。
  • 版本发布管理
    • release - check - versions:显示每个应用商店的最新版本。
    • release - create:创建新版本。
    • release - pull - notes:将版本说明拉取到.aso/缓存。
    • release - update - notes:更新版本说明/新增内容。

🏗️ 开发

从源代码构建

git clone https://github.com/quartz-labs-dev/pabal-mcp.git
cd pabal-mcp
yarn install
yarn dev:mcp

测试

运行所有测试:npm test

📄 许可证

本项目采用MIT许可证。

🌐 Pabal Web

想同时管理ASO和SEO吗?快来了解Pabal Web

Pabal Web

Pabal Web是一个基于Next.js的Web界面,为ASO、SEO、Google Search Console索引等的统一管理提供了完整的解决方案。

👉 访问Pabal Web

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端