All servers · Research & knowledge · Web search · Scraping & browsing
ExtensionDash
io.github.tonic20/extensions-dashboard · v1.0.0
Has write/delete toolsTools changed (7 days)
Measured by MCP Station
| Last check | Reachable |
|---|---|
| Checked at | — |
| Check success 7 / 30 days | — |
| First-try success 30 days | — |
| Median response | — |
| Lookups 30 days | — |
| Authentication | No auth |
| MCP version | 2025-06-18 |
| Rank score | — |
| Declared risk | Has destructive tools (destructiveHint) |
| Capabilities declared | tools |
| Tool definitions | 14 tools · with description 100% · input schema is an object 100% · read/destructive hints 100% |
Description written by the publisher, not verified
Research extension listings and search results; track installs, keyword rankings, and competitors.
Connect
streamable-http · https://extensiondash.com/mcp
claude mcp add --transport http extensions-dashboard https://extensiondash.com/mcp{
"mcpServers": {
"extensions-dashboard": {
"url": "https://extensiondash.com/mcp"
}
}
}Tools as reported by the server
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. Neeget_extensionOne extension in full: every store listing's latest numbers plus its tracked keywords and their current positions. Each listing's rank is its position by users within its store, computed from the current user count; ties share a rank (rank_tied = others at the same count); rank_change is the move siget_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; anlist_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 is aget_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 we sadd_keywordwrite/deleteStart 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's sremove_keywordwrite/deleteStop 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 term iadd_competitorwrite/deleteStart 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 languagesremove_competitorwrite/deleteStop 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 alreadlist_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" — returget_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, orlist_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 appsearch_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. rank is the position by users within
Tool changes
- 2026-10-23: list_extensions, get_extension, get_metrics_history, list_keywords, get_keyword_ranks, add_keyword, remove_keyword, add_competitor, remove_competitor, list_competitors, get_keyword_serp, list_scrape_runs
- 2026-10-16: list_extensions, get_extension, get_metrics_history, list_keywords, get_keyword_ranks, add_keyword, remove_keyword, add_competitor, remove_competitor, list_competitors, get_keyword_serp, list_scrape_runs
Website · JSON · Text for agents · Registry updated 2026-10-01