Skip to content
LocalASO

MCP and AI agents

App Store keyword research with Claude Code and LocalASO

You can do App Store keyword research with Claude Code by registering LocalASO's local MCP server once with claude mcp add, then asking Claude to read your board, add keywords and check ranks in plain language. The server runs on your Mac and uses the same database as the app.

Updated

Connect it

Install and activate the app first (see the MCP server docs). Then run this in a terminal:

claude mcp add localaso -e ELECTRON_RUN_AS_NODE=1 -- \
  /Applications/LocalASO.app/Contents/MacOS/LocalASO \
  /Applications/LocalASO.app/Contents/Resources/app.asar/out/main/mcp.js

Claude Code's documentation explains that the double dash separates Claude's own options (such as --env and --scope) from the command that starts the server, and that everything after it is passed through untouched. If you ever write the flags in front of the name, put another option such as --transport stdio between --env and the server name, because Claude Code otherwise reads the name as another KEY=value pair.

Check that it connected

Run claude mcp get localaso to see the server status, or type /mcp inside a Claude Code session. claude mcp list shows every configured server and claude mcp remove localaso removes it. You should see the five tools: board_get, board_add_keywords, keywords_check, competitors_get and listing_get.

Share it with a project

By default Claude Code stores a server for the current project in ~/.claude.json. To commit the setup for a team, put it in .mcp.json at the project root:

{
  "mcpServers": {
    "localaso": {
      "command": "/Applications/LocalASO.app/Contents/MacOS/LocalASO",
      "args": ["/Applications/LocalASO.app/Contents/Resources/app.asar/out/main/mcp.js"],
      "env": { "ELECTRON_RUN_AS_NODE": "1" }
    }
  }
}

Claude Code asks for approval before using project-scoped servers from .mcp.json in interactive sessions. Each teammate still needs their own LocalASO license, because the server reads the license on that Mac.

A research session, step by step

These are example prompts, not recorded output. The tool calls are the ones Claude should make, based on each tool's schema.

  1. Prompt: "Use localaso to list my apps." Expected call: board_get with no app. Result shape: an apps array with id, trackId, name, isOwn and mainCountry.
  2. Prompt: "Show the board for Streakly and tell me which keywords have no rank yet." Expected call: board_get with app: "Streakly". Rows with rank: null have not been checked.
  3. Prompt: "Add these 15 habit-tracking keywords as ideas for Germany and France, localized, then check them." Expected calls: board_add_keywords with mode: "localize" and countries: ["DE","FR"], then keywords_check.
  4. Prompt: "Which of them are worth a place in the keyword field?" Claude reads the verdict, volume and difficulty fields from the check result.

Localize mode needs an AI provider that works without a stored key; the default Claude Code CLI provider does. See AI providers.

Limits to know

Next step

Download the app on the download page, activate it, run the command above and start with the listing prompt.

Questions

Do I need Node installed?
No. The installed LocalASO app runs the server itself with ELECTRON_RUN_AS_NODE=1.
Why does the first tool call fail with a license message?
The MCP tools refuse to run until the app has a valid license on that Mac. Open LocalASO and enter your key, then retry.

Sources

Do this for every country, in minutes

LocalASO checks your rank, volume and difficulty for every keyword in 50+ App Store countries, in each local language. It runs on your Mac. $29 once, no subscription.