Skip to content
Agentmart
Submit a tool

Applyra

App Store Optimization data for AI agents: keyword ranks, scores, competitors, charts

Connector by applyra.ioOfficial · Domain verified by the MCP Registry

IndexedMITLocal (stdio)Remote (HTTP)
Write a review

Install

Works with Claude Code, VS Code, Codex, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/applyra-io-mcp-server

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Remote endpoint

  • https://www.applyra.io/api/mcp Remote (HTTP)

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

App Store Optimization data for AI agents: keyword ranks, scores, competitors, charts

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
17 read · 7 write · 5 delete · 1 not yet classified
Secrets
1 (API keys, tokens or passwords)
Install scripts
None found
Runs as
Node.js package

Tools by what they do 30

Read from the source code; the running server may list different tools.

Read 17 · Look things up without changing anything.

  • check_metadata
  • compare_events
  • get_account_usage
  • get_app_score_history
  • get_aso_health
  • get_keyword_rank_history
  • get_metadata_simulation
  • list_applications
  • list_autocomplete_history
  • list_competitors
  • list_keyword_inspections
  • list_keywords
Show 5 more tools
  • list_metadata_simulations
  • list_niche_analyses
  • list_notes
  • list_top_chart_categories
  • top_charts

Write 7 · Create, change, send or run things.

  • add_application
  • add_competitor
  • add_note
  • inspect_keyword
  • run_autocomplete
  • simulate_metadata
  • track_keywords

Delete 5 · Delete, drop, revoke or wipe things.

  • delete_note
  • remove_competitor
  • set_keyword_favorite
  • untrack_keyword
  • update_note

Not yet classified 1 · We could not tell from the name and description.

  • run_niche_analysis

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • APPLYRA_API_KEY

Network hosts it talks to 1

  • applyra.io · found in remote endpoint, install command

