MCP and AI agents
LocalASO board_add_keywords tool: add and localize keywords from an agent
board_add_keywords writes keywords to an app's board: up to 100 terms per call, either exactly as written or adapted to each country's language by your AI provider. It adds rows; it does not check ranks.
Updated
Arguments
| Argument | Type | Required | Default and rules |
|---|---|---|---|
app | string | yes | Internal id, App Store trackId, or part of the app name |
terms | string[] | yes | 1 to 100 entries, each non-empty |
mode | english or localize | no | english |
countries | string[] | no | At least one valid country code, such as US, DE or JP. When omitted, your default countries from Settings are used |
section | page or idea | no | idea when omitted |
An unknown country code is rejected with "Unknown country code".
The two modes
In english mode the term is used as written in every country you pass. Use it when the keyword is a brand or technical word that people type the same way everywhere, or when you already have the localized phrases.
In localize mode LocalASO asks your configured AI provider to adapt every term to each country's language, and it never translates the same term and country twice, so repeating a call is cheap. This mode has a constraint from the MCP server's environment: keys saved by the app are encrypted for the app only, so the server cannot read them. Localize mode therefore needs a provider that works without a stored key, such as the default Claude Code CLI. The provider list is in the AI providers docs, and the idea behind localizing keywords is in localize App Store keywords with AI.
Output
An object with app, an added array and a note. Each added entry has id, term and phrases, a list of { country, phrase } pairs showing what will be searched in each storefront. The note says to run keywords_check. The rows start with no rank, volume or difficulty.
Example calls
These are example prompts and the calls they should produce, not recorded output.
- "Add
habit tracker,streak counteranddaily routineto Streakly as ideas for the US." Call:board_add_keywordswithtermsof three strings,countries: ["US"],mode: "english". - "Add those same three terms, localized to Germany, France and Japan." Call: the same with
mode: "localize"andcountries: ["DE","FR","JP"]. - "Add
water reminderto the keyword page section." Call: withsection: "page".
Then ask the agent to run keywords_check for the new terms. With 3 terms and 3 countries that is 9 checks, well under the per-call cap.
Pitfalls
- Passing more than 100 terms fails validation. Split large lists into several calls.
- The term list is matched case-insensitively when the result is built, so
Habit Trackerandhabit trackercount as the same word in the output. - If you omit
countries, the call uses your Settings defaults, which you may not remember. Pass countries explicitly so you know how much localization work you are asking for. LocalASO covers 52 storefronts. - Every tool returns a licensing message instead of working when the Mac has no valid license.
Next step
Read the board back with board_get. For choosing which countries to add, see the App Store ranking by country guide, and for the full tool list the MCP docs.
Questions
- Does adding keywords check their rank?
- No. The result includes a note to run keywords_check, which fetches rank, volume and difficulty.
- Will localize translate the same keyword twice?
- No. Localize mode never translates the same term and country twice.
Do this for every country, in minutes