NestDaddy

Android Developer MCP by Nova (CIVAI)

co.civai.nova/mcp-android_developer · v1.0.0

Ship a new Android app from chat. AI runs Google Play Console listings, screenshots, releases, uplo…

Connect Remote server

Terminal
claude mcp add --transport http mcp-android-developer https://nova.civai.co/mcp/agents/mcp-android_developer
~/.cursor/mcp.json
{
  "mcpServers": {
    "mcp-android-developer": {
      "url": "https://nova.civai.co/mcp/agents/mcp-android_developer"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "mcp-android-developer": {
      "type": "http",
      "url": "https://nova.civai.co/mcp/agents/mcp-android_developer"
    }
  }
}
Claude Desktop
Settings > Connectors > Add custom connector
URL: https://nova.civai.co/mcp/agents/mcp-android_developer

Tools 40 found in our last check

  • list_tracks

    List an app's release tracks and their track_id — call this first to find the track_id other release tools need.

  • get_track

    Get one release track's current state by track_id, including every release on that track with its release_id, name, status and lifecycle state. This is how you find an existing draft release's id after create_release refuses a second draft.

  • create_release

    Create a new draft release on a track. Play Console allows only one draft release per track at a time — fails clearly if one already exists rather than guessing its id. Optionally sets a release_name (cosmetic label only).

  • upload_bundle

    Upload a signed .aab. IMPORTANT: uploading does NOT attach the artifact to the release — it only becomes an app-level artifact (visible with its own version code) while the release's addedArtifacts stays empty, so start_rollout would have nothing to roll out. Call attach_artifac…

  • check_package_name_availability

    Check whether a package name is available before creating a new app. Derived from web decompile recon, not the official API — uses the Play Console web session, not the service account.

  • create_app

    Create a brand-new Android app on Google Play — the one thing the official Android Publisher API cannot do. Derived from web decompile recon of Play Console's own client, not yet verified against a real call; uses the Play Console web session (browser_auth_profile.json), not the…

  • list_apps

    List apps on this Play Console developer account. Derived from web decompile recon, not the official API.

  • list_accounts

    List which Google accounts are signed in to this browser session, with their X-Goog-AuthUser slot index. For visibility/debugging only.

  • update_store_listing

    Update an app's main store listing (title, short/full description) for one language using Play Console's own web session. Does NOT need create_edit/commit_edit — it patches the listing directly. On an app whose language has no listing entry yet this CREATES the entry (verified l…

  • update_store_listing_screenshots

    Reorder or remove an app's existing store-listing screenshots for one language. Preserves the listing's title/descriptions untouched. Can ONLY reorder/remove already-uploaded screenshots (matched by URL) — cannot add a brand-new screenshot image.

  • get_release

    Get a release's current state, including currently-attached artifacts and validation status — check this before start_rollout.

  • start_rollout

    Roll out a release — this IS Android's publish action for the release. Not simply reversible; always confirm with the user, especially on production. Preconditions it cannot satisfy itself: the release needs an artifact attached (attach_artifact_to_release — promote_release does…

  • update_ads_declaration

    Declare whether the app contains ads, using Play Console's own web session. Mandatory App content declaration required before a new app is eligible for production submission/review.

  • update_sign_in_details

    Declare whether any part of the app is restricted (requires account sign-in, payment, referral/QR codes, OTP, biometrics, or actions on another device). Formerly 'App access'. Mandatory App content declaration and one of the app-dashboard setup tasks that gate send_app_for_revie…

  • update_target_audience_content

    Declare the app's target audience & content, using Play Console's own web session. Mandatory App content declaration. Only target_audience="adults" (18 and over only, not aimed at children) is currently supported — the correct, simplest answer for an app with no child-directed c…

  • update_policy_declaration

    Set a simple Yes/No App content policy declaration, using Play Console's own web session. Mandatory declaration gating production submission eligibility. Currently supports policy_declaration="advertising_id" (does the app use advertising ID?) or "government_app" (is this app de…

  • update_content_rating

    Submit and apply the mandatory IARC content rating questionnaire, using Play Console's own web session. Only content_rating_category="all_other_app_types" (every question answered No, producing the lowest possible rating) is currently supported — the correct choice for a brand-n…

  • update_privacy_policy

    Set the app's privacy policy URL, using Play Console's own web session. Mandatory App content declaration, and a prerequisite for submitting the Data safety declaration.

  • update_data_safety

    Submit the Data safety declaration. data_collection="none" declares the app collects and shares NO user data; data_collection="collects" files the per-data-type questionnaire from data_types. REQUIRES update_privacy_policy to have been called first. This is a public, legally-mea…

  • update_none_option_declaration

    Declare 'none of the above' for a multi-select feature-checklist App content declaration, using Play Console's own web session. Mandatory declarations. Currently supports none_option_declaration="financial_features" (does the app provide any financial features?) or "health" (doe…

  • upload_screenshot_asset

    Upload an image into the app's Asset Library. NOTE: for store listing graphics use upload_store_listing_graphic instead — the Asset Library's image cannot be attached to a listing slot (it lacks the blobKey the listing requires, confirmed live). This tool is only for getting an…

  • promote_release

    Promote an existing release to another track WITHOUT re-uploading the bundle. WARNING, measured 2026-10-28: it creates an EMPTY draft release — it does NOT carry the artifact across, despite what this description used to claim. ALWAYS follow it with attach_artifact_to_release an…

  • get_pre_submit_status

    Read-only: what Google Play still requires before this app is review-eligible. Reports each App Content declaration's state, the hub's blocking validation errors, the store listing's validation warnings, and whether the Publishing page considers the app blocked. review_eligible…

  • upload_store_listing_graphic

    Upload an image AND attach it to a store-listing slot in one call — phone screenshot, feature graphic or app icon. This is what makes a store listing completable from here; upload_screenshot_asset only gets an image into the Asset Library and CANNOT attach it. Play requires at l…

  • enroll_play_app_signing

    Read, or set, an app's Play App Signing enrolment. An app that is NOT enrolled CANNOT accept an .aab: upload_bundle returns 200 and Play then rejects the bundle during processing (error 3008), leaving a pending upload reference, no artifact, and an unexplained 400 from start_rol…

  • get_user_permissions

    Read one principal's current Play Console permissions by email — read-only, nothing changes. Works for a human teammate or a service account (…@….iam.gserviceaccount.com); both are the same user row keyed by email. Returns account-level permissions and, per app, the exact permis…

  • grant_app_permission

    Grant a principal (teammate or service account) access to ONE app, as an APPEND that preserves every existing app grant and all account-level permissions. Use it to give a CI service account release access to a newly-created app — the step the androidpublisher API cannot do for…

  • attach_artifact_to_release

    Attach an already-uploaded artifact (version code) to a release — the required step between upload_bundle and start_rollout. Uploading a bundle does NOT attach it, so without this the release has no artifact and start_rollout refuses. Identify the artifact by artifact_id, or giv…

  • refresh_browser_session

    Refresh the saved Play Console session in place, with no new browser sign-in. Google rotates the __Secure-1PSIDTS/__Secure-3PSIDTS session cookies about every 10 minutes; the captured copy goes stale and every tool then returns 401 UNAUTHENTICATED — or list_accounts returns an e…

  • update_track_countries

    Set which countries/regions a release track serves — the precondition for a track's first rollout. CRITICAL, measured 2026-10-28: pass at least one explicit targeted_countries value. target_rest_of_world="true" ALONE writes the rest-of-world flag and leaves the country list empt…

  • get_app_submission_state

    Has this app ever been sent for Google Play review? ANSWERS WHAT get_pre_submit_status CANNOT: that tool reported review_eligible: true for an unreviewed draft app that could not publish by any route. An app that has never been reviewed cannot be rolled out to production at all.…

  • send_app_for_review

    Send the app's pending changes to Google Play review — the API behind Play Console's "Send app for review". OUTWARD-FACING AND NOT FREELY REVERSIBLE: for an app that has never shipped this is the submission that decides whether it can be published at all. DRY-RUN BY DEFAULT — it…

  • update_store_settings

    Set the app's store category and public contact details — one of the app dashboard setup tasks that gates send_app_for_review. Until it is done Play refuses the review submission with a bare FAILED_PRECONDITION and Play Console's own Send-for-review button stays greyed out. The…

  • get_setup_state

    Read the app dashboard's setup checklist. Returns which tasks are complete and which are still open (privacy_policy, app_access, ads, content_rating, target_audience, store_settings, store_listings, prod_countries, prod_release, ...). WARNING: the `incomplete` list is NOT a list…

  • declare_asset_ai_state

    Declare whether the store listing's images were created or edited using AI. Play Console's listing editor has a second step ("Review") carrying this REQUIRED regulatory declaration, and until it is answered the listing stays Draft, the dashboard's store_listings task stays incom…

  • setup_closed_testing

    Set up a track's testers: creates or updates a tester email list and attaches it to the track as an audience group. Google requires a personal developer account to run a closed test with a minimum tester count for a minimum number of days before it can even APPLY for production…

  • submit_prod_access_application

    Submit the production-access application questionnaire for a personal developer account. Only possible once the closed-testing tester/day requirement is met (see setup_closed_testing and get_setup_state). All ten answers are the developer's own words about their testing — never…

  • start_browser_auth

    Open Play Console sign-in only when needed. If the saved session is still valid, this tool returns success immediately and does not open the viewer. Call session_status first. Use force_reconnect only when the user explicitly wants to wipe the saved cookie and sign in again (des…

  • get_network_identity

    Where this user's requests to the site leave from (a VPN country, the server, or the app's default) and which browser they present. Read-only.

  • set_network_identity

    Choose where this user's requests to the site leave from and which browser they present, only when the user asks (e.g. 'connect through Nigeria', 'use my own user agent'). Sites may ask the user to sign in again when this changes. reset=true goes back to how they signed in.

Details

Endpointhttps://nova.civai.co/mcp/agents/mcp-android_developer (Streamable HTTP)
First published2 Nov 2026
Last updated2 Nov 2026
Registry nameco.civai.nova/mcp-android_developer

More search and web servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.