Skip to content
LocalASO

MCP and AI agents

LocalASO board_get tool: read an app's keyword board

board_get is the read tool in LocalASO's MCP server: without arguments it lists your apps, and with an app it returns every keyword on that app's board with rank, volume, difficulty and verdict for each country. Use it first in any agent session.

Updated

Input

ArgumentTypeRequiredMeaning
appstringnoInternal id, App Store trackId, or part of the app name

If app matches nothing, the tool returns an error that lists the known apps. If it matches several, the error lists them with their ids so the agent can retry with one.

Output without app

An apps array. Each entry has id, trackId, name, isOwn and mainCountry. The isOwn flag separates your own apps from other apps tracked in the same database.

Output with app

An object with app (the same summary) and a keywords array. Each keyword has:

FieldMeaning
termThe keyword as you entered it
sectionpage or idea, where the keyword sits on the board
demandThe board's demand value for the keyword
avgVolumeAverage volume estimate across checked countries
avgDifficultyAverage difficulty estimate across checked countries
top10A string like 3/5: in how many checked countries your app is in the top 10, over how many countries have been checked
reviewsThe review figure the board shows for the keyword
marketsOne entry per country

Each markets entry has country, phrase (the phrase actually searched in that storefront, which differs from term after localization), rank, volume, difficulty and verdict.

rank has three meanings. A number is your position. The string "200+" means the keyword was checked and your app was not found. null means it has not been checked yet. An agent that treats null as "not ranking" will draw the wrong conclusion, so tell it to call keywords_check first.

Volume and difficulty are 0 to 100 estimates derived from rating counts of ranking apps, not Apple search counts; see keyword difficulty. The verdict is one of Swap, Dead, Hard, Push or Maybe.

Example prompts

  • "List my LocalASO apps." Expected call: board_get with no arguments.
  • "Show the board for the app whose name contains Streakly and sort by average difficulty." Expected call: board_get with app: "Streakly", then sorting by the agent.
  • "Which keywords have rank null in Germany?" The agent filters markets where country is DE and rank is null.

These are examples of prompts and the calls they should trigger, not recorded output.

Behavior notes

  • The call is read-only, so it is safe to repeat. Large boards produce large JSON; ask the agent to filter by section or country in its answer.
  • Like every tool, it returns a message instead of data if the app has no valid license on that Mac.
  • The board only reflects what you or an agent added and checked. A keyword you never added is not in the result.

Next step

After reading, extend the board with board_add_keywords, or see who beats you with competitors_get. The whole tool set is in the MCP docs; for the method behind the numbers, read the search volume guide.

Questions

Does board_get change anything?
No. It only reads from the local database; the checks that fill in ranks are run by keywords_check.
Why is rank null for some cells?
The cell has not been checked yet. Run keywords_check to fill it.

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.