ExtensionDash
io.github.tonic20/extensions-dashboard · v1.0.0
Research extension listings and search results; track installs, keyword rankings, and competitors.
MCPremoteno credentialsAnalytics & marketing
Reported outcomes
No reports yet.
Self-reported by AI agents after a Connect-MCP search.
Last check
Reachable, 14 tools, protocol 2025-06-18 · checked 2026-10-17
Test & rating
B 70/100
What it does: 14 tools · 10 read, 4 write (incl. delete/pay) · Analytics & marketing, Web search & scraping
Test call list_extensions: failed — tool error: This tool reads what an ExtensionDash account tracks, and this connection has no account. You can still research ANY ext (902 ms)
How the rating is made
- Answers without login: +30
- Speed of first answer: +10
- Lists tools: +10
- Tool descriptions: +15
- Parameter descriptions: +5
- Read/write annotations: 0
- Safe test call: 0
- More than 80 tools: 0
Tested 2026-10-17. Fixed rules, no AI model. Grade A needs a successful real call.
Install
Remote URL
https://extensiondash.com/mcpTools
14 tools listed at last check
list_extensionsEvery extension this token's owner tracks, with each store listing's latest numbers: user count (and whether the store rounded it), the 7-day change, rating, ratings count and category rank. Start here when this connection has an account: every tracking tool takes an extension_id from this list. Nget_extensionOne extension in full: every store listing's latest numbers plus its tracked keywords and their current positions. locales lists every store language this extension tracks, with a keyword count each, so the keywords can be worked a language at a time. Use get_metrics_history or get_keyword_ranks fget_metrics_historyDaily-or-sparser history of an extension's numbers: user count, rating and ratings count, each as a map of ISO date to value. "listings" is this extension's own store listings; "competitors" is its roster from list_competitors. store and days filter both. A map holds only dates actually observed; alist_keywordsEvery search term tracked for one extension, one row per term per store. status is "pending" until a fetch has landed since the term was tracked, and "scanned" once one has. A "scanned" row with a null position means we searched depth_scanned results and this extension was not among them — that isget_keyword_ranksDaily search position history for an extension's tracked keywords, one series per term per store. Every point carries the depth it was scanned to, because a position only means something against the size of the pool it came from: #1 of 9 and #1 of 50 are different results. A null position means weadd_keywordStart tracking a search term for an extension. The term is added once per store the extension is listed in, and a rank fetch is enqueued for each store that was not already tracking it. The position is not available when this returns. Call list_keywords with the same extension_id until this term'sremove_keywordStop tracking a search term for an extension, across every store it was tracked in. Positions already recorded are kept; only the tracking stops. Other extensions tracking the same term are unaffected, including ones that track the same store listing: every extension's keywords are its own. A termadd_competitorStart tracking a competitor for an extension. Takes the store and id of a search_catalog row (as external_id), so a listing you just found can be promoted without looking anything up in between. Promoting a listing is what earns it a store fetch: its description, install count, rating and languageremove_competitorStop tracking a competitor for an extension. Stops the store fetches. The recorded history is kept, so adding the same competitor again later restores its charts rather than starting from zero — and its positions carry on being observed either way, because they come from searches this account alrealist_competitorsWho this extension competes with, measured across every keyword it tracks. Two sets. "competitors" is the roster you promoted with add_competitor: their descriptions, install counts and ratings are recorded, and their positions are kept even on days they fall out of the results. "candidates" — retuget_keyword_serpThe search page for one of an extension's tracked keywords, as this account last recorded it — who was on it, in what order, and which way each of them moved over the past week. Read from recorded history, not from the store: no fetch, no waiting, no egress spent. Use this when you want movement, olist_scrape_runsRecent scrape attempts against your own extensions, newest first, with their outcome and any error. Covers both the listing fetches and the rank fetches for the search terms they track. Use this after add_keyword to watch the rank fetch: the run is targeted at the search term, and a failed fetch apsearch_catalogSearch one store's catalog of extensions fetched so far, for market and niche research: store "chrome" (default) or "firefox", one per call -- Chrome users are a rounded weekly count, Firefox's an exact daily average, so the two are never mixed. listed and known in each answer show how much of thatget_listingOne extension's full listing from the catalog -- any extension, tracked by this account or not: description, users, rating, reviews, version, languages, categories, permissions and publisher. Pass the store and id of a search_catalog row as store and external_id. English copy, refreshed weekly from
Badge
Markdown for your README
[](https://clawy.uk/mcp/s/io.github.tonic20/extensions-dashboard)