Cover

Install MCP Server

English docs

#pabal-mcp โ€” App Store / Play Store ASO์šฉ MCP ์„œ๋ฒ„

์•ฑ์Šคํ† ์–ด/ํ”Œ๋ ˆ์ด์Šคํ† ์–ด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ, ๋ฆด๋ฆฌ์Šค, ASO ๋™๊ธฐํ™”๋ฅผ MCP ๋„๊ตฌ๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Claude Code, Cursor, MCP Inspector ๋“ฑ MCP ํด๋ผ์ด์–ธํŠธ์—์„œ stdio ์„œ๋ฒ„๋กœ ์‹คํ–‰ํ•ด ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[!NOTE] 100% ๋กœ์ปฌ์—์„œ ์‹คํ–‰๋˜์–ด ์ž๊ฒฉ ์ฆ๋ช…๊ณผ ์บ์‹œ๋œ ASO ๋ฐ์ดํ„ฐ๊ฐ€ ์™ธ๋ถ€๋กœ ์ „์†ก๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์Šคํ† ์–ด API ํ˜ธ์ถœ๋„ ๋‹น์‹ ์˜ ๋กœ์ปฌ ๋จธ์‹ ์—์„œ ์ง์ ‘ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.


#โŒ pabal-mcp ์—†์ด

  • ์Šคํ† ์–ด๋งˆ๋‹ค ํด๋ฆญํ•˜๋ฉฐ ์—…๋ฐ์ดํŠธ
  • ๋กœ์บ˜ยท๋ฆด๋ฆฌ์Šค ๋…ธํŠธ ๋ณต๋ถ™ ์˜ค๋ฅ˜
  • ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค ๋ฐ˜๋ณต ์„ค์ •

#โœ… pabal-mcp์™€ ํ•จ๊ป˜

  • ๋‘ ์Šคํ† ์–ด ASO ํ’€/ํ‘ธ์‹œ๋ฅผ ํ•œ ์„œ๋ฒ„์—์„œ ์ฒ˜๋ฆฌ
  • ๋ฆด๋ฆฌ์Šค ๋…ธํŠธ ์—…๋ฐ์ดํŠธยท๋ฒ„์ „ ์ฒดํฌ๋ฅผ AI ํด๋ผ์ด์–ธํŠธ ์•ˆ์—์„œ ์ˆ˜ํ–‰
  • ๋กœ์ปฌ ์บ์‹œ/์„ค์ • ๊ธฐ๋ฐ˜์˜ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์›Œํฌํ”Œ๋กœ

#๐Ÿ› ๏ธ MCP ํด๋ผ์ด์–ธํŠธ ์„ค์น˜

#์š”๊ตฌ ์‚ฌํ•ญ

  • Node.js 18 ์ด์ƒ
  • MCP ํด๋ผ์ด์–ธํŠธ: Cursor, Claude Code, VS Code, Windsurf

[!TIP] ASO/์Šคํ† ์–ด ์ž‘์—…์„ ์ž์ฃผ ํ•œ๋‹ค๋ฉด MCP ๊ทœ์น™์— "ํ•ญ์ƒ pabal-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": {
  "servers": {
    "pabal-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "pabal-mcp"]
    }
  }
}

#Claude Code

[!TIP] ์ž์„ธํ•œ ์„ค์ • ์˜ต์…˜์€ 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
  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 ํ‚ค๋ฅผ ํ™•์ธํ•œ ๋’ค issuerId, keyId ๊ฐ’์„ ์‹ค์ œ ๊ฐ’์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ์„ธ์š”. dataDir๋Š” ๊ฐ ์Šคํ† ์–ด์—์„œ ๋‚ด๋ ค๋ฐ›์€ raw ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์ ˆ๋Œ€ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค (์˜ˆ: /ABSOLUTE/PATH/TO/pabal-web).

  1. ~/.config/pabal-mcp/์— ์ž๊ฒฉ ์ฆ๋ช… ์ถ”๊ฐ€:

    App Store Connect API ํ‚ค:

    • App Store Connect โ†’ Users and Access โ†’ Keys โ†’ "Generate API Key"์—์„œ Admin/App Manager ๊ถŒํ•œ์œผ๋กœ ํ‚ค ์ƒ์„ฑ ํ›„ .p8๋ฅผ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค(ํ•œ ๋ฒˆ๋งŒ ๊ฐ€๋Šฅ). ~/.config/pabal-mcp/app-store-key.p8๋กœ ์ €์žฅํ•˜์„ธ์š”.
    • ํ‚ค ์ƒ์„ธ ํ™”๋ฉด์—์„œ Issuer ID์™€ Key ID๋ฅผ ๋ณต์‚ฌํ•œ ๋’ค ~/.config/pabal-mcp/config.json์˜ issuerId, keyId์— ๋ฐ˜์˜ํ•˜์„ธ์š”.

    Google Play ์„œ๋น„์Šค ๊ณ„์ • JSON:

    • Google Cloud ์„œ๋น„์Šค ๊ณ„์ • ๊ด€๋ฆฌ โ†’ ์ƒˆ ์„œ๋น„์Šค ๊ณ„์ • ์ƒ์„ฑ(์ด๋ฆ„์€ pabal ๊ถŒ์žฅ) โ†’ ํ‚ค ์ƒ์„ฑ โ†’ JSON ๋‹ค์šด๋กœ๋“œ.
    • ๋‹ค์šด๋กœ๋“œํ•œ JSON์„ ~/.config/pabal-mcp/google-play-service-account.json์œผ๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
    • Play Console โ†’ ์‚ฌ์šฉ์ž ๋ฐ ๊ถŒํ•œ โ†’ ์ƒˆ ์‚ฌ์šฉ์ž ์ดˆ๋Œ€ โ†’ ์„œ๋น„์Šค ๊ณ„์ • ์ด๋ฉ”์ผ ์ž…๋ ฅ.
      • ์•ฑ ๊ถŒํ•œ: 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: ๋ฆด๋ฆฌ์Šค ๋…ธํŠธ/What's New ์—…๋ฐ์ดํŠธ

#๐Ÿ—๏ธ ๊ฐœ๋ฐœ

#์†Œ์Šค์—์„œ ์‹คํ–‰

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

#ํ…Œ์ŠคํŠธ

์ „์ฒด ํ…Œ์ŠคํŠธ ์‹คํ–‰: npm test




#๐ŸŒ Pabal Web

ASO์™€ SEO๋ฅผ ํ•จ๊ป˜ ๊ด€๋ฆฌํ•˜๊ณ  ์‹ถ์œผ์‹ ๊ฐ€์š”? Pabal Web์„ ํ™•์ธํ•ด๋ณด์„ธ์š”.

Pabal Web

Pabal Web์€ Next.js ๊ธฐ๋ฐ˜์˜ ์›น ์ธํ„ฐํŽ˜์ด์Šค๋กœ, ASO, SEO, Google Search Console ์ธ๋ฑ์‹ฑ ๋“ฑ์„ ํ†ตํ•ฉ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์™„์ „ํ•œ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค.

๐Ÿ‘‰ Pabal Web ๋ฐฉ๋ฌธํ•˜๊ธฐ

Getting Started - Pabal MCP | Pabal | Pabal