MCP Server
Official Sonar MCP server. Drops App Store Optimization tools into Claude Desktop, Claude Code, Cursor, Cline, and any Model Context Protocol-compatible client. AI agents can look up apps, research keywords, audit ASO, and analyze reviews directly from chat.
Tools
The server exposes 8 stateless tools covering iOS App Store and Google Play. All tools are read-only and work with one API key.
| Tool | Description |
|---|---|
| sonar_app_lookup | Look up app metadata by store ID (rating, reviews, category, installs, price) |
| sonar_app_search | Search apps by keyword in store ranking order |
| sonar_app_aso_score | ASO audit score (0-100) with itemized checks |
| sonar_app_extract_keywords | Extract target keywords from an app's listing |
| sonar_app_reviews | Fetch reviews with rating filters and sort options |
| sonar_app_revenue | Estimate monthly revenue with methodology |
| sonar_keyword_search | Keyword research — difficulty, popularity, related terms |
| sonar_keyword_suggestions | Autocomplete suggestions from the store |
1. Get an API key
You need a Sonar API key. Get one at trysonar.app/developers — keys start with aso_.
The cheapest plan is the Agent Plan ($9/month) — API-only, no rate limit, purpose-built for this use case. 7-day free trial available on every plan.
2. Add the server to your MCP client
The MCP server is published as @sonarapp/mcp on npm and runs via npx — no global install required. Pick your client below.
Claude Desktop
Open the config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Add the sonar entry:
{
"mcpServers": {
"sonar": {
"command": "npx",
"args": ["-y", "@sonarapp/mcp"],
"env": {
"SONAR_API_KEY": "aso_your_key_here"
}
}
}
}Restart Claude Desktop. The 8 sonar_* tools will appear in the tool picker.
Claude Code
One-liner from your shell:
claude mcp add sonar -e SONAR_API_KEY=aso_your_key_here -- npx -y @sonarapp/mcpRestart your Claude Code session and the tools will load automatically.
Cursor
Add to ~/.cursor/mcp.json (or per-project .cursor/mcp.json):
{
"mcpServers": {
"sonar": {
"command": "npx",
"args": ["-y", "@sonarapp/mcp"],
"env": { "SONAR_API_KEY": "aso_your_key_here" }
}
}
}Cline / other MCP clients
Most clients use the same command + args + env shape. Point the command at npx -y @sonarapp/mcp and pass SONAR_API_KEY in the env. Some clients require an absolute path to npx — run which npx and use that.
3. Try it
Once installed, try prompts like:
- “Use Sonar to look up Spotify on iOS in the US store and report its rating, review count, and category.”
- “Run an ASO audit on
com.duolingoon Android and tell me what to fix.” - “Research the keyword habit tracker on iOS — give me difficulty, popularity, and 5 related terms with lower difficulty I should consider.”
- “Pull the 50 most recent 1- and 2-star reviews of
1517783697on iOS US and group complaints by theme.” - “Search meditation on the App Store and estimate monthly revenue for the top 5 results.”
Configuration
| Variable | Required | Description |
|---|---|---|
| SONAR_API_KEY | yes | Your Sonar API key (aso_...) |
| SONAR_API_URL | no | Override base URL (default https://trysonar.app). HTTPS only, except localhost. |
Pinning a version
By default npx -y @sonarapp/mcp resolves to the latest version. To pin:
"args": ["-y", "@sonarapp/[email protected]"]See the package on npm for the version history.
Privacy & data flow
The MCP server is a thin client around the Sonar REST API. Your API key is sent as a Bearer token over HTTPS. Tool inputs and the resulting JSON pass through your AI client; the @sonarapp/mcp package itself does not log anything.
Troubleshooting
“SONAR_API_KEY is not set”
Your MCP client did not pass the env var through. Check the env section of your client's config. Some clients ignore env when the command path isn't absolute — try which npx and use that path.
“Authentication failed”
Your key is invalid, expired, or your subscription lapsed. Check /developers.
Tools don't appear in the picker
Restart the MCP client after editing config. In Claude Desktop, fully quit (Cmd+Q) — closing the window isn't enough. In Claude Code, end the session and start a new one.
See also
- REST API reference — same data, called over HTTP
- CLI reference — same data, from your terminal
- Agent Plan — pricing for AI agents
- @sonarapp/mcp on npm
- Source on GitHub