{
  "markdown": "<p align=\"center\"><img src=\"assets/icon.png\" width=\"96\" alt=\"ASO Atlas\"></p>\n\n# ASO Atlas MCP server\n\n[ASO Atlas](https://asoatlas.com) is an App Store Optimization tool for iOS apps: keyword research with Apple-reported search popularity and a difficulty score, daily rank tracking in 59 storefronts, competitor keyword gaps, a metadata optimizer and your own App Store Connect performance.\n\nThis repository holds the public manifests for its hosted MCP server, so any MCP client can research keywords and act on your ASO Atlas account mid-conversation.\n\n- **Server URL:** `https://asoatlas.com/mcp` (Streamable HTTP)\n- **Auth:** OAuth 2.1 with PKCE and dynamic client registration, or a personal access token for headless agents\n- **Docs:** https://asoatlas.com/docs/connect-your-ai\n- **Requires:** an ASO Atlas account with an active subscription ($9/month, unlimited apps and keywords)\n\n## Install\n\n### Claude\n\nClaude.ai (web or desktop): Settings → Connectors → Add custom connector → paste the server URL and approve the consent screen.\n\nClaude Code:\n\n```bash\nclaude mcp add --transport http asoatlas https://asoatlas.com/mcp\n```\n\nOr install this repository as a plugin, which adds the server together with a skill that teaches Claude how to read popularity and difficulty:\n\n```bash\nclaude plugin marketplace add asoatlas/mcp\nclaude plugin install aso-atlas@asoatlas-mcp\n```\n\n### Cursor\n\n[Add to Cursor](cursor://anysphere.cursor-deeplink/mcp/install?name=asoatlas&config=eyJ1cmwiOiJodHRwczovL2Fzb2F0bGFzLmNvbS9tY3AifQ==), or in `~/.cursor/mcp.json`:\n\n```json\n{ \"mcpServers\": { \"asoatlas\": { \"url\": \"https://asoatlas.com/mcp\" } } }\n```\n\n### VS Code\n\n```bash\ncode --add-mcp '{\"name\":\"asoatlas\",\"type\":\"http\",\"url\":\"https://asoatlas.com/mcp\"}'\n```\n\n### ChatGPT\n\nSettings → Connectors → Create (developer mode) → paste the server URL. The OAuth prompt signs you in to ASO Atlas.\n\n### Hermes Agent, containers and other headless clients\n\nThe OAuth callback cannot reach a client that runs on a server, so create a personal access token under **Settings → Connect your AI** on asoatlas.com and send it as a header:\n\n```yaml\nmcp_servers:\n  asoatlas:\n    url: https://asoatlas.com/mcp\n    headers:\n      Authorization: Bearer YOUR_TOKEN\n```\n\nAny other client that speaks MCP over HTTP works the same way: give it the URL, then either complete the OAuth prompt or configure the bearer header.\n\n## Tools\n\nEverything is scoped to the signed-in user's own account. Read tools never change anything; write tools change the ASO Atlas account only, never the App Store listing itself.\n\n| Tool | Kind | What it does |\n|---|---|---|\n| `list_tracked_apps` | read | The apps you track, with the ids the other tools take |\n| `get_dashboard` | read | Per-app top 10 / top 50 counts, visibility trend, biggest moves |\n| `get_app` | read | One app in depth: keywords with rank, popularity, difficulty; competitors; keyword gap |\n| `get_app_optimizer` | read | Metadata analysis for one storefront: coverage, missing terms, character budgets |\n| `get_app_performance` | read | App Store Connect digest: funnel, monetization, health, territories |\n| `get_performance_series` | read | Daily history of one App Store Connect metric, optionally split by dimension |\n| `research_keywords` | read | Popularity, difficulty and result count for up to 50 terms in a storefront |\n| `app_ranking_keywords` | read | Reverse lookup: what any App Store app ranks for |\n| `keyword_suggestions` | read | Autocomplete ideas for a seed term |\n| `list_keyword_lists` / `get_keyword_list` | read | Saved research collections |\n| `track_app` / `untrack_app` | write | Start or stop tracking an app |\n| `add_keywords` / `remove_keyword` | write | Track or drop keywords per storefront |\n| `add_competitor` / `remove_competitor` | write | Manage the competitors behind the keyword gap |\n| `change_app_market` | write | Move an app to another storefront |\n| `refresh_app` | write | Queue a fresh rank, rating and review check |\n| `save_metadata_draft` | write | Save a title / subtitle / keyword-field draft for the optimizer |\n| `create_keyword_list` / `add_keyword_to_list` / `remove_keyword_from_list` | write | Manage keyword lists |\n\nEvery tool carries `readOnlyHint`, `destructiveHint` and `openWorldHint` annotations; destructive tools delete ranking history and say so in their description.\n\n## What is in this repository\n\n- `server.json`: the entry published to the [official MCP Registry](https://registry.modelcontextprotocol.io) as `com.asoatlas/mcp`\n- `.claude-plugin/plugin.json` + `.mcp.json` + `skills/aso-atlas/SKILL.md`: a Claude Code plugin bundling the server with a skill\n- `plugin.json` + `mcp.json`: the same as an [Agent Plugin](https://agent-plugins.org) for Cursor and compatible clients\n- `SETUP.md`: the connection walkthrough a client can follow after install\n\nThe server itself is part of the ASO Atlas web application and is not open source. The manifests and skill here are MIT licensed.\n\n## Privacy Policy\n\nThe server only ever reads and writes the signed-in user's own ASO Atlas data. Privacy policy: https://asoatlas.com/privacy. Terms: https://asoatlas.com/terms. Support: support@asoatlas.com.\n",
  "bytes": 5190,
  "sha": "ead3a9c5b104d0177694a1a1b6faa20d382993cbb545b03b673d1c1939ef65a5",
  "repo_slug": "asoatlas/mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_asoatlas_mcp_146848ed/readme"
}