Weekly + monthly stats across registries.Updated 18m ago.
Your registry co-pilot • Powered by Ollama • Local model on this machine
Voice server not detected
To enable voice, run this once:
PORT=11435 npx @mcptoolshop/voice-soundboard-mcpIt auto-downloads the TTS model (~310 MB) on first run. After that, add it to startup for hands-free operation.
Read-only token for mcp-tool-shop-org. Stored locally, never sent anywhere except GitHub API.
Wikipedia works automatically for knowledge questions. Install SearXNG locally for broader web search.
Weekly and monthly downloads are npm and PyPI. VS Code, NuGet, Docker, and GitHub contribute their all-time total in the breakdown, not these two sums.
Growth signals and data reliability at a glance.
33Top 5 packages drive 33% of weekly downloads. 5 accelerating, 0 stabilizing.
npm.range:@motif-studio/clip-engine[npm] Request aborted β https://api.npmjs.org/downloads/range/2026-09-15:2026-10-15/%40motif-studio%2Fclip-enginenpm and PyPI bars are this week. VS Code, NuGet, Docker, and GitHub bars are all-time totals, so the lengths are not one weekly scale. The sparkline is npm.
Aggregate npm daily downloads.
Forecasting, anomaly detection, and automated recommendations.
@mcptoolshop/ai-jam-sessions, @mcptoolshop/loadout-os show sustained decline. Consider: release updates, fix open issues, or update documentation.
Gini coefficient 0.79 indicates downloads are heavily concentrated in a few packages. Diversify promotion efforts across the portfolio.
91% of downloads come from npm. Consider cross-publishing to PyPI and NuGet to reduce single-registry risk.
Multiple download spikes detected for @world-forge/schema, @mcptoolshop/backprop-trace, @mcptoolshop/backpropagate. Could indicate bot activity, viral posts, or dependency adoption.
MouseTrainer.Domain, @dogfood-lab/atlas, mcp-tool-shop.runforge, MouseTrainer.Simulation, MouseTrainer.Audio scored below 20/100.
@mcptoolshop/ai-jam-sessions, @mcptoolshop/loadout-os lost significant download momentum.
Gini coefficient 0.79 β downloads are concentrated in a few packages.
Single-registry dependency increases blast radius if npm has outages or policy changes.
@mcptoolshop/site-theme, @mcptoolshop/ai-jam-sessions have active users but stalled growth.
Portfolio intelligence β from activity to insight.
Aggregate is the npm daily total. Per registry plots that npm series. VS Code, NuGet, Docker, and GitHub are all-time and are not on this chart.
Weekly downloads, npm and PyPI.
Distribution β’ median/P90 β’ Gini concentration.
Downloads + velocity + rank movement.
7-day growth rate per package with trend sparklines.
Sorted by total. Hover for details. Anomalies flagged.
Sorted by the Downloads column. npm and PyPI are the week. VS Code, NuGet, Docker, and GitHub are all-time. Month is npm and PyPI. Trend is last 7 vs prior 7, npm only.
| # | Package | Registry | Downloads | Month | 30d | Trend |
|---|---|---|---|---|---|---|
| 1 | MouseTrainer.Domain | NuGet | 796 | 0 | β | β |
| 2 | @dogfood-lab/atlas | npm | 773 | 6,393 | β | π New (+773) |
| 3 | mcp-tool-shop.runforge | VS Code | 736 | 0 | β | β |
| 4 | MouseTrainer.Simulation | NuGet | 721 | 0 | β | β |
| 5 | MouseTrainer.Audio | NuGet | 693 | 0 | β | β |
| 6 | Gov.Common | NuGet | 583 | 0 | β | β |
| 7 | InControl.Core | NuGet | 579 | 0 | β | β |
| 8 | LinuxDevTyper.Core | NuGet | 568 | 0 | β | β |
| 9 | DevOpTyper.Content | NuGet | 558 | 0 | β | β |
| 10 | mcp-tool-shop-org/commandui | GitHub | 553 | 0 | β | β |
| 11 | Soundboard.Client | NuGet | 515 | 0 | β | β |
| 12 | CursorAssist.Canon | NuGet | 499 | 0 | β | β |
| 13 | Gov.Protocol | NuGet | 471 | 0 | β | β |
| 14 | Attestia.Core | NuGet | 461 | 0 | β | β |
| 15 | CursorAssist.Trace | NuGet | 459 | 0 | β | β |
| 16 | mcp-tool-shop.codecomfy-vscode | VS Code | 454 | 0 | β | β |
| 17 | RunForgeDesktop.Core | NuGet | 454 | 0 | β | β |
| 18 | CodeClone.Domain | NuGet | 448 | 0 | β | β |
| 19 | CursorAssist.Policy | NuGet | 432 | 0 | β | β |
| 20 | CursorAssist.Engine | NuGet | 430 | 0 | β | β |
| 21 | Attestia.Client | NuGet | 418 | 0 | β | β |
| 22 | Attestia.Sidecar | NuGet | 412 | 0 | β | β |
| 23 | CodeTeam.Core | NuGet | 373 | 0 | β | β |
| 24 | CodeTeam.Crypto | NuGet | 341 | 0 | β | β |
| 25 | CreatorLedger | NuGet | 326 | 0 | β | β |
| 26 | CodeTeam | NuGet | 318 | 0 | β | β |
| 27 | ClaimLedger | NuGet | 304 | 0 | β | β |
| 28 | Soundboard.Maui.Audio | NuGet | 304 | 0 | β | β |
| 29 | VortexKit | NuGet | 300 | 0 | β | β |
| 30 | CodeTeam.Packaging | NuGet | 293 | 0 | β | β |
| 31 | InControl.Inference | NuGet | 290 | 0 | β | β |
| 32 | mcp-tool-shop-org/sovereignty | GitHub | 237 | 0 | β | β |
| 33 | @world-forge/schema | npm | 226 | 558 | β² 276.7% | |
| 34 | mcp-tool-shop-org/xrpl-lab | GitHub | 208 | 0 | β | β |
| 35 | mcp-tool-shop-org/xrpl-camp | GitHub | 191 | 0 | β | β |
| 36 | role-os | npm | 188 | 311 | β | π New (+188) |
| 37 | @mcptoolshop/backprop-trace | npm | 161 | 331 | β² 103.8% | |
| 38 | mcp-tool-shop-org/prism-verify | GitHub | 131 | 0 | β | β |
| 39 | @ai-rpg-engine/modules | npm | 115 | 1,593 | βΌ 79.3% | |
| 40 | backpropagate | PyPI | 109 | 909 | β | π New (+109) |
| 41 | mcp-tool-shop.vscode-voice-soundboard | VS Code | 99 | 0 | β | β |
| 42 | @ai-rpg-engine/starter-cyberpunk | npm | 91 | 535 | β² 264% | |
| 43 | @ai-rpg-engine/starter-colony | npm | 88 | 557 | β² 7.3% | |
| 44 | @ai-rpg-engine/starter-detective | npm | 87 | 642 | βΌ 43.1% | |
| 45 | @ai-rpg-engine/starter-gladiator | npm | 82 | 617 | βΌ 29.9% | |
| 46 | @ai-rpg-engine/character-creation | npm | 80 | 816 | βΌ 14% | |
| 47 | ollama-intern-mcp | npm | 73 | 303 | β | π New (+73) |
| 48 | mcp-tool-shop-org/tool-compass | GitHub | 71 | 0 | β | β |
| 49 | mcp-tool-shop-org/escape-the-valley | GitHub | 70 | 0 | β | β |
| 50 | @dogfood-lab/findings | npm | 58 | 3,273 | βΌ 72.1% | |
| 51 | @ai-rpg-engine/starter-zombie | npm | 58 | 621 | βΌ 59.2% | |
| 52 | @ai-rpg-engine/campaign-memory | npm | 58 | 570 | βΌ 43.7% | |
| 53 | @dogfood-lab/schemas | npm | 57 | 3,766 | βΌ 74.1% | |
| 54 | @dogfood-lab/verify | npm | 55 | 3,418 | βΌ 74.4% | |
| 55 | @ai-rpg-engine/audio-director | npm | 55 | 549 | βΌ 48.1% | |
| 56 | @mcptoolshop/backpropagate | npm | 52 | 1,125 | βΌ 90.2% | |
| 57 | @mcptoolshop/site-theme | npm | 52 | 833 | βΌ 75.1% | |
| 58 | @ai-rpg-engine/soundpack-core | npm | 52 | 509 | βΌ 26.8% | |
| 59 | @ai-rpg-engine/asset-registry | npm | 51 | 444 | 0% | |
| 60 | @ai-rpg-engine/core | npm | 50 | 924 | βΌ 63.5% | |
| 61 | @ai-rpg-engine/starter-weird-west | npm | 50 | 577 | βΌ 43.2% | |
| 62 | @dogfood-lab/ingest | npm | 47 | 3,260 | βΌ 78.2% | |
| 63 | @ai-rpg-engine/equipment | npm | 47 | 833 | βΌ 62.7% | |
| 64 | @ai-rpg-engine/starter-pirate | npm | 47 | 542 | βΌ 57.7% | |
| 65 | @ai-rpg-engine/character-profile | npm | 46 | 872 | βΌ 64.1% | |
| 66 | @ai-rpg-engine/starter-ronin | npm | 46 | 545 | βΌ 42.5% | |
| 67 | @dogfood-lab/report | npm | 45 | 3,338 | βΌ 75.8% | |
| 68 | @ai-rpg-engine/content-schema | npm | 43 | 852 | βΌ 66.1% | |
| 69 | @ai-rpg-engine/starter-fantasy | npm | 43 | 637 | βΌ 64.8% | |
| 70 | sovereignty-game | PyPI | 39 | 481 | β | π New (+39) |
| 71 | @ai-rpg-engine/pack-registry | npm | 38 | 681 | βΌ 65.8% | |
| 72 | @ai-rpg-engine/starter-vampire | npm | 37 | 549 | βΌ 51.9% | |
| 73 | @ai-rpg-engine/cli | npm | 37 | 470 | βΌ 63% | |
| 74 | @ai-rpg-engine/ollama | npm | 37 | 458 | βΌ 58.4% | |
| 75 | @mcptoolshop/tool-compass | npm | 34 | 337 | βΌ 42.4% | |
| 76 | @ai-rpg-engine/presentation | npm | 31 | 534 | βΌ 69.6% | |
| 77 | @ai-rpg-engine/terminal-ui | npm | 30 | 411 | β² 25% | |
| 78 | mcp-stress-test | PyPI | 29 | 157 | β | π New (+29) |
| 79 | @ai-rpg-engine/starter-merchant | npm | 28 | 340 | β | π New (+28) |
| 80 | tool-compass | PyPI | 28 | 307 | β | π New (+28) |
| 81 | comfy-headless | PyPI | 28 | 36 | β | π New (+28) |
| 82 | @mcptoolshop/shipcheck | npm | 26 | 280 | βΌ 46.9% | |
| 83 | @mcptoolshop/ai-jam-sessions | npm | 25 | 524 | βΌ 88.2% | |
| 84 | @ai-rpg-engine/starter-bounty-hunter | npm | 25 | 373 | β | π New (+25) |
| 85 | mcp-tool-shop-org/gpu-container | GitHub | 25 | 0 | β | β |
| 86 | @dogfood-lab/dogfood-swarm | npm | 24 | 3,400 | βΌ 89.1% | |
| 87 | @ai-rpg-engine/rumor-system | npm | 24 | 446 | βΌ 72.4% | |
| 88 | audiobooker-ai | PyPI | 24 | 183 | β | π New (+24) |
| 89 | @mcptoolshop/ghost-on-the-menu | npm | 23 | 1,404 | β | π New (+23) |
| 90 | @ai-rpg-engine/image-gen | npm | 23 | 445 | βΌ 66.7% | |
| 91 | mcp-tool-shop-org/backpropagate | GitHub | 23 | 0 | β | β |
| 92 | @ai-rpg-engine/ledger-adapter | npm | 22 | 336 | β | π New (+22) |
| 93 | mcp-tool-shop-org/saints-mile | GitHub | 22 | 0 | β | β |
| 94 | voice-soundboard | PyPI | 21 | 34 | β | π New (+21) |
| 95 | @mcptoolshop/claude-synergy | npm | 20 | 90 | βΌ 4.8% | |
| 96 | mcp-tool-shop-org/star-freight | GitHub | 19 | 0 | β | β |
| 97 | @mcptoolshop/facet | npm | 18 | 287 | β | π New (+18) |
| 98 | @mcptoolshop/research-os | npm | 18 | 197 | βΌ 69.5% | |
| 99 | mcp-tool-shop-org/codecomfy-vscode | GitHub | 18 | 0 | β | β |
| 100 | @ai-rpg-engine/starter-template | npm | 17 | 374 | βΌ 45.2% | |
| 101 | mcp-tool-shop-org/portlight | GitHub | 17 | 0 | β | β |
| 102 | @world-forge/renderer-2d | npm | 16 | 270 | π Emerging (+6) | |
| 103 | @mcptoolshop/polyglot-mcp | npm | 15 | 276 | βΌ 60.5% | |
| 104 | @mcptoolshop/loadout-os | npm | 15 | 234 | βΌ 92.5% | |
| 105 | ai-crucible | PyPI | 15 | 41 | β | π New (+15) |
| 106 | @mcptoolshop/vibe-typer | npm | 14 | 1,332 | β | π New (+14) |
| 107 | @mcptoolshop/repomesh | npm | 14 | 493 | βΌ 78.1% | |
| 108 | xrpl-camp | PyPI | 14 | 252 | β | π New (+14) |
| 109 | @mcptoolshop/npm-launcher | npm | 14 | 187 | π Emerging (+0) | |
| 110 | @mcptoolshop/style-dataset-lab | npm | 14 | 152 | βΌ 54.8% | |
| 111 | @sprite-foundry/pirate-raiders-hd | npm | 14 | 64 | β | π New (+14) |
| 112 | @mcptoolshop/attestia | npm | 13 | 612 | βΌ 82.2% | |
| 113 | mcp-tool-shop-org/repomesh | GitHub | 13 | 0 | β | β |
| 114 | @mcptoolshop/sovereignty | npm | 12 | 716 | βΌ 70% | |
| 115 | @ai-rpg-engine/sidecar | npm | 12 | 306 | β | π New (+12) |
| 116 | mcpt | PyPI | 12 | 96 | β | π New (+12) |
| 117 | @mcptoolshop/prompt-crafter | npm | 12 | 59 | β | π New (+12) |
| 118 | escape-the-valley | PyPI | 12 | 56 | β | π New (+12) |
| 119 | mcp-tool-shop.registry-stats-vscode | VS Code | 12 | 0 | β | β |
| 120 | @si-jam-sessions/si-jam-sessions | npm | 11 | 354 | β | π New (+11) |
| 121 | mcp-bouncer | PyPI | 11 | 9 | β | π New (+11) |
| 122 | mcp-tool-shop.polyglot-vscode | VS Code | 11 | 0 | β | β |
| 123 | @mcptoolshop/repo-dataset | npm | 10 | 76 | βΌ 76.2% | |
| 124 | @sprite-foundry/fantasy-villains-hd | npm | 10 | 43 | β | π New (+10) |
| 125 | nullout-mcp | PyPI | 10 | 18 | β | π New (+10) |
| 126 | @mcptoolshop/roll | npm | 9 | 272 | βΌ 64% | |
| 127 | @storyboard-os/rpg-domain | npm | 9 | 59 | β | π New (+9) |
| 128 | polyglot-gpu | PyPI | 9 | 13 | β | π New (+9) |
| 129 | tool-scan | PyPI | 9 | 13 | β | π New (+9) |
| 130 | @mcptoolshop/cognate | npm | 8 | 1,285 | β | π New (+8) |
| 131 | @mcptoolshop/housekeeping | npm | 8 | 625 | β | π New (+8) |
| 132 | @si-rpg-engine/load | npm | 8 | 550 | β | π New (+8) |
| 133 | @si-rpg-engine/frame | npm | 8 | 338 | β | π New (+8) |
| 134 | @mcptoolshop/synthesis | npm | 8 | 252 | π Emerging (+1) | |
| 135 | @mcptoolshop/db-cluster | npm | 8 | 223 | βΌ 96% | |
| 136 | @mcptoolshop/vocal-synth-engine | npm | 8 | 91 | βΌ 65.2% | |
| 137 | @mcptoolshop/repo-knowledge | npm | 8 | 79 | π Emerging (+0) | |
| 138 | @mcptoolshop/sensor-humor | npm | 8 | 52 | π Emerging (+2) | |
| 139 | @sprite-foundry/townsfolk-hd | npm | 8 | 49 | β | π New (+8) |
| 140 | @sprite-foundry/fantasy-villains-48 | npm | 8 | 26 | β | π New (+8) |
| 141 | @si-rpg-engine/host | npm | 7 | 556 | β | π New (+7) |
| 142 | @world-forge/editor | npm | 7 | 241 | βΌ 83.7% | |
| 143 | @sprite-foundry/monster-pack-48 | npm | 7 | 164 | β | π New (+7) |
| 144 | @sprite-foundry/undead-patrol-48 | npm | 7 | 152 | β | π New (+7) |
| 145 | @sprite-foundry/goblin-warband-48 | npm | 7 | 149 | β | π New (+7) |
| 146 | @sprite-foundry/townsfolk-48 | npm | 7 | 148 | β | π New (+7) |
| 147 | @storyboard-os/cinematic-domain | npm | 7 | 65 | β | π New (+7) |
| 148 | @mcptoolshop/escape-the-valley | npm | 7 | 64 | π Emerging (+0) | |
| 149 | @mcptoolshop/rig-bridge | npm | 7 | 54 | π Emerging (+4) | |
| 150 | @sprite-foundry/goblin-warband-hd | npm | 7 | 36 | β | π New (+7) |
| 151 | @si-rpg-engine/tick | npm | 6 | 318 | β | π New (+6) |
| 152 | @world-forge/export-ai-rpg | npm | 6 | 293 | βΌ 83.8% | |
| 153 | @mcptoolshop/armature-studio | npm | 6 | 81 | β | π New (+6) |
| 154 | @sprite-foundry/fantasy-heroes-hd | npm | 6 | 35 | β | π New (+6) |
| 155 | mcp-tool-shop-org/runforge-vscode | GitHub | 6 | 0 | β | β |
| 156 | mcp-tool-shop-org/shipcheck | GitHub | 6 | 0 | β | β |
| 157 | @dogfood-lab/study-swarm | npm | 5 | 223 | βΌ 80.8% | |
| 158 | @sprite-foundry/pirate-raiders-48 | npm | 5 | 154 | β | π New (+5) |
| 159 | @mcptoolshop/claude-rpg | npm | 5 | 53 | β | π New (+5) |
| 160 | @storyboard-os/marketing-domain | npm | 5 | 52 | β | π New (+5) |
| 161 | mcp-tool-shop.websketch-vscode | VS Code | 5 | 0 | β | β |
| 162 | @dogfood-lab/interface-audits | npm | 4 | 157 | π Emerging (+0) | |
| 163 | @mcptoolshop/audiobooker | npm | 4 | 78 | π Emerging (+0) | |
| 164 | @mcptoolshop/brand | npm | 4 | 57 | π Emerging (+0) | |
| 165 | @storyboard-os/core | npm | 4 | 50 | β | π New (+4) |
| 166 | @storyboard-os/routing | npm | 4 | 48 | β | π New (+4) |
| 167 | @mcptoolshop/claude-guardian | npm | 4 | 46 | π Emerging (+0) | |
| 168 | @mcptoolshop/xrpl-camp | npm | 4 | 46 | π Emerging (+0) | |
| 169 | @mcptoolshop/claude-sfx | npm | 4 | 30 | π Emerging (+2) | |
| 170 | @mcptoolshop/bytefit | npm | 4 | 23 | π Emerging (+0) | |
| 171 | @mcptoolshop/sovereign | npm | 4 | 21 | π Emerging (+2) | |
| 172 | file-compass | PyPI | 4 | 14 | β | π New (+4) |
| 173 | mcp-tool-shop-org/mcp-stress-test | GitHub | 4 | 0 | β | β |
| 174 | @world-forge/export-godot | npm | 3 | 249 | β | π New (+3) |
| 175 | @sprite-foundry/fantasy-heroes-48 | npm | 3 | 145 | β | π New (+3) |
| 176 | @mcptoolshop/xrpl-lab | npm | 3 | 62 | π Emerging (+0) | |
| 177 | @storyboard-os/canvas | npm | 3 | 50 | β | π New (+3) |
| 178 | @sprite-foundry/pirate-raiders-3d-2 | npm | 3 | 37 | β | π New (+3) |
| 179 | @mcptoolshop/portlight | npm | 3 | 27 | π Emerging (+0) | |
| 180 | @motif-studio/playback-engine | npm | 3 | 21 | β | π New (+3) |
| 181 | @world-forge/export-unreal | npm | 2 | 246 | β | π New (+2) |
| 182 | @mcptoolshop/registry-stats | npm | 2 | 46 | βΌ 91.3% | |
| 183 | @mcptoolshop/comfy-preflight | npm | 2 | 46 | β | π New (+2) |
| 184 | @mcptoolshop/prism-verify | npm | 2 | 35 | π Emerging (+0) | |
| 185 | @motif-studio/schema | npm | 2 | 26 | β | π New (+2) |
| 186 | @motif-studio/instrument-rack | npm | 2 | 24 | β | π New (+2) |
| 187 | @sprite-foundry/pirate-raiders-3d | npm | 2 | 23 | β | π New (+2) |
| 188 | @motif-studio/asset-index | npm | 2 | 22 | π Emerging (+0) | |
| 189 | @motif-studio/scene-mapper | npm | 2 | 21 | β | π New (+2) |
| 190 | @motif-studio/runtime-pack | npm | 2 | 19 | β | π New (+2) |
| 191 | @motif-studio/automation | npm | 2 | 18 | π Emerging (+0) | |
| 192 | @motif-studio/score-map | npm | 2 | 17 | β | π New (+2) |
| 193 | @mcptoolshop/engine-room | npm | 2 | 16 | π Emerging (+0) | |
| 194 | @mcptoolshop/star-freight | npm | 2 | 16 | π Emerging (+0) | |
| 195 | @motif-studio/sample-lab | npm | 2 | 15 | β | π New (+2) |
| 196 | @mcptoolshop/taste-engine | npm | 2 | 13 | π Emerging (+1) | |
| 197 | mcp-tool-shop-org/xrpl-creator-capsule | GitHub | 2 | 0 | β | β |
| 198 | @mcptoolshop/ai-loadout | npm | 1 | 33 | π Emerging (+0) | |
| 199 | @mcptoolshop/websketch-ir | npm | 1 | 26 | π Emerging (+0) | |
| 200 | @mcptoolshop/saints-mile | npm | 1 | 22 | π Emerging (+0) | |
| 201 | @motif-studio/library | npm | 1 | 22 | β | π New (+1) |
| 202 | @motif-studio/test-kit | npm | 1 | 21 | β | π New (+1) |
| 203 | @motif-studio/audio-engine | npm | 1 | 20 | π Emerging (+0) | |
| 204 | @motif-studio/clip-engine | npm | 1 | 20 | β | π New (+1) |
| 205 | @motif-studio/ui | npm | 1 | 20 | β | π New (+1) |
| 206 | @mcptoolshop/forkctl | npm | 1 | 19 | π Emerging (+0) | |
| 207 | @mcptoolshop/registry-sync | npm | 1 | 18 | π Emerging (+0) | |
| 208 | @motif-studio/music-theory | npm | 1 | 18 | β | π New (+1) |
| 209 | @motif-studio/review | npm | 1 | 17 | β | π New (+1) |
| 210 | @mcptoolshop/civility-kernel | npm | 1 | 13 | π Emerging (+0) | |
| 211 | code-covered | PyPI | 1 | 0 | β | π New (+1) |
| 212 | mcp-tool-shop-org/LeaseGate-Lite | GitHub | 1 | 0 | β | β |
| 213 | mcp-tool-shop-org/claude-synergy | GitHub | 1 | 0 | β | β |
| 214 | mcp-tool-shop-org/sovereign | GitHub | 1 | 0 | β | β |
| 215 | venvkit | PyPI | 0 | 19 | β | β |
| 216 | flexiflow | PyPI | 0 | 3 | β | β |
| 217 | a11y-assist | PyPI | 0 | 2 | β | β |
| 218 | aspire-ai | PyPI | 0 | 1 | β | β |
| 219 | a11y-ci | PyPI | 0 | 1 | β | β |
| 220 | headless-wheel-builder | PyPI | 0 | 1 | β | β |
| 221 | payroll-engine | PyPI | 0 | 1 | β | β |
| 222 | nexus-attest | PyPI | 0 | 1 | β | β |
| 223 | nexus-router | PyPI | 0 | 1 | β | β |
| 224 | ally-demo-python | PyPI | 0 | 1 | β | β |
| 225 | integradio | PyPI | 0 | 1 | β | β |
| 226 | nexus-control | PyPI | 0 | 1 | β | β |
| 227 | scalarscope | PyPI | 0 | 1 | β | β |
| 228 | voice-soundboard-plugin | PyPI | 0 | 1 | β | β |
| 229 | a11y-lint | PyPI | 0 | 0 | β | β |
| 230 | mcpt-pathway | PyPI | 0 | 0 | β | β |
| 231 | zip-meta-map | PyPI | 0 | 0 | β | β |
| 232 | mcp-select | PyPI | 0 | 0 | β | β |
| 233 | codebatch | PyPI | 0 | 0 | β | β |
| 234 | cwm-mcp | PyPI | 0 | 0 | β | β |
| 235 | nexus-router-adapter-stdout | PyPI | 0 | 0 | β | β |
| 236 | nexus-router-adapter-http | PyPI | 0 | 0 | β | β |
| 237 | brain-dev | PyPI | 0 | 0 | β | β |
| 238 | mcp-kv-context | PyPI | 0 | 0 | β | β |
| 239 | xrpl-witness | PyPI | 0 | 0 | β | β |
| 240 | codeclone-cli | PyPI | 0 | 0 | β | β |
| 241 | @mcptoolshop/backprop | npm | 0 | 0 | π Emerging (+0) | |
| 242 | @mcptoolshop/consensus-os | npm | 0 | 0 | π Emerging (+0) | |
| 243 | @mcptoolshop/toolshopstudio | npm | 0 | 0 | π Emerging (+0) | |
| 244 | @mcptoolshop/prov-engine-js | npm | 0 | 0 | π Emerging (+0) | |
| 245 | @mcptoolshop/voice-soundboard-mcp | npm | 0 | 0 | π Emerging (+0) | |
| 246 | @mcptoolshop/mcp-tool-registry | npm | 0 | 0 | π Emerging (+0) | |
| 247 | @mcptoolshop/mcp-aside | npm | 0 | 0 | π Emerging (+0) | |
| 248 | @mcptoolshop/game-dev-mcp | npm | 0 | 0 | π Emerging (+0) | |
| 249 | @mcptoolshop/venvkit | npm | 0 | 0 | π Emerging (+0) | |
| 250 | @mcptoolshop/websketch | npm | 0 | 0 | π Emerging (+0) |
packages.json: npm, pypi, vscode, nuget, docker, and github, plus an optional npmMaintainer string. This file is not registry-stats.config.json. Put one package name on each line inside the array for that registry, then save. A non-empty npmMaintainer calls stats.mine and adds discovered names that are not already in the npm array. If discovery throws, the site fetch warns and keeps the explicit npm list.The landing view with the executive snapshot (health score, npm weekly change, diversity, coverage) and the summary cards. Weekly and monthly downloads on those cards are npm and PyPI. The Registry Assistant is a chat with Ollama on this machine. It starts on a local model.
Seven interactive charts: 30-Day Trend (toggle between aggregate, per-registry, and top-5 views), Registry Share (polar area), Portfolio Risk (distribution histogram with Gini & P90), Top 10 Momentum (bar chart colour-coded by velocity), Velocity Tracker (sparkline list sorted by growth rate), 30-Day Heatmap (per-package daily grid with spike detection), and Portfolio Trend (stacked area of the weeks tracked).
Sorted by the Downloads column. npm and PyPI are the week. VS Code, NuGet, Docker, and GitHub are all-time. Month is npm and PyPI. The 30-day sparkline is the npm series; other rows show an em dash. Trend is last 7 versus the prior 7, npm only, and the badge avoids misleading percentages for low-volume packages.
(curr − prev) / √(prev + k). It rewards genuine acceleration while keeping tiny-base packages from dominating. Used in Momentum, Velocity Tracker, and Leaderboard columns.The Analytics tab includes a built-in inference engine that runs at build time — no ML runtime, no external APIs, pure math. It powers these capabilities:
The Registry Assistant on the Home tab talks to a local Ollama instance on localhost:11434. It automatically injects a snapshot of your registry data into every prompt so the model can answer questions like:
Local model. The picker starts on a model installed on this machine. If Ollama is offline the chat shows a fallback, and the rest of the dashboard still works.
Desired-state sync engine for multi-registry publishing. Detects drift, missing packages, and orphaned entries. Use registry-sync audit to check and registry-sync plan to preview changes.
When the .NET MAUI host refreshes, it writes the local cache and reloads the dashboard.
The pipeline runs each time you build the site (or on a schedule in CI):
The site fetch walks the six registries one after another: npm (weekly + 30-day range), PyPI (weekly), VS Code Marketplace (installs), NuGet (total), Docker Hub (pulls), and GitHub Releases (owner/repo, cumulative asset downloads). Each provider has retries with exponential back-off. The tracked list is site/src/data/packages.json.