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
Запустится сервер stdio, который будет ожидать подключения MCP-клиента. Чтобы проверить установку без учётных данных:
uvx pubship --check
Приведённые выше команды устанавливают опубликованный пакет PyPI. В исходной копии репозитория могут быть изменения, которые ещё не опубликованы. После uv sync для проверки локальной версии выполните uv run pubship --check.
Подключение ассистента
Claude Code
claude mcp add --transport stdio pubship -- uvx pubship
Задайте переменные окружения, приведённые выше, в оболочке, из которой запускаете клиент. После изменения переменных перезапустите клиент.
Codex
codex mcp add pubship -- uvx pubship
Cursor и Gemini CLI
Манифесты клиентов в этом репозитории содержат локальный путь к ключу учётной записи службы и имена пакетов. Инструкции по настройке и команду установки Gemini CLI см. в разделе настройка клиента. Для установки с помощью агента ознакомьтесь с файлом llms-install.md. Указывайте только путь к файлу ключа, но не его содержимое.
Универсальная среда MCP
Настройте сервер stdio, указав исполняемый файл uvx, аргумент pubship и локальное окружение. Для клиентов, которым требуется явная конфигурация:
{
"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 vitals и отчётах по массовым операциям с заданными ограничениями.
-
Просмотр ресурсов каталога, подписок, товаров и аккаунтов с отдельными разрешениями на доступ к конфиденциальным данным.
-
Подготовка и проверка изменений с явными разрешениями на приложение и метод и однократным выполнением.
-
Ограниченная передача локальных файлов и разделение публикации и подготовки изменений.
По умолчанию доступны операции чтения. Для необязательных операций записи и чтения конфиденциальных данных требуется явная настройка. Текст от поставщика данных считается недоверенным. Отсутствующие данные не равны нулю; отправленное изменение не обязательно опубликовано. Количество операций не подтверждает их проверку в реальном взаимодействии с Google.
Изучите контракты и ограничения
Самостоятельное размещение для собственных аккаунтов
pubship-server сохраняет HTTP-реализацию для инфраструктуры, которой вы управляете. Сервер отказывается запускаться, если не задана переменная PUBSHIP_SERVER_ALLOWED_EMAILS. Для входа требуется подписанный токен Google ID, точное совпадение подтверждённого адреса электронной почты и привязка nonce; всё это проверяется до сохранения каких-либо учётных данных Google. Удаление аккаунта из списка разрешённых при следующем использовании аннулирует сохранённые для него разрешения. Для старых разрешений, не связанных с подтверждённой личностью, потребуется повторное подключение. Регистрация остаётся закрытой, пока оператор явно её не включит.
Проект не управляет сервисом, подключённым к Google. См. обоснование локального подхода и инструкции по самостоятельному размещению.
Примечания к выпускам
В PubShip 0.24.2 улучшены описания инструментов и подсказки для подтверждения действий. Кроме того, определения проверяются на соответствие как в исходной, так и в упакованной версии. Сведения о более ранних версиях см. в журнале изменений. Исходные версии могут опережать публикацию пакета.
Разработка
В документе качество определений инструментов описаны автономные проверки TDQS 1.2, проверенные результаты эвристического анализа и регрессионные проверки контракта MCP. Оценка автономного линтера не основана на оценке модели.
env -u GOOGLE_APPLICATION_CREDENTIALS uv sync --frozen --all-extras --group browser --group tdqs
env -u GOOGLE_APPLICATION_CREDENTIALS uv run --frozen --all-extras --group browser --group tdqs 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 не предоставляет размещённый сервис и никогда не получает ваши учётные данные. Используйте PubShip только для приложений и аккаунтов разработчиков, принадлежащих вам или вашей организации, и соблюдайте условия использования Play Developer API от Google. Проект PubShip не предоставляет и не одобряет размещённые экземпляры сервиса, запущенные другими лицами.
PubShip — независимый проект с открытым исходным кодом, не связанный с Google, не одобренный и не спонсируемый этой компанией. Google, Google Play и Android — товарные знаки Google LLC.
Лицензия
PubShip — свободное программное обеспечение, распространяемое только на условиях GNU Affero General Public License v3.0 (AGPL-3.0-only). Copyright (C) 2026 Denys Vorobyov. По вопросам других условий лицензирования обращайтесь по адресу legal@pubship.dev.
Товарные знаки · Уведомления о сторонних компонентах · Веб-сайт