ASOHawk MCP Server
io.github.prodocik/asohawk
App Store optimization analytics and metadata management for iOS developers, powered by AI agents.
What is the ASOHawk MCP server?
ASOHawk is an ASO (App Store Optimization) platform built natively for AI agents via MCP. It provides 64 tools for tracking rankings, keywords, competitors, reviews, revenue, and managing App Store Connect metadata—with human approval gates on all writes. Connect once with an API key and your agent reads App Store data and executes ASO tasks in plain language.
ASOHawk gives AI agents direct access to App Store analytics, competitor intelligence, keyword tracking, review monitoring, and revenue data. It also lets agents propose and execute metadata changes, screenshot updates, pricing adjustments, and App Review submissions—all with human approval workflows built in. Designed for indie iOS developers who want their AI assistant to handle ASO work end-to-end.
How to install ASOHawk
Copy-paste configuration for popular MCP clients.
AuthorizationASOHawk workspace API key created in Settings > API keys
Tools & capabilities
Tools this server exposes to the agent.
Rankings and keyword tracking— Monitor app rankings, track keywords, and measure keyword performance over time.Competitor discovery and monitoring— Identify competitors, track their keywords, and monitor their App Store presence.Review streams— Access and analyze user reviews from the App Store.ASO health and recommendations— Get ASO health scores and actionable optimization recommendations.Acquisition and retention funnels— Analyze user acquisition and retention metrics.Revenue analytics— View downloads, revenue, and financial performance data.Keyword difficulty and popularity scoring— Assess keyword competitiveness and search volume.Apple Search Ads popularity— Query real-time Apple Search Ads popularity data on demand.Chart moves and trends— Track ranking changes and trending keywords.Hypotheses and learnings— Record and manage ASO experiments and learnings.App Store Connect metadata edits— Propose and apply changes to app name, description, and other metadata.Screenshot management— Update app screenshots and preview assets.Product Page Optimization (A/B testing)— Run native A/B tests on app store product pages.Pricing management— Adjust paid app prices, in-app purchases, and subscription prices across territories.Build attachment and App Review submission— Attach builds and submit apps for App Review.
Use cases
- Get a weekly growth report showing ranking changes, new keywords, and revenue trends across your apps.
- Discover competitor keywords you're missing and identify new keyword opportunities with difficulty scoring.
- Propose App Store metadata changes (title, description, screenshots) and have them auto-approved or reviewed before submission.
- Adjust subscription prices across all 175 territories using a purchasing-power matrix, with automatic verification.
- Monitor user reviews in real-time and track ASO health metrics to guide optimization priorities.
ASOHawk MCP server FAQ
ASOHawk is an MCP server that gives AI agents (Claude, Cursor, Codex, etc.) direct access to App Store analytics, competitor intelligence, keyword tracking, and App Store Connect management. It exposes 64 tools for reading data and proposing/executing ASO tasks.
ASOHawk offers a free plan with no credit card required. Paid plans unlock higher usage limits and additional features. See asohawk.cc/#pricing for details.
Sign up at asohawk.cc, create an API key in Settings → API keys, then add the MCP server to your client config with the key as a Bearer token. For Claude Code, run: claude mcp add --transport http --scope user asohawk https://asohawk.cc/api/mcp --header "Authorization: Bearer ahk_YOUR_KEY". For Cursor, add the config to .cursor/mcp.json or ~/.cursor/mcp.json.
Yes. You must have an App Store Connect account and provide credentials or authorization so ASOHawk can read your app data and submit changes on your behalf.
No. All writes (metadata edits, screenshots, pricing, App Review submissions) are proposals that require human approval in the ASOHawk dashboard before reaching App Store Connect. High-risk operations always wait for approval; low-risk pricing matrices may auto-apply only if every territory already has a price and no change exceeds 15%.
Every tool returns a consistent envelope with the answer under `data`, plus `data_freshness`, honest `limitations`, `recommended_next_capabilities`, and a `cost_class`. Lists are tabular ({columns, rows}) to avoid redundant field names.
README (reference)
Source of truth, from the repository.
ASOHawk is an ASO platform your AI agent uses directly. It speaks MCP, the protocol Claude Code, Claude Desktop, Cursor, Codex and most agent CLIs already understand. Point an agent at it once and it reads your App Store rankings, keywords, competitors, reviews and revenue, and manages tracking and metadata on request.
The web dashboard exists too, but the agent is a first-class citizen, not an afterthought: every capability is a versioned tool with an explicit contract, honest limitations, and a safety model where anything that touches your App Store listing waits for your approval.
How it works
<picture> <source media="(prefers-color-scheme: dark)" srcset="assets/how-it-works-dark.svg"> <img src="assets/how-it-works-light.svg" alt="Your agent connects to ASOHawk over MCP; ASOHawk reads the App Store and writes to App Store Connect after human approval." width="100%"> </picture>The server is remote MCP over HTTPS. Nothing to install, nothing to run, no local database: one config block in your client and the agent is connected.
Quick start
1. Create a key. Sign up at asohawk.cc (free plan, no credit card), then open Settings → API keys and create a key. Read by default; add write to let the agent manage tracking.
2. Connect. For Claude Code, run once in any terminal:
claude mcp add --transport http --scope user asohawk https://asohawk.cc/api/mcp --header "Authorization: Bearer ahk_YOUR_KEY"
<details>
<summary><strong>Claude Desktop</strong></summary>
Settings → Developer → Edit Config, then add:
{
"mcpServers": {
"asohawk": {
"type": "http",
"url": "https://asohawk.cc/api/mcp",
"headers": {
"Authorization": "Bearer ahk_YOUR_KEY"
}
}
}
}
</details>
<details>
<summary><strong>Cursor</strong></summary>
Save as .cursor/mcp.json in your project, or ~/.cursor/mcp.json to make it available everywhere:
{
"mcpServers": {
"asohawk": {
"url": "https://asohawk.cc/api/mcp",
"headers": {
"Authorization": "Bearer ahk_YOUR_KEY"
}
}
}
}
</details>
<details>
<summary><strong>Codex</strong></summary>
Add to ~/.codex/config.toml:
[mcp_servers.asohawk]
url = "https://asohawk.cc/api/mcp"
[mcp_servers.asohawk.http_headers]
Authorization = "Bearer ahk_YOUR_KEY"
To keep the key out of the file, use codex mcp add with --bearer-token-env-var ASOHAWK_API_KEY instead.
Add to ~/.qwen/settings.json:
{
"mcpServers": {
"asohawk": {
"httpUrl": "https://asohawk.cc/api/mcp",
"headers": {
"Authorization": "Bearer ahk_YOUR_KEY"
}
}
}
}
</details>
<details>
<summary><strong>Kimi CLI</strong></summary>
kimi mcp add --transport http asohawk https://asohawk.cc/api/mcp --header "Authorization: Bearer ahk_YOUR_KEY"
</details>
<details>
<summary><strong>Gemini CLI, VS Code and any other MCP client</strong></summary>
Gemini CLI takes the same httpUrl block as Qwen Code in ~/.gemini/settings.json. VS Code takes a servers block in .vscode/mcp.json. Any client that reads mcp.json works with the standard shape:
{
"mcpServers": {
"asohawk": {
"type": "http",
"url": "https://asohawk.cc/api/mcp",
"headers": {
"Authorization": "Bearer ahk_YOUR_KEY"
}
}
}
}
Exact snippets for every client, plus a stdio bridge for clients without remote MCP support, are in the getting started guide.
</details>3. Ask. The agent calls ASOHawk and answers in plain language:
Give me a growth report for my apps this week.
Who are my top competitors and which keywords do they rank for that I don't?
Find new keyword opportunities for my app and track the best ones.
How many downloads and how much revenue does https://apps.apple.com/us/app/duolingo/id570060128 get?
What the agent can do
64 tools cover the full ASO loop: rankings and keyword tracking, competitor discovery and monitoring, review streams, ASO health and recommendations, acquisition and retention funnels, revenue, keyword difficulty and popularity scoring, exact Apple Search Ads popularity on demand, chart moves, hypotheses and learnings, App Store Connect metadata edits, screenshot changes, native A/B tests (Product Page Optimization), paid-app, IAP and subscription repricing (one territory or a purchasing-power matrix across all 175), build attachment and App Review submission.
Every tool returns the same envelope: the answer under data, plus data_freshness, honest limitations, recommended_next_capabilities and a cost_class. Agents do not guess what a number means or what to call next; the response says so.
Lists inside data are tabular — {columns, rows} with positional cells — so a field name is written once, not once per row; the server states that reading rule in its instructions. Connecting with ?profile=core (or ?profile=keywords,changes) lists fewer tools up front without changing what the key may call: list_capabilities still names everything, marking what the profile left out.
- Tool reference: every tool with its contract, generated from the live registry.
- Playbooks: 16 step-by-step recipes, from onboarding an app to shipping a build through App Review.
- Concepts: authentication, permissions, the response envelope, errors, cost classes.
- Prompt library: copyable everyday prompts for setup, data, ASO work and safe execution.
Built for trust
- Scoped keys. Read keys see read tools only; write tools are invisible to them, not just refused.
- Human approval on writes. Metadata changes, screenshot changes, price changes and App Review submissions are proposals first. A human approves them in the dashboard before anything reaches App Store Connect. High-risk operations (name or description rewrites, prices, review submissions) wait for a human even in workspaces that enable auto-apply. The single exception, off by default and per call: a purchasing-power price matrix may run on auto when every territory already has a price and none of them moves more than 15%.
- Durable subscription repricing. A country-wide subscription matrix runs in the background with per-territory progress. It is marked applied only after a complete live App Store Connect read verifies every country; failed runs require an explicit reconciled resume, and ambiguous network outcomes are never retried blindly. Existing subscribers keep their price.
- Per-domain read controls. Each data domain can be switched off for agents independently.
- A closed error contract. Refusals carry a reason code, whether a retry can succeed, and alternative tools; agents recover instead of hallucinating.
Details in concepts.
Links
- Website and signup: asohawk.cc
- Live agent guide with your real key filled in: asohawk.cc/docs/agent
- Pricing: asohawk.cc/#pricing
ASOHawk is a hosted service; this repository is its public documentation. Found a gap or want a tool that is missing? Open an issue.
Related MCP servers

ProdPoke
AI QA tester — real browsers scan sites for bugs, SEO, perf, and accessibility issues via chat.

io.github.productmap/namecatcher-skills
Score and value collectible Telegram usernames: namability 0-100, fair price, thesis. No API key.

io.github.productstein/holomime
Behavioral therapy for AI agents — self-diagnosis, alignment, and training via MCP

Postlyra
Manage Telegram drafts, media, schedules and publications from AI clients.

MCP security trust-check for agents before installing MCPs, Skills or tools.
Agent-native security, trust, reliability, data and procurement tools for AI workflows.