ASOHawk

ASOHawk

MCP server for App Store Optimization, enabling AI agents to read rankings, keywords, competitors, reviews, and revenue, and manage metadata with human approval.

Category
Visit Server

README

<picture> <source media="(prefers-color-scheme: dark)" srcset="assets/banner-dark.svg"> <img src="assets/banner-light.svg" alt="ASOHawk" width="100%"> </picture>

<p align="center"><strong>App Store Optimization, built for AI agents.</strong></p>

<p align="center"> <a href="https://asohawk.cc"><img src="https://img.shields.io/badge/website-asohawk.cc-b45309" alt="Website"></a> <a href="https://registry.modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP_registry-io.github.prodocik%2Fasohawk-121212" alt="MCP Registry"></a> <a href="TOOLS.md"><img src="https://img.shields.io/badge/MCP_tools-64-121212" alt="Tool count"></a> </p>

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.

</details>

<details> <summary><strong>Qwen Code</strong></summary>

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), IAP and subscription repricing, 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.

  • Tool reference: every tool with its contract, generated from the live registry.
  • Playbooks: 15 step-by-step recipes, from onboarding an app to shipping a build through App Review.
  • Concepts: authentication, permissions, the response envelope, errors, cost classes.

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.
  • 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

ASOHawk is a hosted service; this repository is its public documentation. Found a gap or want a tool that is missing? Open an issue.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured