Forvibe's App Store Connect MCP server
An App Store Connect MCP server is a Model Context Protocol endpoint that gives an AI agent direct, structured access to a project's App Store Connect and Google Play data: its ASO tracking, screenshots, store listings, reviews, and store-submission tools, through typed function calls instead of a web console.
No credit cardFree tier with 200 AI creditsCancel anytime
Forvibe runs one at https://forvibe.app/mcp. Connect with a personal API key and a client gets 111 tools across 12 groups (projects; ASO keywords and optimization; competitors, charts, and app research; ASO history and alerts; screenshots; Screenshot Studio sets; store listings; reviews; review simulation; Custom Product Pages; In-App Events; and subscriptions, in-app purchases, and pricing), 5 resources for pulling a project's current state straight into context, and 4 prompts that chain several of those tool calls into one workflow. Publishing listing changes live is a separate, explicit call from staging them, and pushing a Custom Product Page or In-App Event lands in App Store Connect as a draft, never submitted for review on its own. Forvibe's own ASO Agent works on the same project data from inside the product; this server is for bringing an agent of your own.
The symptoms of managing an app through copy and paste instead of an API
An agent that has read a project's App Store Connect or Google Play data once has no way to check it again later in the same conversation, so every follow-up question about the current keyword field, rating, or price gets answered from memory instead of from what the console actually shows right now.
A metadata change, a new tracked keyword, or a reply to a review that an agent proposes still has to be typed into App Store Connect or Google Play Console by a person, so acting on a good suggestion is a separate task from getting one.
Nothing tells an agent whether a Custom Product Page reached App Store Connect or a listing actually published, short of a person opening the dashboard and reporting back what happened.
What MCP is, and what an agent can and cannot do through it
Model Context Protocol gives an AI agent typed, direct access to a project's App Store Connect and Google Play data: through Forvibe's server, that means 111 tools, 5 resources, and 4 prompts, reachable over one authenticated endpoint.
- Tools, resources, prompts
- A server can expose tools that execute actions, resources that expose read-only context, and prompts that template multi-step workflows.
- Only way to write
- Forvibe's 111 tools are the only way to change anything through the server; there's no generic call to an arbitrary endpoint.
- Resources are live snapshots
- Five resources expose a project's record, listings, reviews, and ASO snapshot directly, four addressed by project ID and one by simulation ID.
- Prompts chain tool calls
- Forvibe's 4 prompts, an ASO audit, a submission checklist, a review summary, and keyword research, are canned steps the client still has to run.
- Consent before every call
- Hosts must get a user's explicit consent before invoking any tool, since a call is arbitrary code execution on the server it fronts.
Read the full explanation
Model Context Protocol is an open protocol for connecting an AI application to external tools and data over a standard client-server interface. A host application, the chat client, IDE, or agent runtime, holds a client, and that client talks to one or more independent servers over JSON-RPC. The specification splits what a server can offer into three kinds of primitive: tools, defined as 'functions for the AI model to execute'; resources, 'context and data, for the user or the AI model to use'; and prompts, 'templated messages and workflows for users.' A server chooses which of these to expose, and a client only ever sees what gets registered, nothing else on the backend is reachable through it. On safety, the specification is direct: hosts must obtain a user's explicit consent before invoking any tool, and descriptions of tool behavior such as annotations 'should be considered untrusted, unless obtained from a trusted server,' since a tool call is arbitrary code execution on whatever the server fronts. Forvibe's server registers all three primitives. Its 111 tools are the only way to change anything; there is no generic way to call an arbitrary App Store Connect or Google Play endpoint through it. Its 5 resources are addressable snapshots: four live under forvibe://project/{projectId}, the project record itself, its listings, its recent reviews, and its ASO snapshot, and one is addressed separately by simulation ID. Its 4 prompts, an ASO audit, a submission checklist, a review summary, and a keyword research session, are canned multi-step instructions that tell a connected model which tools to call in what order for a common task; the prompt text itself doesn't execute anything, the client still has to run each step. verifyMcpAuth resolves the organization bound to the API key or OAuth token once, at the start of the request, and createMcpServer(auth) is built fresh from that each time: the same auth object, organization included, is what every tool, resource, and prompt handler for that request receives.
Tool groups and what each covers
| Group | Tools | What it covers |
|---|---|---|
| Projects | 5 | List, fetch, create, and update Forvibe projects, and check whether a subdomain or mail prefix is free. |
| ASO keywords and optimization | 8 | Track and untrack keywords, read ranking history and a rankings overview, refresh popularity and difficulty, and read the current optimization analysis and suggestions. |
| Competitors, charts, and app research | 7 | List, add, and remove tracked competitors, read top charts and their categories, search either store, and fetch any app's live listing. |
| ASO history and alerts | 9 | Visibility and app-stat trends, App Store analytics by day, territory, or source, competitor listing timelines and rank trajectories, the alert feed and its settings, and sync status. |
| Screenshots | 7 | Read and delete a project's screenshots, browse design templates, and read older Screenshot Studio sessions and localization jobs. |
| Screenshot Studio sets | 32 | Plan, edit, render, translate, and reorder screenshot sets, edit App Store header and search images, push a set to the editable App Store version, and propose custom product pages and send them to App Store Connect as drafts. Painting a new set's artwork still starts in the dashboard. |
| Store listings | 7 | Read and patch per-locale listing fields, publish staged changes live, read version history, and AI-translate a listing into new locales. |
| Reviews | 3 | Read user reviews and rating-distribution stats. There is no tool that posts or drafts a developer response. |
| Review simulation | 4 | Read past App Store rejection-risk reports and run a new metadata-only one. A codebase-aware scan still needs the dashboard, the CLI, or the macOS app. |
| Custom Product Pages | 2 | List and delete App Store Custom Product Pages, including pages from the older generator. New pages are made from a Screenshot Studio set. App Store only. |
| In-App Events | 9 | Edit, localize, push, and delete App Store In-App Events, read push status, and generate event ideas. App Store only. |
| Subscriptions, in-app purchases, and pricing | 18 | Create, sync, localize, and update subscriptions and one-time purchases, and draft, apply, cancel, or roll back per-territory price changes. |
Connecting a client to the server
Create an API key
Open /console/api-keys and create a key: pick the wildcard scope for full access, or scope it to just the tool groups an agent needs. The key, prefixed fvk_live_, is shown once, so copy it before closing the dialog.
Point the client at https://forvibe.app/mcp
Set the client's MCP server URL to https://forvibe.app/mcp and send the API key as a Bearer token in the Authorization header; there's no separate stdio bridge to install. A missing or invalid header gets a 401 back.
Make a first call
Call list_projects to get a project's public ID, the prj_ prefixed form every other project-scoped tool expects, or read the forvibe://project/{projectId} resource directly once that ID is known. From there most tools follow the same shape: a project_id plus whatever the specific call needs.
Questions, answered
Ready to put this into practice?
Start free. When you're ready to grow, Forvibe's ASO Agent takes the ongoing App Store work off your hands.
Keep reading
Last updated: October 22, 2026