
App Console: Google Play, App Store Connect, AdMob
io.github.Alekla0126由 GitHub 账号 Alekla0126 发布v0.3.0更新于 Oct 29, 2026
Google Play Console, App Store Connect and AdMob via official APIs: releases, reviews, vitals, ads
概览
通过官方 API 让助手管理 Google Play、App Store Connect 和 AdMob 的 MCP 服务器:发布、评论、vitals、商店信息与广告报表。
- 可以做什么
- 列出应用,读取和更新商店信息,管理截图与图片,查询公开搜索排名
- 上传安装包、创建版本、在轨道间推广、调整分阶段发布、提交审核并发布已批准版本
- 读取并回复评论,查看崩溃与 ANR 指标,管理订阅、价格和应用内购买
- 管理 Play Console 用户、服务账号与权限,提交数据安全表单
- 按应用、广告单元、国家或格式获取 AdMob 收入、eCPM、匹配率/展示率和点击率,以及推广活动报表和广告来源
- 在 Google 已为发布商 ID 开通的情况下创建 AdMob 应用、广告单元和中介组
- 适用场景
- 适合发布移动应用的团队:让助手查看崩溃指标、评论、销售和广告收入,或在不打开浏览器操作商店后台的情况下准备并推送版本与商店信息变更。
- 运行要求
- 通过 uv/uvx(Python)或已发布的容器镜像在本地运行。Google Play 需要 GOOGLE_PLAY_SERVICE_ACCOUNT 指向服务账号 JSON 密钥,并在 Play Console 中邀请该账号并授予相应权限。App Store Connect 需要 ASC_KEY_ID、ASC_ISSUER_ID 和 ASC_PRIVATE_KEY_PATH(或 ASC_API_KEY_JSON);销售报表还需 ASC_VENDOR_NUMBER。AdMob 需用桌面客户端密钥文件做一次 OAuth 登录;ADMOB_PUBLISHER_ID 仅在多个账号时需要。
安装
在 SourceWeft 中
- 打开 控制台中的 App Console: Google Play, App Store Connect, AdMob,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
app-console-mcp
Google Play Console, App Store Connect and AdMob from your terminal or from Claude — no browser.
Driving store consoles through a browser agent burns tokens on screenshots and page snapshots and breaks whenever the UI changes. This project talks to the official APIs instead and answers in a few lines of plain text. Every tool exists twice, with identical output:
- as an MCP tool for Claude Code, Claude Desktop or any MCP client, and
- as a CLI command (
appconsole ...) for you, your scripts and CI.
It ships as three Claude Code plugins (Google Play, App Store Connect, AdMob), each with its MCP server and a skill that teaches Claude the safe workflows. It also comes built into Alchemist Coder, the open-source desktop app for Claude Code and Codex: every agent there gets these tools for the services you have set up.
What it can do
✱ AdMob's limited access: Google has to enable your publisher id for these methods (ask your AdMob account manager or AdMob support) and the token needs the admob.monetization scope (appconsole admob login --monetization). Until then they explain what to ask for.
Safe by default. Every tool that changes something is a dry run unless you pass confirm=true
(--confirm in the CLI). Google Play dry runs build the change in a draft edit and let Google validate it
before discarding it, so you see real errors before anything is published. MCP tools carry
readOnlyHint/destructiveHint annotations so clients can auto-approve reads and ask before writes.
Install
You need uv (it fetches Python and the dependencies).
Claude Code plugins (recommended)
Install only the ones you use. Each plugin asks for its credentials (paths and ids; you can leave them empty and
use appconsole config instead), adds its MCP server and skill, and puts appconsole on the PATH of Claude's
Bash tool.
Any MCP client (Claude Desktop, Cursor, Codex, VS Code…)
appconsole mcp all serves the three services as a single server, for clients that take only one.
Or with the Claude Code CLI:
claude mcp add google-play -- uvx --from git+https://github.com/Alekla0126/app-console-mcp appconsole mcp play
CLI only
Credentials
Settings are read from environment variables first, then from ~/.config/appconsole/config.json
(appconsole config set KEY VALUE, stored with 600 permissions). Only file paths and ids are stored; keys stay
where you keep them. Run appconsole doctor to check all three services.
Google Play setup
- In a Google Cloud project enable the Google Play Android Developer API and the Google Play Developer Reporting API.
- Create a service account (IAM & Admin > Service accounts) and a JSON key for it.
- In Play Console > Users and permissions > Invite new users, add the service account's email and grant what you need: View app information (read and vitals), Manage store presence (listings), Release apps to testing tracks / Release to production (uploads and rollouts), Reply to reviews.
appconsole config set GOOGLE_PLAY_SERVICE_ACCOUNT /path/to/key.json- For
users,grantandrevoke:appconsole config set GOOGLE_PLAY_DEVELOPER_ID <the number after /developers/ in any Play Console address>, and give the key "Manage users and permissions".
App Store Connect setup
- App Store Connect > Users and Access > Integrations > App Store Connect API > Team Keys > generate a key. Role App Manager covers everything here except sales, which needs Sales or Finance.
- Download
AuthKey_<KEY_ID>.p8(Apple lets you download it only once) and note the Key ID and the Issuer ID. - Configure:
Already use fastlane? Point ASC_API_KEY_JSON to your api_key.json instead. If the .p8 file sits in
~/.appstoreconnect/private_keys or ~/private_keys, the path is optional.
AdMob setup
AdMob does not accept service accounts, only a Google user, so you authorize once:
- In a Google Cloud project enable the AdMob API.
- Configure the OAuth consent screen (External; add yourself as a test user) and set its publishing status to In production — refresh tokens of apps left in Testing expire after 7 days. For your own use you will see an "unverified app" warning; that is expected.
- Create an OAuth client ID of type Desktop app and download its JSON.
appconsole admob login --client-secrets client_secret.json(opens the browser once; the token is saved in~/.config/appconsole/admob-token.json). Add--monetizationto also create apps, ad units and mediation groups, once Google enabled your publisher id for them.
Alternative: gcloud application-default credentials with the AdMob scopes —
gcloud auth application-default login --scopes=https://www.googleapis.com/auth/admob.readonly,https://www.googleapis.com/auth/admob.report,https://www.googleapis.com/auth/cloud-platform.
With several publisher accounts set ADMOB_PUBLISHER_ID=pub-....
All settings
What the official APIs cannot do
These still need the website, and the tools say so when you hit them:
- Google Play: the Publish button when managed publishing is on (and Send for review when Google demands it by hand), creating apps, content rating, ads and advertising ID declarations, target audience, app access, custom store listings and listing experiments, replying to reviews older than about a week, and reading back the Data safety answers.
- App Store Connect: creating the app record, App Privacy labels, age rating, app previews, Resolution Center messages. Creating and pricing subscriptions and in-app purchases has an API but isn't implemented yet.
- AdMob: privacy & messaging (GDPR, US states, IDFA), blocking controls, the policy center, payments, app-ads.txt status and users. Creating apps, ad units, mappings and mediation groups exists but only for publishers Google enabled (✱ above).
Development
bin/appconsole and the plugins run the package with uvx --from <repo>, which caches the build; after editing
the sources use the .venv or add --refresh-package app-console-mcp. For a release, bump the version in
pyproject.toml, src/app_console_mcp/__init__.py and the three entries of .claude-plugin/marketplace.json.
Tagging v* runs .github/workflows/publish.yml, which publishes to PyPI and then to the official MCP Registry
(server.json). It is off until PyPI trusts the workflow: on pypi.org add a pending trusted publisher (project
app-console-mcp, owner Alekla0126, repository app-console-mcp, workflow publish.yml, environment pypi), then
gh variable set PUBLISH_PYPI --body true and re-run the workflow.
Until then, .github/workflows/docker.yml (on the same tags, or run by hand) pushes the all-in-one image to
ghcr.io/alekla0126/app-console-mcp and lists that image in the MCP Registry instead. The registry reads the image,
so the package must be public (GitHub → Packages → app-console-mcp → Package settings → Change visibility). Once
PyPI is on, add the image to server.json's packages next to PyPI's, because the registry takes each version once.
A tool is one function decorated with @tool() (or @tool(write=True) with a confirm argument) in
src/app_console_mcp/{play,appstore,admob}.py. Its signature and Google-style docstring become both the MCP
schema and the CLI options. Keep outputs short: they are read by a model.
Issues and pull requests are welcome.
License
MIT. Not affiliated with Google or Apple. Google Play, AdMob and App Store Connect are trademarks of their owners.
来源:README.md,提交 e41ee4c
工具
0版本历史
1- v0.3.0最新Oct 29, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分