mogut
v0.1.0
Published
Read-only App Store growth (ASO) analysis MCP server for iOS and Mac App Store apps
Downloads
49
Maintainers
Readme
Mogut
Read-only App Store growth analysis MCP server for the Apple ecosystem (iOS + Mac App Store).
Mogut never writes to the App Store. Write actions are handed off as ready-to-run Heimdall tool calls that the user approves.
Status: Faz 1 (core MCP: profile system, meta tools, setup wizard, credential standard, SQLite layer). Data sources land in Faz 2, analysis engines in Faz 3, reports in Faz 4.
Install
npm install -g mogut
mogut setupThe wizard registers Mogut with the MCP clients it finds (Claude Code & Desktop, Codex, Cursor, VS Code, Windsurf, Antigravity) — restart the client once afterwards.
0.1.x is the core, not the product yet. This release ships the server, the profile system, the meta tools and the setup wizard. The data sources land in 0.2 (Faz 2), the analysis engines in 0.3, and the report tools — the reason to install this — in 0.4. Until then
mogut_status,mogut_discover_sourcesandmogut_search_toolswork and the rest of the catalog answers "planned for phase X".
The wizard stores credentials in the macOS Keychain (com.milowda.credentials) with a .env
fallback. Secrets are entered in the terminal only — never in chat, never logged, never displayed.
MCP config
{
"mcpServers": {
"mogut": { "command": "mogut", "args": [] }
}
}Ten tools are exposed by default (6 meta + 4 orchestrators). Every other tool is opt-in per
profile: set MOGUT_PROFILES="keyword,competitor" (or "all"). Use mogut_search_tools to find
a tool and it will tell you which profile to enable.
Tiers
| Tier | Needs | Unlocks | |---|---|---| | 0 | nothing | all public sources — a full report is produced, marked low confidence | | 1 | App Store Connect key | your own analytics, sales, reviews, metadata | | 2 | + Apple Ads OAuth | real keyword popularity and search term reports | | 3 | + a connector (RevenueCat/PostHog) | revenue-per-keyword analysis |
mogut_status shows the current tier and what the next one would add.
Advanced: Apple Ads popularity index
The official Apple Ads API has no popularity index (MIL-227) — the number the Ads UI shows
comes from an undocumented endpoint on app-ads.apple.com that authenticates with a web
session, not OAuth. Mogut can read it, but the wizard does not ask for it: it is a pasted
browser cookie, it expires, and using it is a grey area against the Apple Ads terms. Without
it, keyword_popularity_fetch falls back to a proxy score marked low confidence.
If you want it anyway:
- Log in at https://app-ads.apple.com and open any campaign screen.
- Open devtools → Network, filter on
/cm/api, click one request. - Copy that request's
Cookierequest header, whole. export MOGUT_APPLE_ADS_SESSION='<the cookie header>'in the environment your MCP client launches Mogut from — or store it under theapple-ads-sessionaccount of thecom.milowda.credentialsKeychain service.
Re-do it when the session expires. mogut_discover_sources shows the source as down once
the endpoint starts refusing.
Development
npm install && npm run build && npm testsrc/core/catalog.ts is generated from docs/TOOL_KATALOG.md — regenerate with
node scripts/gen-catalog.mjs.
MIT.
