{"name":"io.github.sonlenef/storepilot-mcp","slug":"sonlenef-storepilot-mcp","title":null,"description":"Run an app portfolio across Google Play and the App Store: vitals, reviews, earnings, releases.","url":"https://mcp.market/server/sonlenef-storepilot-mcp","rating":null,"grade":"B","score":78,"certified":false,"status":"active","category":"ecommerce","tags":["ecommerce"],"presence":{"score":18,"stars":1,"forks":0,"downloads_week":11,"last_push_at":"2026-08-17T06:53:14.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/sonlenef/storepilot-mcp","website":null,"version":"0.1.1","remotes":[],"packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"storepilot","version":"0.1.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Path to a Google Cloud service account JSON key with Play Console access. Enables the Google Play tools.","isSecret":true,"name":"STOREPILOT_GOOGLE_CREDENTIALS"},{"description":"Play reports bucket id from Play Console -> Download reports -> Copy Cloud Storage URI. Required for installs, ratings and earnings.","name":"STOREPILOT_GOOGLE_REPORTS_BUCKET"},{"description":"Path to the App Store Connect API .p8 private key. Enables the App Store tools.","isSecret":true,"name":"STOREPILOT_ASC_KEY_PATH"},{"description":"App Store Connect API Key ID.","name":"STOREPILOT_ASC_KEY_ID"},{"description":"App Store Connect API Issuer ID.","name":"STOREPILOT_ASC_ISSUER_ID"},{"description":"Vendor number from App Store Connect -> Payments and Financial Reports. Required only for sales reports.","name":"STOREPILOT_ASC_VENDOR_NUMBER"}]}],"tools":[{"name":"asc_get_analytics","description":"App Analytics via Apple's asynchronous reports API. Resumable, never blocks.","write_action":false,"price_micros":0,"input_schema":null},{"name":"asc_get_sales","description":"Sales and developer proceeds from App Store Connect, cached aggressively.","write_action":false,"price_micros":0,"input_schema":null},{"name":"asc_list_apps","description":"List every app on App Store Connect this API key can see.","write_action":false,"price_micros":0,"input_schema":null},{"name":"asc_list_builds","description":"TestFlight builds for an app, newest first, with their review state.","write_action":false,"price_micros":0,"input_schema":null},{"name":"asc_list_reviews","description":"Customer reviews for an app, newest first.","write_action":false,"price_micros":0,"input_schema":null},{"name":"asc_list_versions","description":"App Store versions for an app and their review/release state.","write_action":false,"price_micros":0,"input_schema":null},{"name":"asc_reply_review","description":"Post a public developer response to an App Store review. TWO-STEP TOOL.","write_action":true,"price_micros":0,"input_schema":null},{"name":"asc_submit_for_review","description":"Submit the editable version to Apple's App Review, after a precheck.","write_action":true,"price_micros":0,"input_schema":null},{"name":"asc_update_metadata","description":"Update App Store listing copy for one locale on the editable version.","write_action":true,"price_micros":0,"input_schema":null},{"name":"asc_upload_build","description":"Explain how to upload a build — the App Store Connect API cannot do it.","write_action":true,"price_micros":0,"input_schema":null},{"name":"compare_reviews","description":"Reviews for one paired app from BOTH stores, grouped for comparison.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_app_pairs","description":"Show the Play <-> App Store pairing registry that cross-store tools read.","write_action":false,"price_micros":0,"input_schema":null},{"name":"metadata_pull","description":"Download store listing copy into a fastlane-compatible local tree.","write_action":false,"price_micros":0,"input_schema":null},{"name":"metadata_push","description":"Publish the local fastlane metadata tree to one or both stores. TWO-STEP TOOL.","write_action":true,"price_micros":0,"input_schema":null},{"name":"pair_apps","description":"Write one app into the pairing registry, creating or extending its entry.","write_action":true,"price_micros":0,"input_schema":null},{"name":"parity_check","description":"Find drift between a paired app's two store listings.","write_action":false,"price_micros":0,"input_schema":null},{"name":"play_create_release","description":"Release already-uploaded build(s) on a track. TWO-STEP TOOL.","write_action":true,"price_micros":0,"input_schema":null},{"name":"play_expand_rollout","description":"Widen a staged rollout to a larger share of users. TWO-STEP TOOL.","write_action":false,"price_micros":0,"input_schema":null},{"name":"play_get_anomalies","description":"Vitals anomalies Google's own detection flagged for an app.","write_action":false,"price_micros":0,"input_schema":null},{"name":"play_get_earnings","description":"Google Play earnings for a calendar month, account-wide or for one app.","write_action":false,"price_micros":0,"input_schema":null},{"name":"play_get_stats","description":"Installs and ratings for one app for one calendar month.","write_action":false,"price_micros":0,"input_schema":null},{"name":"play_get_vitals","description":"Android Vitals for one app: crash and ANR rates vs Google's thresholds.","write_action":false,"price_micros":0,"input_schema":null},{"name":"play_halt_rollout","description":"Stop a staged rollout IMMEDIATELY. No confirmation step — this runs now.","write_action":false,"price_micros":0,"input_schema":null},{"name":"play_list_apps","description":"List every Google Play app this StorePilot install can access.","write_action":false,"price_micros":0,"input_schema":null},{"name":"play_list_reviews","description":"Recent user reviews for an app, from the Android Publisher API.","write_action":false,"price_micros":0,"input_schema":null},{"name":"play_portfolio_health","description":"One-call health scan of EVERY app in the Play account.","write_action":false,"price_micros":0,"input_schema":null},{"name":"play_promote_release","description":"Promote the build on one track to another (e.g. beta -> production). TWO-STEP TOOL, and the highest-risk tool in StorePilot.","write_action":false,"price_micros":0,"input_schema":null},{"name":"play_reply_review","description":"Publish a PUBLIC developer reply to a Play Store review. TWO-STEP TOOL.","write_action":true,"price_micros":0,"input_schema":null},{"name":"play_update_listing","description":"Overwrite store listing copy for one locale. TWO-STEP TOOL.","write_action":true,"price_micros":0,"input_schema":null},{"name":"play_upload_bundle","description":"Upload an .aab to Google Play and release it on a track. TWO-STEP TOOL.","write_action":true,"price_micros":0,"input_schema":null},{"name":"portfolio_overview","description":"EVERY app on BOTH stores in one table. Start here for any portfolio question.","write_action":false,"price_micros":0,"input_schema":null},{"name":"release_both","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"setup_doctor","description":"Diagnose StorePilot's store credentials and report exactly what is missing.","write_action":false,"price_micros":0,"input_schema":null},{"name":"suggest_app_pairs","description":"Propose Play <-> App Store pairings from bundle-id and name evidence.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":78,"grade":"B","scanned_at":"2026-11-03T14:21:07.858Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-11-03T14:21:07.702Z","components":{"code":{"score":25,"max":25,"notes":["29 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":12,"max":15,"notes":["last push 78 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"storepilot","version":"0.1.1","found":true,"weeklyDownloads":11,"license":"MIT","dependencyCount":12,"publishedAt":"2026-08-17T06:54:14.864983Z"}],"repo":{"found":true,"owner":"sonlenef","repo":"storepilot-mcp","archived":false,"pushedAt":"2026-08-17T06:53:14Z","stars":1,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/48326957?v=4","ownerCreatedAt":"2019-03-07T15:56:24Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/48326957?v=4&s=128","source":"registry"},"presence":{"stars":1,"forks":0,"downloadsWeek":11,"license":"MIT","lastPushAt":"2026-08-17T06:53:14.000Z","score":18}}}},"grade_history":[],"reviews":[]}