PubShip
공식Google Play 개발자 워크플로우를 위한 오픈소스 MCP 서버입니다. 자체 자격 증명으로 로컬에서 실행됩니다.
PubShip MCP(으)로 무엇을 할 수 있나요?
- Play 출시 및 리뷰 검토 — 어시스턴트에게 앱의 현재 출시 정보, 사용자 리뷰, Android vitals를 가져오도록 요청하세요.
- 범위 지정 대량 보고서 검토 — 어시스턴트에게 카탈로그, 구독, 제품, 계정 데이터를 다루는 대량 보고서를 가져와 요약하도록 하세요.
- 수정 사항 준비 및 단계화 — 어시스턴트에게 명시적 권한 확인을 통해 앱 변경 사항을 초안 작성하고 검토하도록 요청하고, 수정 사항을 게시와 분리하여 유지하세요.
- 로컬 파일 전송 관리 — 어시스턴트에게 머신과 Play Console 간의 제한된 파일 전송을 처리하도록 지시하고, 스테이징과 실시간 업데이트를 혼합하지 마세요.
문서
PubShip
Google Play 개발자 워크플로우를 내 컴퓨터에서 직접. 릴리스를 검토하고, 리뷰와 보고서를 이해하며, MCP 클라이언트에서 명시적으로 승인된 변경 사항을 준비하세요.
로컬에서 시작하기
Play Console에서 앱에 대한 권한이 있는 자체 서비스 계정을 사용하세요. 개인 JSON은 이 저장소 외부에 보관하세요. 의도한 작업에 필요한 권한만 부여하세요. 어시스턴트 대화에 자격 증명을 절대 붙여넣지 마세요.
export GOOGLE_APPLICATION_CREDENTIALS=/absolute/private/path/service-account.json
export GOOGLE_PLAY_PACKAGES=com.example.app
uvx pubship
이 명령은 MCP 클라이언트를 기다리는 stdio 서버를 시작합니다. 자격 증명 없는 설치 확인의 경우:
uvx pubship --check
버전 0.24.0은 첫 번째 PubShip 릴리스 후보입니다. PyPI 및 MCP 레지스트리 게시는 별도의 단계이며 이 체크아웃에 포함되지 않습니다. 게시될 때까지 uv sync 이후 소스 체크아웃에서 uv run pubship --check을 사용하세요.
어시스턴트 연결
Claude Code
claude mcp add --transport stdio pubship -- uvx pubship
클라이언트를 실행하는 셸에서 위의 환경 변수를 설정하세요. 환경을 변경한 후 클라이언트를 다시 시작하세요.
Codex
codex mcp add pubship -- uvx pubship
일반 MCP 하네스
실행 파일 uvx, 인수 pubship, 로컬 환경으로 stdio 서버를 구성하세요. 명시적 구성이 필요한 클라이언트의 경우:
{
"mcpServers": {
"pubship": {
"command": "uvx",
"args": ["pubship"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/absolute/private/path/service-account.json",
"GOOGLE_PLAY_PACKAGES": "com.example.app"
}
}
}
}
클라이언트 구성은 컴퓨터에 유지됩니다. 대체 인증 모드, 활성화된 API, 보고서 및 권한 경계는 설정을 참조하세요.
무엇을 할 수 있나요?
고정된 인벤토리에는 172개의 메서드 정의가 포함되어 있습니다. 170개는 구현되어 있고, 하나의 구독 아카이브 메서드는 Google에서 지원하지 않으며, 무효화된 구매 액세스는 프로젝트 정책에 따라 의도적으로 비활성화되어 있습니다. 비활성화된 작업은 로컬 또는 자체 호스팅 도구를 통해 호출할 수 없습니다.
- 릴리스, 리뷰, Android 바이탈 및 범위 지정 대량 보고서를 읽습니다.
- 별도의 민감 데이터 권한으로 카탈로그, 구독, 제품 및 계정 리소스를 검사합니다.
- 명시적인 앱/메서드 권한 및 일회성 실행으로 쓰기를 준비하고 검토합니다.
- 로컬 파일 전송을 제한하고 게시를 편집 스테이징과 분리합니다.
읽기가 기본값입니다. 선택적 쓰기 및 민감한 읽기에는 명시적 구성이 필요합니다. 제공자 텍스트는 신뢰할 수 없는 데이터입니다. 누락된 데이터는 0이 아닙니다. 제출된 변경 사항이 반드시 게시되는 것은 아닙니다. 작업 수는 Google의 실시간 검증을 주장하지 않습니다.
자체 계정을 위한 자체 호스팅
pubship-server는 사용자가 제어하는 인프라를 위한 HTTP 구현을 유지합니다. PUBSHIP_SERVER_ALLOWED_EMAILS 없이는 시작을 거부합니다. 로그인하려면 서명된 Google ID 토큰, 확인된 정확한 이메일 일치 및 Google 자격 증명이 저장되기 전에 nonce 바인딩이 필요합니다. 허용 목록에서 계정을 제거하면 다음 사용 시 저장된 권한이 무효화됩니다. 확인된 신원이 없는 레거시 권한은 다시 연결해야 합니다. 운영자가 명시적으로 활성화할 때까지 등록은 닫혀 있습니다.
프로젝트가 운영하는 Google 연결 서비스는 없습니다. 로컬 우선 결정 및 자체 호스팅 설정을 참조하세요.
개발
env -u GOOGLE_APPLICATION_CREDENTIALS uv sync --all-extras --group browser
env -u GOOGLE_APPLICATION_CREDENTIALS uv run pytest
env -u GOOGLE_APPLICATION_CREDENTIALS uv run ruff check .
env -u GOOGLE_APPLICATION_CREDENTIALS uv run ruff format --check .
env -u GOOGLE_APPLICATION_CREDENTIALS uv run python scripts/generate_catalog.py --check
env -u GOOGLE_APPLICATION_CREDENTIALS uv run python scripts/generate_verification.py --check
env -u GOOGLE_APPLICATION_CREDENTIALS uv run python scripts/distribution_metadata.py --check
env -u GOOGLE_APPLICATION_CREDENTIALS uv build
env -u GOOGLE_APPLICATION_CREDENTIALS uv run python scripts/check_artifacts.py
테스트는 가짜 제공자를 사용합니다. 브라우저 테스트에는 설치된 Playwright 엔진이 필요합니다. 백업 통합 테스트에는 age가 필요합니다. 사용할 수 없는 플랫폼 검사를 정직하게 기록하세요. 기여 정책, 릴리스 프로세스 및 보안 보고를 참조하세요.
의도된 사용
PubShip은 개발자가 자신의 Google Play 배포 작업을 자동화하는 데 도움을 줍니다. 사용자의 컴퓨터 또는 사용자가 제어하는 인프라에서 사용자의 Google 자격 증명과 Play Console 권한으로 실행됩니다. PubShip 프로젝트는 호스팅 서비스를 운영하지 않으며 사용자의 자격 증명을 수신하지 않습니다. 사용자 또는 조직이 소유한 앱과 개발자 계정에만 사용하고 Google의 Play Developer API 약관을 따르세요. 다른 사람이 운영하는 호스팅 PubShip 인스턴스는 PubShip 프로젝트에서 제공하거나 보증하지 않습니다.
PubShip은 독립적인 오픈 소스 프로젝트이며 Google과 제휴, 보증 또는 후원 관계가 아닙니다. Google, Google Play 및 Android는 Google LLC의 상표입니다.
라이선스
PubShip은 GNU Affero General Public License v3.0 only(AGPL-3.0-only)에 따른 자유 소프트웨어입니다. Copyright (C) 2026 Denys Vorobyov. 기타 라이선스 조건은 legal@pubship.dev로 문의하세요.