App Publisher MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GEMINI_MODEL | No | Gemini model to use. Options: gemini-2.5-flash-image (default, fast), gemini-3-pro-image-preview (best quality, slower). | |
| GEMINI_API_KEY | No | Your Google Gemini API key for AI image generation. Required for generating icons, splash screens, and screenshots. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| configure_api_keyA | Set or update the Gemini API key for AI image generation. The key is stored locally and persists across sessions. |
| configure_modelA | Set the default Gemini model for image generation. Persists across sessions. Recommended: gemini-2.5-flash-image (fast), gemini-3-pro-image-preview (best quality). |
| generate_iconA | Generate an app icon using AI. Creates a square icon suitable for mobile app stores. Returns the generated image and saves it to disk. |
| resize_iconsA | Resize an icon image to all required sizes for iOS and/or Android platforms. Generates Xcode-compatible Contents.json for iOS. Source image should be at least 1024x1024. |
| generate_splashB | Generate a splash screen (launch screen) design using AI. Creates a professional app launch screen image. |
| generate_screenshotC | Generate an app store screenshot mockup using AI. Creates realistic app screenshots for store listings. |
| setup_fastlaneB | Generate fastlane configuration files (Fastfile, Appfile, metadata structure) for automated iOS/Android app publishing. Includes: copyright auto-set, app_review_information, precheck_include_in_app_purchases: false, skip_app_version_update for metadata lane. |
| publish_iosA | Publish the app to the iOS App Store using fastlane deliver. Requires fastlane to be installed and configured. |
| publish_androidA | Publish the app to Google Play Store using fastlane supply. Requires fastlane to be installed and configured. |
| populate_metadataA | Populate fastlane metadata directory with locale-specific content. Creates all required .txt files (name, subtitle, description, keywords, etc.) for each locale. Use this after generate_store_listing to write content directly to fastlane metadata files. |
| validate_metadataA | Validate fastlane metadata files for App Store requirements. Checks: subtitle <= 30 chars, keywords <= 100 chars, required files present (name, description, privacy_url, support_url), copyright includes current year. |
| get_statusB | Check the current configuration status including API key, model, fastlane installation, and generated assets. |
| generate_store_listingA | Analyze a project directory and generate complete store listing content (app name, description, keywords, privacy policy, etc.) for iOS App Store and/or Google Play Store. |
| get_publishing_guideA | Get a comprehensive step-by-step guide for publishing an app to the iOS App Store or Google Play Store. Customized based on project info if projectDir is provided. |
| setup_maestroA | Install and configure Maestro CLI for mobile UI testing automation. Checks Java 17+ requirement and installs Maestro if not present. Run this first before using other maestro_* tools. |
| maestro_screenshotA | Take a screenshot of the currently running app on iOS Simulator or Android Emulator using Maestro. Returns the screenshot image. Requires Maestro CLI and a running simulator/emulator. |
| maestro_run_flowA | Run a UI test flow on a simulator/emulator using Maestro. Accepts structured steps that are converted to a Maestro flow YAML. Use takeScreenshot steps to capture screenshots during the flow. Returns all captured screenshots as images. Available actions: launchApp, stopApp, clearState, tapOn, tapOnPoint, longPressOn, doubleTapOn, inputText, eraseText, swipe, scroll, scrollUntilVisible, back, home, pressKey, hideKeyboard, takeScreenshot, assertVisible, assertNotVisible, waitForAnimationToEnd, wait, openLink, copyTextFrom, pasteText, runScript |
| maestro_run_yamlA | Run a Maestro flow from raw YAML content. For advanced users who want full control over the flow definition. Returns all captured screenshots as images. |
| maestro_statusA | Check Maestro installation status, version, and list running iOS Simulators and Android Emulators. |
| maestro_store_screenshotA | Create professional app store marketing screenshots with headline text and device-framed app screenshot. Uses Gemini AI to composite the image, then resizes to exact iOS/Android store dimensions. Can auto-capture screenshot from running simulator via Maestro, or accept an existing screenshot path. |
| configure_admobA | Set up Google AdMob OAuth credentials for ad unit management. After configuration, an authorization URL will be provided to complete the OAuth flow. |
| admob_authA | Complete AdMob OAuth authentication by exchanging the authorization code for access tokens. Run configure_admob first to get the auth URL. |
| admob_list_appsB | List all apps registered in your AdMob account. Requires AdMob authentication. |
| admob_create_appA | Create a new app in your AdMob account. You can link it to an existing App Store / Play Store app, or create it manually with a display name. |
| admob_list_ad_unitsA | List ad units in your AdMob account. Optionally filter by app ID. |
| admob_create_ad_unitB | Create a new ad unit in your AdMob account. Supported formats: BANNER, INTERSTITIAL, REWARDED, REWARDED_INTERSTITIAL, APP_OPEN, NATIVE. |
| admob_integrateB | Generate AdMob integration code for a React Native / Expo project. Creates ad components (Banner, Interstitial, Rewarded, AppOpen) with test ID support and installs required dependencies. |
| admob_statusB | Check AdMob OAuth configuration and authentication status. |
| configure_playstoreA | Configure Google Play Store API access. Provide either a file path (jsonKeyPath) or the JSON content directly (jsonKeyData). The inline method stores the key in ~/.app-publisher/config.json so you can delete the original file. |
| playstore_statusA | Check Google Play Store API configuration status. Shows service account details and validates the JSON key file. |
| playstore_setup_keyA | Set up Google Play Store publishing for a project. Copies the service account JSON key, creates/updates fastlane Appfile and Fastfile for Android, and creates the metadata directory structure with locale folders. |
| playstore_verify_accessA | Verify that the service account has API access to a specific app on Google Play. Tests by creating and deleting an edit session. |
| playstore_get_app_infoB | Get comprehensive app information from Google Play Console including all store listings (title, descriptions per language) and release tracks (production, beta, alpha, internal) with version codes and status. |
| playstore_get_listingA | Get store listing(s) for an app. If language is specified, returns the full listing for that language. Otherwise returns all listings with titles and short descriptions. |
| playstore_update_listingA | Update store listing metadata for a specific language. Can update title (max 50 chars), short description (max 80 chars), and/or full description (max 4000 chars). Changes are committed immediately. |
| playstore_get_tracksA | List all release tracks for an app with version codes, release status, and release notes. Tracks include: production, beta, alpha, internal. |
| playstore_list_imagesB | List uploaded images/screenshots for an app. Image types: phoneScreenshots, sevenInchScreenshots, tenInchScreenshots, tvScreenshots, wearScreenshots, icon, featureGraphic, tvBanner. |
| playstore_upload_imageB | Upload an image (screenshot, icon, feature graphic, etc.) to Google Play Store listing. Supported formats: PNG, JPEG, WebP. Changes are committed immediately. |
| playstore_delete_imagesA | Delete all images of a specific type for a language. Use before re-uploading screenshots to replace them. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/seungmanchoi/app-publisher-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server