# sonar

Hands your agent App Store and Google Play data: app lookup, keyword research, ASO audits, review mining and revenue estimates.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI
- Author: trysonar
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/trysonar/mcp
- Updated: 2026-10-01
- HTML: https://affpapa.org/en/nevibecode/mcp/sonar

## What it does

The server exposes 55 tools from the Sonar REST API. Several read calls run keyless: app search, ASO scoring, keyword extraction from a listing, autocomplete suggestions and top charts. The rest need an API key and credits on any plan.

Access then splits by plan. Workspace tools — tracked apps, rank history, metadata changes, review analysis, alerts — open up on Indie or higher. Portfolio rollups plus App Store Connect sales and funnel data sit behind Agency, and other plans get a 403. Anything that writes to your workspace needs a `write`-scope key or an OAuth sign-in.

The two AI generation tools, `sonar_analyze_competitors` and `sonar_generate_review_insights`, are unavailable on a trial and require a paid plan. `sonar_app_sales` and `sonar_app_engagement` also need an App Store Connect connection, and the funnel numbers want an Admin-role key. Both are iOS-only.

## Requirements
- Needs: Node.js (commands run via npx)
- Remote server: `https://trysonar.app/mcp`
- Environment variables: `SONAR_API_KEY`, `SONAR_API_URL` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

1. **Platform CLI**
```bash
claude mcp add --env SONAR_API_KEY=<SONAR_API_KEY> --env SONAR_API_URL=<SONAR_API_URL> --transport stdio sonar -- npx -y @sonarapp/mcp
```
Replace <…> with your own values

2. **Platform CLI: remote server**
```bash
claude mcp add --transport http sonar https://trysonar.app/mcp
```

### Codex

1. **Platform CLI: remote server**
```bash
codex mcp add sonar --url https://trysonar.app/mcp
```

2. **Platform CLI**
```bash
codex mcp add sonar --env SONAR_API_KEY=<SONAR_API_KEY> --env SONAR_API_URL=<SONAR_API_URL> -- npx -y @sonarapp/mcp
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "sonar": {
            "url": "https://trysonar.app/mcp"
        }
    }
}
```
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "sonar": {
            "command": "npx",
            "args": [
                "-y",
                "@sonarapp/mcp"
            ],
            "env": {
                "SONAR_API_KEY": "<SONAR_API_KEY>",
                "SONAR_API_URL": "<SONAR_API_URL>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "sonar": {
            "type": "http",
            "url": "https://trysonar.app/mcp"
        }
    }
}
```
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "sonar": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@sonarapp/mcp"
            ],
            "env": {
                "SONAR_API_KEY": "<SONAR_API_KEY>",
                "SONAR_API_URL": "<SONAR_API_URL>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

1. **Platform CLI: remote server**
```bash
gemini mcp add -t http sonar https://trysonar.app/mcp
```

2. **Platform CLI**
```bash
gemini mcp add -e SONAR_API_KEY=<SONAR_API_KEY> -e SONAR_API_URL=<SONAR_API_URL> sonar npx -y @sonarapp/mcp
```
Replace <…> with your own values

## When to use it
- find apps for a keyword and see their store ranking order
- score a listing against an ASO checklist
- pull target keywords out of an app description
- compare your keywords with a competitor's and spot the gaps
- watch daily ranks and catch rating drops

## Example prompts
- Find apps in the App Store for "habit tracker" and show the ranking order
- Run an ASO audit on the app with ID 123456789 and tell me what to fix
- Pull my competitor's keywords and show where my app has gaps

## Similar
- [app-rejection-recovery](https://affpapa.org/en/nevibecode/skills/app-rejection-recovery.md) — skill · 1800 installs
- [aso-audit](https://affpapa.org/en/nevibecode/skills/aso-audit.md) — skill · 4500 installs
- [ASO Atlas](https://affpapa.org/en/nevibecode/mcp/aso-atlas.md) — MCP server
- [app-store-optimization](https://affpapa.org/en/nevibecode/skills/sickn33-app-store-optimization.md) — skill · 1800 installs
- [aso](https://affpapa.org/en/nevibecode/skills/arnabbagxd-aso.md) — skill · 1500 installs

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