Tools (30)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • add_applicationAdd an application

    Track a new mobile application by its store bundle ID. The app metadata is fetched from the store, an initial visibility score is computed, and the app is linked to the user workspace. Counts against the plan app cap.

  • add_competitorAdd a competitor

    Add a competitor app to one of your applications, identified by the competitor's store bundle ID. The competitor metadata is fetched from the store and ranking entries are backfilled for every keyword tracked on the main app.

  • add_noteAdd a note

    Add a note to an application's charts for something done on a day: a campaign, a metadata change, a launch, a price change. It shows as a flag on the visibility and keyword rank charts, and compare_events then measures the visibility and ranks before and after it. Returns { app_id, note: { id, day, text, scope } }. The day is today or earlier; a future day is refused.

  • check_metadataCheck listing metadataread-only

    Check draft listing text against the stores' own rules, before spending a run measuring it. Per field: the length as the STORE counts it (UTF-16 code units, which is not what a character count gives you in most languages), the limit, what is left, and warnings[]. warnings[].level is "error" (the store would refuse this as it stands), "warning" (it costs you something, or a reviewer may object) or "info" (worth knowing, often counter-intuitive: emoji are allowed in a Google Play description but banned in the app name). warnings[].rule names the policy when one fired: "price", "ranking", "play-p…

  • compare_eventsCompare before and after each eventread-only

    Measure what followed each event of an application: the user's notes and the app updates detected, newest first, over the last year. For each event, the average over the window days before against the same number of days after (the event day itself in neither): the app's visibility score (0-100, higher is better) by default, or with keyword_id, that keyword's rank for the app (lower is better, so a negative change means the app climbed; a day outside the top 100 counts as #101, and unranked_days says how many there were). Returns metric, window_days, history_start, total (how many events there…

  • delete_noteDelete a notecan change or delete data

    Delete a note from an application's charts. Pass the note id from list_notes. The notes after it are renumbered. Returns { id, deleted: true }.

  • get_account_usageGet account usageread-only

    Get current account usage and plan limits: number of applications, keywords, competitors, keyword inspections, niche analyses, autocomplete queries and metadata simulations used vs. allowed, plus API request count for the current billing period.

  • get_app_score_historyGet visibility score historyread-only

    Get the daily visibility score history of one application. The visibility score (0-100) summarises how discoverable the app is across a stable set of keywords from its niche, the same set over time, so two dates are directly comparable. Returns app_id, app_title, the resolved from/to dates, and history[] of { date (YYYY-MM-DD), score }, where score is null on days with no snapshot, plus events { notes[], app_updates[], store_updates[] } over the range: the user's notes, the app updates detected and the store algorithm updates of its market, what may explain a move. To measure what followed eac…

  • get_aso_healthGet the ASO Health auditread-only

    Get the full ASO Health audit of one tracked app: how well its listing is WRITTEN, as opposed to how it currently ranks. Returns app (id, app_id, title, store, country, lang) so a score is always attributable, global (0-100), the three axes, the maturity tier with its label, every field, the terms it targets, flags[], and timeline[] of past releases with their score. THE AXES: coverage = how much searched vocabulary the indexed fields carry; targeting = whether the terms it aims at are winnable AT THIS APP'S SIZE; appeal = rating, screenshots and freshness. TIER drives targeting: 1 Emerging, 2…

  • get_keyword_rank_historyGet keyword rank historyread-only

    Get the daily rank history of one tracked keyword, with one series per app that tracks it. Returns keyword, store, country, lang, the resolved from/to dates, and apps[] entries holding app_id, app_title and history[] of { date (YYYY-MM-DD), rank }, one entry per day a ranking run measured: rank is null on days the app did not rank, and a day not measured yet (today before the daily update) is omitted. Each app entry also has events { notes[], app_updates[], store_updates[] } over the range: the user's notes on the app, its updates detected, and the store algorithm updates of the keyword's mark…

  • get_metadata_simulationGet a metadata simulationread-only

    Read one saved listing draft in full: the four fields it was scored on, the context it assumed, the score it reached, and the findings behind it. This is what list_metadata_simulations cannot carry, and it is what makes a past run worth picking up: the text is here. Pass the "id" of a row from list_metadata_simulations, or the "saved.id" a simulate_metadata call returned. Read-only and instant.

  • inspect_keywordInspect a keyword

    Deep-analyze any keyword (even ones you don't track). Returns difficulty_score (0-100), traffic_score (0-100), KEI with score and level (e.g. "good"), the top 20 apps currently ranking for it (with rank, app_id, title, icon, genre, rating), related keyword suggestions from search and keyword sources, and whether you already track this keyword. Inspecting a keyword you already track does not consume the inspection quota.

  • list_applicationsList applicationsread-only

    List all tracked mobile applications. Returns each app with its store metadata: title, description, app_id (bundle ID), store (ITUNES or GPLAY), country, lang (BCP-47), icon URL, screenshots, developer name, genre, version, rating score, number of ratings, the count of tracked keywords, and aso_health (the listing audit: global score plus its coverage, targeting and appeal axes, or null on an app the audit has not reached yet; get_aso_health returns the breakdown behind it). Usually the first call of a workflow: the numeric internal ID it returns is what track_keywords, add_competitor, get_app…

  • list_autocomplete_historyList autocomplete historyread-only

    List the autocomplete queries you have previously run, with the prefix, store, country, lang, suggestion count and last query date.

  • list_competitorsList competitorsread-only

    List competitor tracking pairs. Each pair holds your app (id, app_id, title, icon, store only) and the competitor app with its full store metadata (title, description, url, icon, screenshots, developer_name, genre, version, score, ratings), plus both apps' visibility scores (app_score vs competitor_score, 0-100) for direct ASO comparison. Use list_applications to get the full metadata of your own app.

Show 15 more tools
  • list_keyword_inspectionsList keyword inspectionsread-only

    List the keywords you have previously inspected, with their last inspection date and current difficulty/traffic scores. Useful to revisit past keyword research without consuming the inspection quota again.

  • list_keywordsList tracked keywordsread-only

    List tracked keywords with ASO metrics. Returns each keyword with: keyword text, store, country, lang, difficulty_score (0-100), traffic_score (0-100), current_rank, ahead/behind (the apps ranked immediately above and below yours), the top 5 apps ranking for this keyword (in ranking order, rank 1 to 5), is_favorite flag, and the tracking start date. current_rank comes from the latest daily ranking snapshot and is null when the app is not in the top 100 for that keyword, in which case ahead and behind are null too. A null rank always means "not ranked", never "unknown": the tool errors out rath…

  • list_metadata_simulationsList metadata simulationsread-only

    List the listing drafts already scored on this account, newest first, whether they were run from here or from the Metadata Simulator in the dashboard. Each row holds the draft TITLE ONLY, its market, the score it reached with the three axes, the app score it was measured against, whether it differed from the live listing, and how many times it has been re-run. It does NOT carry the subtitle, keywords field or description: pass a row's "id" to get_metadata_simulation to read a draft in full. Use this to find a past score without re-running it.

  • list_niche_analysesList niche analysesread-only

    List the niche analyses previously run, with topic, store, country, lang, cluster count, keyword count, top opportunity score and creation date. Paginated through page and per_page. Read-only: it re-reads work already done, so call it before run_niche_analysis to check whether a topic was already covered. It returns summary rows only, not the clusters and keywords themselves.

  • list_notesList notesread-only

    List the notes on an application's charts: what the user did on a day ("launched a Reddit giveaway", "changed keywords"), to read the visibility and ranks against it. Returns app_id and notes[] of { id, number, day (YYYY-MM-DD), text, scope }, oldest first. number is the note's rank among all the app's notes, the number the charts print on its flag; scope is "app" for a note shown on every market of the app, "market" for one shown on this market only. Pass the numeric internal ID from list_applications. To see what followed each note, use compare_events. Read-only.

  • list_top_chart_categoriesList top chart categoriesread-only

    List the categories and collections supported by the top_charts tool, per store. Use a returned category "key" (e.g. "OVERALL" for the overall chart, or a store value like "6014" / "GAME") and a collection (free, paid, grossing) as inputs to top_charts.

  • remove_competitorRemove a competitorcan change or delete data

    Remove a competitor relationship by its internal relation ID (the `id` field returned by list_competitors or add_competitor — note that this is the relation row id, not the competitor app id).

  • run_autocompleteGet store autocomplete suggestions

    Fetch autocomplete suggestions from the App Store or Google Play for a given prefix (1-60 characters). Useful to discover what users are searching for that starts with a given seed. Consumes one autocomplete query and one API request.

  • run_niche_analysisRun a niche analysis

    Run a niche analysis on a topic: discovers relevant keywords, clusters them into sub-niches, and scores each cluster's opportunity. Returns clusters with their keywords, opportunity scores, intent type, and an app concept suggestion. Cache hits (recent identical analyses, less than 7 days old) are returned instantly without consuming the niche analysis quota. Fresh analyses can take a few minutes.

  • set_keyword_favoriteMark a keyword as favoritecan change or delete data

    Mark or unmark a tracked keyword as favorite for a specific app. Favorites are stored per tracking row (profile + app + keyword), so a keyword tracked across multiple apps has independent favorite states. Both keyword_id and app_id come from list_keywords results.

  • simulate_metadataSimulate listing metadata

    Score a listing that does not exist yet, on the same engine that audits the real ones, and see the gain or loss against the app's current score. WITH app_id: every field you leave out is read from that app's live listing AND its real context (rating, screenshots, age, languages), so { app_id, title } is a complete request and the delta is meaningful. This is the mode to use to answer "is my draft better than my listing". WITHOUT app_id: you must pass store, country and lang, and the context defaults to a listing NOBODY HAS PUBLISHED: no rating, no screenshot, one language. That deliberately fl…

  • top_chartsGet store top chartsread-only

    Get a store top-chart ranking (App Store or Google Play) for a country, category and collection, with daily rank movement. Returns the snapshot date and ranked apps (rank, app_id, apple_id, title, developer, icon, rating, price, currency, delta vs. yesterday, is_new). Category: pass "OVERALL" (default) for the overall chart, or a store category value (iTunes genre id e.g. "6014" for Games, or a Google Play category e.g. "GAME"). Collection: free (default), paid, or grossing.

  • track_keywordsTrack keywords

    Track up to 20 new keywords for one of your applications in a single call. Each keyword triggers an immediate ranking fetch. Already-tracked keywords return a per-keyword error in `results`; previously removed keywords are reactivated automatically. Use app_id from list_applications results.

  • untrack_keywordUntrack a keywordcan change or delete data

    Stop tracking a keyword for the specified app (soft delete). The historical ranking data is preserved; re-adding the same keyword reactivates the row. Idempotent: calling on an already-removed row returns success.

  • update_noteChange a notecan change or delete data

    Change the text, the day or both of a note; a field left out keeps its value. Pass the note id from list_notes. A note moved to an earlier or later day can renumber the others. Returns { note: { id, day, text, scope } }.

Signals

Stars
0
Forks
0
Open issues
0
Weekly downloads
133
Last commit
Oct 12, 2026 (17 days ago)
Last release
Oct 12, 2026 (17 days ago)
Last package publish
Oct 12, 2026 (17 days ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.applyra/mcp-server
Version
1.7.0
Auth
Auth not stated, API key
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 25, 2026
Cite this page

Applyra MCP server. Agent Mart. https://agentmart.dev/connectors/applyra-io-mcp-server (last updated 2026-10-25)