Weekly + monthly stats across registries. Updated 12m ago.
Your registry co-pilot • Powered by Ollama • Cloud models by default
Voice server not detected
To enable voice, run this once:
PORT=11435 npx @mcptoolshop/voice-soundboard-mcp It 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.
Grand totals across all registries.
Growth signals and data reliability at a glance.
21 Top 5 packages drive 21% of weekly downloads. 5 accelerating, 0 stabilizing.
pypi.bulk [pypi] Too Many Requests: https://pypistats.org/api/packages/code-covered/recent npm.range:@mcptoolshop/repomesh [npm] Too Many Requests: https://api.npmjs.org/downloads/range/2026-06-20:2026-07-20/%40mcptoolshop%2Frepomesh npm.range:@mcptoolshop/prov-engine [npm] Too Many Requests: https://api.npmjs.org/downloads/range/2026-06-20:2026-07-20/%40mcptoolshop%2Fprov-engine Per-registry weekly downloads and 30-day activity.
Aggregate npm daily downloads.
Forecasting, anomaly detection, and automated recommendations.
@mcptoolshop/ai-jam-sessions show sustained decline. Consider: release updates, fix open issues, or update documentation.
Gini coefficient 0.82 indicates downloads are heavily concentrated in a few packages. Diversify promotion efforts across the portfolio.
98% of downloads come from npm. Consider cross-publishing to PyPI and NuGet to reduce single-registry risk.
@dogfood-lab/schemas, @dogfood-lab/verify, @dogfood-lab/report show organic growth with download spikes. Capitalize with blog posts, social media, or conference talks.
Statistical models predict >20% growth in the next 7 days for @dogfood-lab/schemas, @dogfood-lab/verify, @ai-rpg-engine/starter-fantasy.
Multiple download spikes detected for @ai-rpg-engine/core, @ai-rpg-engine/modules, @ai-rpg-engine/character-creation. Could indicate bot activity, viral posts, or dependency adoption.
mcpt, @mcptoolshop/repomesh, tool-compass, mcp-stress-test, ai-crucible scored below 20/100.
@dogfood-lab/schemas, @dogfood-lab/verify, @dogfood-lab/report have strong positive momentum.
Gini coefficient 0.82 β downloads are concentrated in a few packages.
Single-registry dependency increases blast radius if npm has outages or policy changes.
@mcptoolshop/ai-jam-sessions have active users but stalled growth.
Portfolio intelligence β from activity to insight.
Registry split β’ anomaly flags β’ 7d moving average
Weekly distribution with absolute + delta.
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 downloads. npm/PyPI = weekly; VS Code/NuGet/Docker = all-time total. Trend = last 7 vs prior 7 (npm only).
| # | Package | Registry | Downloads | Month | 30d | Trend |
|---|---|---|---|---|---|---|
| 1 | @ai-rpg-engine/core | npm | 414 | 950 | | β² 8.7% |
| 2 | @ai-rpg-engine/modules | npm | 379 | 1,418 | | β² 0.8% |
| 3 | @ai-rpg-engine/character-creation | npm | 363 | 856 | | β² 1.1% |
| 4 | @ai-rpg-engine/equipment | npm | 362 | 863 | | βΌ 0.5% |
| 5 | @ai-rpg-engine/character-profile | npm | 353 | 841 | | β² 1.1% |
| 6 | @ai-rpg-engine/content-schema | npm | 319 | 798 | | βΌ 8.6% |
| 7 | @dogfood-lab/schemas | npm | 240 | 1,534 | | β² 410.6% |
| 8 | @ai-rpg-engine/pack-registry | npm | 224 | 543 | | 0% |
| 9 | @ai-rpg-engine/starter-cyberpunk | npm | 221 | 581 | | 0% |
| 10 | @dogfood-lab/verify | npm | 216 | 1,414 | | β² 390.9% |
| 11 | @ai-rpg-engine/starter-fantasy | npm | 213 | 524 | | β² 11.5% |
| 12 | @dogfood-lab/report | npm | 208 | 1,379 | | β² 477.8% |
| 13 | @ai-rpg-engine/starter-weird-west | npm | 203 | 428 | | β² 33.6% |
| 14 | @ai-rpg-engine/campaign-memory | npm | 199 | 487 | | β² 4.7% |
| 15 | @dogfood-lab/findings | npm | 195 | 1,311 | | β² 375.6% |
| 16 | @ai-rpg-engine/starter-colony | npm | 194 | 515 | | βΌ 5.8% |
| 17 | @ai-rpg-engine/starter-gladiator | npm | 194 | 475 | | β² 20.5% |
| 18 | @ai-rpg-engine/starter-ronin | npm | 193 | 483 | | βΌ 0.5% |
| 19 | @dogfood-lab/dogfood-swarm | npm | 192 | 1,309 | | β² 317.4% |
| 20 | @ai-rpg-engine/presentation | npm | 189 | 436 | | β² 13.9% |
| 21 | @ai-rpg-engine/terminal-ui | npm | 184 | 464 | | βΌ 3.7% |
| 22 | @ai-rpg-engine/starter-pirate | npm | 183 | 483 | | βΌ 10.3% |
| 23 | @ai-rpg-engine/starter-vampire | npm | 183 | 481 | | βΌ 4.2% |
| 24 | @dogfood-lab/ingest | npm | 182 | 1,284 | | β² 203.3% |
| 25 | @ai-rpg-engine/starter-detective | npm | 181 | 494 | | βΌ 15% |
| 26 | @ai-rpg-engine/soundpack-core | npm | 181 | 454 | | βΌ 7.7% |
| 27 | @ai-rpg-engine/audio-director | npm | 179 | 471 | | βΌ 10.9% |
| 28 | @ai-rpg-engine/cli | npm | 174 | 422 | | β² 7.4% |
| 29 | @ai-rpg-engine/starter-template | npm | 174 | 373 | | β² 27.9% |
| 30 | @ai-rpg-engine/starter-zombie | npm | 173 | 499 | | βΌ 15.2% |
| 31 | @ai-rpg-engine/asset-registry | npm | 166 | 468 | | βΌ 26.5% |
| 32 | @ai-rpg-engine/ollama | npm | 163 | 407 | | βΌ 2.4% |
| 33 | @ai-rpg-engine/rumor-system | npm | 156 | 412 | | βΌ 10.3% |
| 34 | @ai-rpg-engine/image-gen | npm | 147 | 399 | | βΌ 12% |
| 35 | @mcptoolshop/ai-jam-sessions | npm | 76 | 437 | | βΌ 76.8% |
| 36 | @mcptoolshop/research-os | npm | 58 | 437 | | β² 75.8% |
| 37 | @mcptoolshop/backprop-trace | npm | 56 | 347 | | β² 12% |
| 38 | ollama-intern-mcp | npm | 51 | 688 | | βΌ 63.8% |
| 39 | @mcptoolshop/repo-dataset | npm | 47 | 101 | | π Emerging (+34) |
| 40 | @mcptoolshop/site-theme | npm | 45 | 362 | | βΌ 6.2% |
| 41 | @mcptoolshop/backpropagate | npm | 41 | 587 | | βΌ 29.3% |
| 42 | @mcptoolshop/xrpl-lab | npm | 39 | 500 | | βΌ 30.4% |
| 43 | @mcptoolshop/style-dataset-lab | npm | 35 | 645 | | βΌ 61.5% |
| 44 | @mcptoolshop/prism-verify | npm | 31 | 176 | | βΌ 29.5% |
| 45 | @mcptoolshop/shipcheck | npm | 30 | 409 | | βΌ 84.9% |
| 46 | @mcptoolshop/registry-stats | npm | 30 | 285 | | β² 20% |
| 47 | mcpt | PyPI | 28 | 149 | β | π New (+28) |
| 48 | @mcptoolshop/sovereign | npm | 25 | 167 | | βΌ 7.4% |
| 49 | @mcptoolshop/claude-synergy | npm | 25 | 162 | | π Emerging (+10) |
| 50 | @mcptoolshop/vocal-synth-engine | npm | 24 | 223 | | βΌ 20% |
| 51 | gpu-container | npm | 24 | 83 | | 0% |
| 52 | @mcptoolshop/repo-knowledge | npm | 23 | 482 | | π Emerging (+10) |
| 53 | @mcptoolshop/forkctl | npm | 23 | 82 | | π Emerging (+11) |
| 54 | @mcptoolshop/sensor-humor | npm | 22 | 1,019 | | βΌ 91.1% |
| 55 | role-os | npm | 20 | 440 | | βΌ 75.4% |
| 56 | @mcptoolshop/npm-launcher | npm | 19 | 185 | | π Emerging (+13) |
| 57 | @mcptoolshop/claude-sfx | npm | 19 | 109 | | π Emerging (+11) |
| 58 | @mcptoolshop/xrpl-camp | npm | 19 | 82 | | π Emerging (+1) |
| 59 | @dogfood-lab/study-swarm | npm | 18 | 1,157 | | βΌ 68.4% |
| 60 | @mcptoolshop/polyglot-mcp | npm | 17 | 107 | | π Emerging (+14) |
| 61 | @mcptoolshop/brand | npm | 16 | 576 | | βΌ 61% |
| 62 | @storyboard-os/core | npm | 16 | 478 | | βΌ 96.1% |
| 63 | @mcptoolshop/tool-compass | npm | 16 | 409 | | βΌ 56.8% |
| 64 | @mcptoolshop/websketch-ir | npm | 16 | 248 | | π Emerging (+3) |
| 65 | @mcptoolshop/repomesh | npm | 15 | 417 | β | π New (+15) |
| 66 | @storyboard-os/routing | npm | 15 | 397 | | βΌ 95.6% |
| 67 | @storyboard-os/marketing-domain | npm | 15 | 352 | | βΌ 95.3% |
| 68 | @mcptoolshop/ai-loadout | npm | 15 | 82 | | π Emerging (+8) |
| 69 | @mcptoolshop/loadout-os | npm | 15 | 72 | | π Emerging (+2) |
| 70 | @storyboard-os/rpg-domain | npm | 14 | 388 | | βΌ 95.6% |
| 71 | @mcptoolshop/claude-guardian | npm | 14 | 83 | | π Emerging (+5) |
| 72 | tool-compass | PyPI | 13 | 337 | β | π New (+13) |
| 73 | @mcptoolshop/bytefit | npm | 13 | 77 | | π Emerging (+4) |
| 74 | @mcptoolshop/attestia | npm | 12 | 420 | | π Emerging (+0) |
| 75 | @storyboard-os/canvas | npm | 12 | 397 | | βΌ 96.4% |
| 76 | @mcptoolshop/sovereignty | npm | 12 | 87 | | π Emerging (+6) |
| 77 | @mcptoolshop/portlight | npm | 12 | 70 | | π Emerging (+7) |
| 78 | @storyboard-os/cinematic-domain | npm | 11 | 338 | | βΌ 96.4% |
| 79 | mcp-stress-test | PyPI | 11 | 31 | β | π New (+11) |
| 80 | @mcptoolshop/audiobooker | npm | 10 | 516 | | π Emerging (+1) |
| 81 | ai-crucible | PyPI | 10 | 308 | β | π New (+10) |
| 82 | escape-the-valley | PyPI | 10 | 76 | β | π New (+10) |
| 83 | @sprite-foundry/townsfolk-hd | npm | 9 | 619 | | π Emerging (+0) |
| 84 | @dogfood-lab/ai-crucible | npm | 9 | 430 | | βΌ 59.1% |
| 85 | @sprite-foundry/pirate-raiders-3d | npm | 9 | 421 | | π Emerging (+0) |
| 86 | audiobooker-ai | PyPI | 9 | 304 | β | π New (+9) |
| 87 | @mcptoolshop/db-cluster | npm | 9 | 86 | | π Emerging (+0) |
| 88 | voice-soundboard | PyPI | 9 | 65 | β | π New (+9) |
| 89 | @mcptoolshop/engine-room | npm | 9 | 65 | | π Emerging (+0) |
| 90 | comfy-headless | PyPI | 9 | 56 | β | π New (+9) |
| 91 | @mcptoolshop/saints-mile | npm | 9 | 50 | | π Emerging (+3) |
| 92 | sovereignty-game | PyPI | 9 | 46 | β | π New (+9) |
| 93 | @sprite-foundry/fantasy-heroes-48 | npm | 9 | 41 | | π Emerging (+6) |
| 94 | @motif-studio/asset-index | npm | 9 | 38 | | π Emerging (+4) |
| 95 | @motif-studio/test-kit | npm | 9 | 37 | | π Emerging (+3) |
| 96 | @motif-studio/runtime-pack | npm | 9 | 28 | | π Emerging (+8) |
| 97 | @sprite-foundry/monster-pack-48 | npm | 8 | 140 | | π Emerging (+3) |
| 98 | @sprite-foundry/goblin-warband-48 | npm | 8 | 124 | | π Emerging (+4) |
| 99 | @dogfood-lab/interface-audits | npm | 8 | 90 | | π Emerging (+0) |
| 100 | @mcptoolshop/civility-kernel | npm | 8 | 83 | | π Emerging (+2) |
| 101 | @motif-studio/automation | npm | 8 | 32 | | π Emerging (+2) |
| 102 | @motif-studio/instrument-rack | npm | 8 | 32 | | π Emerging (+6) |
| 103 | @sprite-foundry/fantasy-villains-hd | npm | 7 | 415 | | π Emerging (+0) |
| 104 | @mcptoolshop/roll | npm | 7 | 245 | | π Emerging (+0) |
| 105 | @world-forge/export-ai-rpg | npm | 7 | 229 | | βΌ 84.1% |
| 106 | @mcptoolshop/escape-the-valley | npm | 7 | 85 | | π Emerging (+0) |
| 107 | @mcptoolshop/synthesis | npm | 7 | 82 | | π Emerging (+0) |
| 108 | @mcptoolshop/rig-bridge | npm | 7 | 72 | | π Emerging (+5) |
| 109 | file-compass | PyPI | 7 | 55 | β | π New (+7) |
| 110 | @mcptoolshop/taste-engine | npm | 7 | 44 | | π Emerging (+3) |
| 111 | @motif-studio/clip-engine | npm | 7 | 34 | | π Emerging (+1) |
| 112 | tool-scan | PyPI | 7 | 31 | β | π New (+7) |
| 113 | @motif-studio/sample-lab | npm | 7 | 31 | | π Emerging (+2) |
| 114 | xrpl-camp | PyPI | 7 | 29 | β | π New (+7) |
| 115 | @sprite-foundry/fantasy-heroes-hd | npm | 6 | 467 | | π Emerging (+0) |
| 116 | @sprite-foundry/pirate-raiders-48 | npm | 6 | 122 | | π Emerging (+0) |
| 117 | @mcptoolshop/star-freight | npm | 6 | 46 | | π Emerging (+4) |
| 118 | @sprite-foundry/fantasy-villains-48 | npm | 6 | 37 | | π Emerging (+4) |
| 119 | @sprite-foundry/undead-patrol-48 | npm | 6 | 36 | | π New (+6) |
| 120 | @motif-studio/audio-engine | npm | 6 | 32 | | π Emerging (+0) |
| 121 | @motif-studio/library | npm | 6 | 32 | | π Emerging (+1) |
| 122 | @motif-studio/playback-engine | npm | 6 | 30 | | π Emerging (+1) |
| 123 | @motif-studio/score-map | npm | 6 | 28 | | π Emerging (+2) |
| 124 | backpropagate | PyPI | 5 | 451 | β | π New (+5) |
| 125 | @sprite-foundry/pirate-raiders-hd | npm | 5 | 324 | | π Emerging (+0) |
| 126 | @world-forge/schema | npm | 5 | 196 | | π Emerging (+0) |
| 127 | @sprite-foundry/townsfolk-48 | npm | 5 | 112 | | π Emerging (+2) |
| 128 | polyglot-gpu | PyPI | 5 | 33 | β | π New (+5) |
| 129 | @motif-studio/scene-mapper | npm | 5 | 30 | | π Emerging (+4) |
| 130 | nullout-mcp | PyPI | 5 | 26 | β | π New (+5) |
| 131 | mcp-bouncer | PyPI | 5 | 19 | β | π New (+5) |
| 132 | venvkit | PyPI | 5 | 17 | β | π New (+5) |
| 133 | @sprite-foundry/goblin-warband-hd | npm | 4 | 318 | | π Emerging (+0) |
| 134 | @sprite-foundry/pirate-raiders-3d-2 | npm | 4 | 293 | | π Emerging (+0) |
| 135 | @world-forge/editor | npm | 4 | 179 | | π Emerging (+0) |
| 136 | @motif-studio/music-theory | npm | 4 | 38 | | π Emerging (+3) |
| 137 | @mcptoolshop/registry-sync | npm | 4 | 35 | | π Emerging (+3) |
| 138 | @motif-studio/ui | npm | 4 | 27 | | π Emerging (+3) |
| 139 | @world-forge/renderer-2d | npm | 3 | 223 | | βΌ 92.9% |
| 140 | @motif-studio/schema | npm | 3 | 38 | | π Emerging (+1) |
| 141 | @motif-studio/review | npm | 3 | 27 | | π Emerging (+1) |
| 142 | @world-forge/export-unreal | npm | 2 | 92 | | π Emerging (+0) |
| 143 | @world-forge/export-godot | npm | 2 | 53 | | π Emerging (+0) |
| 144 | a11y-assist | PyPI | 1 | 2 | β | π New (+1) |
| 145 | nexus-control | PyPI | 1 | 2 | β | π New (+1) |
| 146 | flexiflow | PyPI | 1 | 1 | β | π New (+1) |
| 147 | aspire-ai | PyPI | 0 | 6 | β | β |
| 148 | a11y-ci | PyPI | 0 | 2 | β | β |
| 149 | codebatch | PyPI | 0 | 2 | β | β |
| 150 | ally-demo-python | PyPI | 0 | 2 | β | β |
| 151 | nexus-attest | PyPI | 0 | 2 | β | β |
| 152 | voice-soundboard-plugin | PyPI | 0 | 2 | β | β |
| 153 | a11y-lint | PyPI | 0 | 1 | β | β |
| 154 | headless-wheel-builder | PyPI | 0 | 1 | β | β |
| 155 | nexus-router | PyPI | 0 | 1 | β | β |
| 156 | brain-dev | PyPI | 0 | 1 | β | β |
| 157 | payroll-engine | PyPI | 0 | 0 | β | β |
| 158 | MouseTrainer.Domain | NuGet | 720 | 0 | β | β |
| 159 | integradio | PyPI | 0 | 0 | β | β |
| 160 | MouseTrainer.Simulation | NuGet | 645 | 0 | β | β |
| 161 | MouseTrainer.Audio | NuGet | 630 | 0 | β | β |
| 162 | mcp-select | PyPI | 0 | 0 | β | β |
| 163 | zip-meta-map | PyPI | 0 | 0 | β | β |
| 164 | code-covered | PyPI | 0 | 0 | β | β |
| 165 | Gov.Common | NuGet | 533 | 0 | β | β |
| 166 | InControl.Core | NuGet | 532 | 0 | β | β |
| 167 | LinuxDevTyper.Core | NuGet | 524 | 0 | β | β |
| 168 | DevOpTyper.Content | NuGet | 516 | 0 | β | β |
| 169 | nexus-router-adapter-stdout | PyPI | 0 | 0 | β | β |
| 170 | nexus-router-adapter-http | PyPI | 0 | 0 | β | β |
| 171 | Soundboard.Client | NuGet | 460 | 0 | β | β |
| 172 | mcp-tool-shop.runforge | VS Code | 450 | 0 | β | β |
| 173 | CursorAssist.Canon | NuGet | 436 | 0 | β | β |
| 174 | mcpt-pathway | PyPI | 0 | 0 | β | β |
| 175 | CursorAssist.Trace | NuGet | 428 | 0 | β | β |
| 176 | Attestia.Core | NuGet | 424 | 0 | β | β |
| 177 | Gov.Protocol | NuGet | 419 | 0 | β | β |
| 178 | CodeClone.Domain | NuGet | 400 | 0 | β | β |
| 179 | RunForgeDesktop.Core | NuGet | 397 | 0 | β | β |
| 180 | CursorAssist.Engine | NuGet | 392 | 0 | β | β |
| 181 | CursorAssist.Policy | NuGet | 389 | 0 | β | β |
| 182 | Attestia.Sidecar | NuGet | 381 | 0 | β | β |
| 183 | cwm-mcp | PyPI | 0 | 0 | β | β |
| 184 | Attestia.Client | NuGet | 376 | 0 | β | β |
| 185 | CodeTeam.Core | NuGet | 331 | 0 | β | β |
| 186 | xrpl-witness | PyPI | 0 | 0 | β | β |
| 187 | CodeTeam.Crypto | NuGet | 300 | 0 | β | β |
| 188 | mcp-tool-shop.codecomfy-vscode | VS Code | 287 | 0 | β | β |
| 189 | CreatorLedger | NuGet | 278 | 0 | β | β |
| 190 | VortexKit | NuGet | 276 | 0 | β | β |
| 191 | Soundboard.Maui.Audio | NuGet | 270 | 0 | β | β |
| 192 | ClaimLedger | NuGet | 267 | 0 | β | β |
| 193 | InControl.Inference | NuGet | 261 | 0 | β | β |
| 194 | mcp-tool-shop-org/commandui | github | 0 | 0 | β | β |
| 195 | CodeTeam.Packaging | NuGet | 245 | 0 | β | β |
| 196 | scalarscope | PyPI | 0 | 0 | β | β |
| 197 | mcp-tool-shop-org/xrpl-lab | github | 0 | 0 | β | β |
| 198 | CodeTeam | NuGet | 185 | 0 | β | β |
| 199 | mcp-kv-context | PyPI | 0 | 0 | β | β |
| 200 | codeclone-cli | PyPI | 0 | 0 | β | β |
| 201 | mcp-tool-shop-org/prism-verify | github | 0 | 0 | β | β |
| 202 | mcp-tool-shop-org/sovereignty | github | 0 | 0 | β | β |
| 203 | mcp-tool-shop-org/xrpl-camp | github | 0 | 0 | β | β |
| 204 | mcp-tool-shop.vscode-voice-soundboard | VS Code | 71 | 0 | β | β |
| 205 | mcp-tool-shop-org/escape-the-valley | github | 0 | 0 | β | β |
| 206 | mcp-tool-shop-org/tool-compass | github | 0 | 0 | β | β |
| 207 | dogfood-lab/ai-crucible | github | 0 | 0 | β | β |
| 208 | mcp-tool-shop-org/gpu-container | github | 0 | 0 | β | β |
| 209 | mcp-tool-shop-org/backpropagate | github | 0 | 0 | β | β |
| 210 | mcp-tool-shop-org/saints-mile | github | 0 | 0 | β | β |
| 211 | mcp-tool-shop-org/star-freight | github | 0 | 0 | β | β |
| 212 | mcp-tool-shop.registry-stats-vscode | VS Code | 12 | 0 | β | β |
| 213 | mcp-tool-shop.polyglot-vscode | VS Code | 11 | 0 | β | β |
| 214 | mcp-tool-shop-org/repomesh | github | 0 | 0 | β | β |
| 215 | mcp-tool-shop-org/codecomfy-vscode | github | 0 | 0 | β | β |
| 216 | mcp-tool-shop-org/portlight | github | 0 | 0 | β | β |
| 217 | mcp-tool-shop-org/shipcheck | github | 0 | 0 | β | β |
| 218 | mcp-tool-shop.websketch-vscode | VS Code | 5 | 0 | β | β |
| 219 | mcp-tool-shop-org/runforge-vscode | github | 0 | 0 | β | β |
| 220 | mcp-tool-shop-org/LeaseGate-Lite | github | 0 | 0 | β | β |
| 221 | mcp-tool-shop-org/mcp-stress-test | github | 0 | 0 | β | β |
| 222 | mcp-tool-shop-org/sovereign | github | 0 | 0 | β | β |
| 223 | @mcptoolshop/backprop | npm | 0 | 0 | | π Emerging (+0) |
| 224 | @mcptoolshop/consensus-os | npm | 0 | 0 | | π Emerging (+0) |
| 225 | @mcptoolshop/toolshopstudio | npm | 0 | 0 | | π Emerging (+0) |
| 226 | @mcptoolshop/prov-engine-js | npm | 0 | 0 | | π Emerging (+0) |
| 227 | @mcptoolshop/voice-soundboard-mcp | npm | 0 | 0 | | π Emerging (+0) |
| 228 | @mcptoolshop/mcp-tool-registry | npm | 0 | 0 | | π Emerging (+0) |
| 229 | @mcptoolshop/mcp-aside | npm | 0 | 0 | | π Emerging (+0) |
| 230 | @mcptoolshop/game-dev-mcp | npm | 0 | 0 | | π Emerging (+0) |
| 231 | @mcptoolshop/venvkit | npm | 0 | 0 | | π Emerging (+0) |
| 232 | @mcptoolshop/websketch | npm | 0 | 0 | | π Emerging (+0) |
| 233 | @accessibility-suite/mcp-tools | npm | 0 | 0 | | π Emerging (+0) |
| 234 | @mcptoolshop/repo-crawler-mcp | npm | 0 | 0 | | π Emerging (+0) |
| 235 | @accessibility-suite/core | npm | 0 | 0 | | π Emerging (+0) |
| 236 | @mcptoolshop/file-forge | npm | 0 | 0 | | π Emerging (+0) |
| 237 | @accessibility-suite/evidence-engine | npm | 0 | 0 | | π Emerging (+0) |
| 238 | @mcptoolshop/claude-session-copilot | npm | 0 | 0 | | π Emerging (+0) |
| 239 | @mcptoolshop/logo-studio | npm | 0 | 0 | | π Emerging (+0) |
| 240 | @mcptoolshop/logo-presets | npm | 0 | 0 | | π Emerging (+0) |
| 241 | @mcptoolshop/throttleai | npm | 0 | 0 | | π Emerging (+0) |
| 242 | @mcptoolshop/websketch-mcp | npm | 0 | 0 | | π Emerging (+0) |
| 243 | @mcptoolshop/registrum | npm | 0 | 0 | | π Emerging (+0) |
| 244 | @mcptoolshop/promo-kit | npm | 0 | 0 | | π Emerging (+0) |
| 245 | @accessibility-suite/ci | npm | 0 | 0 | | π Emerging (+0) |
| 246 | @mcptoolshop/voice-soundboard-core | npm | 0 | 0 | | π Emerging (+0) |
| 247 | @mcptoolshop/voice-engine-dsp | npm | 0 | 0 | | π Emerging (+0) |
| 248 | @mcptoolshop/prov-engine | npm | 0 | 0 | | π Emerging (+0) |
| 249 | @attestia/types | npm | 0 | 0 | | π Emerging (+0) |
| 250 | @attestia/verify | npm | 0 | 0 | | π Emerging (+0) |
The landing view with the executive snapshot (total downloads, weekly change, health score, diversity) and the Registry Assistant — an AI chat (Ollama, defaulting to cloud models so a small rig still gets big-model answers) that can answer questions about your data.
Six 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), and 30-Day Heatmap (per-package daily grid with spike detection).
Every package ranked by weekly downloads with inline 30-day sparklines and a smart trend badge that 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 four 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:
Cloud models by default. The model picker defaults to a cloud model (e.g. gpt-oss:120b-cloud) that runs on Ollama’s servers β so a small rig still gets big-model answers. Run ollama signin once (free) to enable them; the browser can only reach the local daemon, which proxies cloud models for you. Full list: ollama.com/search?c=cloud.
Prefer fully local? Pick a model from the “Local” group (e.g. after ollama pull llama3.2) β it runs entirely on your machine, no sign-in. If Ollama is offline the chat shows a friendly fallback — everything else works normally.
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 served inside the .NET MAUI host the dashboard auto-refreshes from a local cache. The window.__registryStatsBridge API lets the native layer push fresh snapshots.
The pipeline runs each time you build the site (or on a schedule in CI):
The engine queries five registries in parallel: npm (weekly + 30-day range), PyPI (weekly), VS Code Marketplace (installs), NuGet (total), and Docker Hub (pulls). Each provider has retries with exponential back-off.