ShipASO

Audit any App Store or Google Play listing: measured ranks, keyword gaps, draft copy. Read-only.

사용해야 할까요

품질 및 안전성

A
설명 품질
98%
스키마 완전성
88%
이름 품질
87%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,166토큰 (도구 정의)
~1.1 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.69%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "shipaso": {
      "url": "https://api.shipaso.com/mcp"
    }
  }
}

원격 엔드포인트

https://api.shipaso.com/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (12)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢preview_app(query, bundleId, country)

Read-only ASO snapshot of any App Store app (grade, lead rank, top-10 count, sample). No account or store push — the optimized copy + push commands stay behind the human-approved loop. Works without a key.

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "App name, App Store URL, numeric id, or bundle id"
    },
    "bundleId": {
      "type": "string",
      "description": "Exact bundle id (skips resolution)"
    },
    "country": {
      "type": "string",
      "minLength": 2,
      "maxLength": 2,
      "description": "ISO country storefront, e.g. US"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢audit_app(query, bundleId, country)

Read-only listing audit: prioritized findings (severity + impact) plus a summary, derived from the live public listing. Read-only — never edits or pushes.

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "App name, App Store URL, numeric id, or bundle id"
    },
    "bundleId": {
      "type": "string",
      "description": "Exact bundle id (skips resolution)"
    },
    "country": {
      "type": "string",
      "minLength": 2,
      "maxLength": 2,
      "description": "ISO country storefront, e.g. US"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢audit_play_app(query, packageName, country, targets, brand)

Read-only GOOGLE PLAY listing audit: screenshot grade, the 30/80/4000 title/short/long-description budget, target-term coverage in the long description (Play's keyword surface), a keyword-stuffing guard, prioritized findings + summary, and capability locks for surfaces a public read can't see. Takes a Play package id (com.foo.bar) or a play.google.com URL — NOT a free-text name (Play has no public name search). Play has NO keyword field. Reads public Play data only; never edits or pushes.

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Google Play package id (com.foo.bar) or a play.google.com app URL"
    },
    "packageName": {
      "type": "string",
      "description": "Exact Play package id (skips resolution)"
    },
    "country": {
      "type": "string",
      "minLength": 2,
      "maxLength": 2,
      "description": "ISO country storefront, e.g. US"
    },
    "targets": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Target search terms to measure long-description coverage for"
    },
    "brand": {
      "type": "string",
      "description": "App brand name, so brand-burn in the short description is flagged"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢audit_play_app_owner(packageName, language, targets, brand)

Read-only audit of YOUR OWN Google Play app via the official Play Developer API — full fidelity including the short description (which the public page can't show), with NO capability locks. Requires a configured Play service account (GOOGLE_PLAY_SERVICE_ACCOUNT). Reads only — it opens and DISCARDS a Play 'edit' and NEVER commits, so it can't publish. Owner-only; for a competitor use audit_play_app.

입력 스키마

{
  "type": "object",
  "properties": {
    "packageName": {
      "type": "string",
      "description": "Your app's Play package id, e.g. com.foo.bar"
    },
    "language": {
      "type": "string",
      "description": "BCP-47 listing language, e.g. en-US"
    },
    "targets": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Target search terms to measure long-description coverage for"
    },
    "brand": {
      "type": "string",
      "description": "App brand name, so short-description brand-burn is flagged"
    }
  },
  "required": [
    "packageName"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢keyword_gaps(query, bundleId, country)

Read-only keyword opportunities: terms tracked competitors VISIBLY use that this app doesn't target and doesn't rank top-50 for, sorted by winnability. Inferred from competitor name/subtitle only — never their ranking algorithm.

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "App name, App Store URL, numeric id, or bundle id"
    },
    "bundleId": {
      "type": "string",
      "description": "Exact bundle id (skips resolution)"
    },
    "country": {
      "type": "string",
      "minLength": 2,
      "maxLength": 2,
      "description": "ISO country storefront, e.g. US"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢rank_check(query, bundleId, country)

Read-only organic rank check across the app's target keywords, plus winnability-ranked opportunities computed from those measured positions. Positions are live-measured, never fabricated.

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "App name, App Store URL, numeric id, or bundle id"
    },
    "bundleId": {
      "type": "string",
      "description": "Exact bundle id (skips resolution)"
    },
    "country": {
      "type": "string",
      "minLength": 2,
      "maxLength": 2,
      "description": "ISO country storefront, e.g. US"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢screenshot_coverage(query, bundleId, country)

Read-only screenshot scoring for the app's live store gallery (count, score, grade, levers to improve). Read-only — never uploads or pushes assets.

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "App name, App Store URL, numeric id, or bundle id"
    },
    "bundleId": {
      "type": "string",
      "description": "Exact bundle id (skips resolution)"
    },
    "country": {
      "type": "string",
      "minLength": 2,
      "maxLength": 2,
      "description": "ISO country storefront, e.g. US"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢competitor_watch(query, bundleId, country, competitors)

Read-only competitor diff: resolves the named competitors and reports their current listings, what changed vs. the last seen state, and a digest line. Read-only metadata comparison; no ranking-algorithm data is invented.

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "App name, App Store URL, numeric id, or bundle id"
    },
    "bundleId": {
      "type": "string",
      "description": "Exact bundle id (skips resolution)"
    },
    "country": {
      "type": "string",
      "minLength": 2,
      "maxLength": 2,
      "description": "ISO country storefront, e.g. US"
    },
    "competitors": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "description": "Competitor app names or bundle ids to compare against"
    }
  },
  "required": [
    "competitors"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢war_room(appId, competitors)

Read-only head-to-head rank war room for one of YOUR connected apps: your tracked-keyword rank history vs. live competitor positions on those same keywords. Reads stored data + live competitor ranks; writes nothing.

입력 스키마

{
  "type": "object",
  "properties": {
    "appId": {
      "type": "string",
      "description": "Id of a connected app you own"
    },
    "competitors": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Competitor names to compare (max 4)"
    }
  },
  "required": [
    "appId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢localization_gaps(appId)

Read-only localization expansion recommendations (ROI-sorted locales to add) for one of YOUR connected apps, from its most recent App Store Connect run. A static, bundled heuristic over the locales already read — no live install data is fabricated. Empty until you've run an ASC-connected pass.

입력 스키마

{
  "type": "object",
  "properties": {
    "appId": {
      "type": "string",
      "description": "Id of a connected app you own"
    }
  },
  "required": [
    "appId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢proof

Read-only, anonymized aggregate proof across all tracked apps (real rank-win numbers — no app names, no user data). This is the 'prove the rank moved' surface that closes the prepare → approve → push → prove loop. Works without a key.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢propose_copy(query, bundleId, country)

Returns a DRAFT optimized listing (name/subtitle/keywords/description) with validation for any app. THIS IS A DRAFT ONLY: it does NOT persist a proposal and does NOT push to the App Store. Publishing stays a human-approved action in ShipASO — an agent can draft and read; only a human approves and pushes.

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "App name, App Store URL, numeric id, or bundle id"
    },
    "bundleId": {
      "type": "string",
      "description": "Exact bundle id (skips resolution)"
    },
    "country": {
      "type": "string",
      "minLength": 2,
      "maxLength": 2,
      "description": "ISO country storefront, e.g. US"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 12개
검증됨버전이 기록되지 않음도구 12개
검증됨버전이 기록되지 않음도구 12개