sigrank 0.18.5 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/CHANGELOG.md +158 -0
  2. package/MCP_SERVER_DESCRIPTION.md +172 -0
  3. package/README.md +94 -41
  4. package/adapters/index.mjs +1100 -0
  5. package/adapters/tokenpull.mjs +568 -0
  6. package/adapters.mjs +1 -857
  7. package/analytics/cascade.mjs +338 -0
  8. package/cascade.mjs +1 -274
  9. package/cli.mjs +1 -1853
  10. package/connect.mjs +1 -13
  11. package/identity/connect.mjs +13 -0
  12. package/identity/keystore.mjs +231 -0
  13. package/identity/sign.mjs +106 -0
  14. package/index.mjs +47 -162
  15. package/keystore.mjs +1 -242
  16. package/lib/constants.mjs +137 -0
  17. package/lib/pkg-version.mjs +59 -0
  18. package/manifest.json +46 -0
  19. package/narrate.mjs +1 -77
  20. package/package.json +41 -16
  21. package/preflight.mjs +1 -191
  22. package/presentation/cli.mjs +1926 -0
  23. package/presentation/narrate.mjs +219 -0
  24. package/presentation/tui-themes.mjs +189 -0
  25. package/presentation/tui.mjs +3316 -0
  26. package/prompts/check-my-efficiency.md +1 -0
  27. package/prompts/compare-with-leader.md +1 -0
  28. package/prompts/simulate-improvement.md +1 -0
  29. package/proxy.mjs +492 -0
  30. package/resources/class-tiers.md +81 -0
  31. package/resources/data-policy.md +31 -0
  32. package/resources/install-guide.md +59 -0
  33. package/resources/privacy-model.md +44 -0
  34. package/resources/scoring-formula.md +24 -0
  35. package/review.mjs +263 -0
  36. package/sign.mjs +1 -106
  37. package/submit/index.mjs +297 -0
  38. package/submit/preflight.mjs +191 -0
  39. package/submit.mjs +1 -303
  40. package/tokenpull.mjs +1 -576
  41. package/tokscale_analytics.mjs +864 -0
  42. package/tools/_framing.mjs +217 -0
  43. package/tools/_helpers.mjs +253 -0
  44. package/tools/_peer-matching.mjs +361 -0
  45. package/tools/_report.mjs +262 -0
  46. package/tools/_schemas.mjs +492 -0
  47. package/tools/_verifiers.mjs +148 -0
  48. package/tools/compare-operators.mjs +80 -0
  49. package/tools/compare-self.mjs +124 -0
  50. package/tools/describe-power-user.mjs +78 -0
  51. package/tools/diagnose-cascade.mjs +192 -0
  52. package/tools/discover-peers.mjs +198 -0
  53. package/tools/enroll.mjs +119 -0
  54. package/tools/get-best-operator.mjs +59 -0
  55. package/tools/get-leaderboard.mjs +27 -0
  56. package/tools/get-operator.mjs +33 -0
  57. package/tools/index.mjs +229 -0
  58. package/tools/optimize-efficiency.mjs +170 -0
  59. package/tools/rank-paste.mjs +51 -0
  60. package/tools/rank-windows.mjs +120 -0
  61. package/tools/self-improve.mjs +423 -0
  62. package/tools/simulate-change.mjs +207 -0
  63. package/tools/submit-paste.mjs +121 -0
  64. package/tools/submit-verified.mjs +153 -0
  65. package/tools/suggest-improvements.mjs +168 -0
  66. package/tools/tokenpull-compare.mjs +123 -0
  67. package/tools/tokenpull-submit.mjs +235 -0
  68. package/tools/tokenpull.mjs +113 -0
  69. package/tools/tokscale-breakdown.mjs +119 -0
  70. package/tools/tokscale-competitive-intel.mjs +45 -0
  71. package/tools/tokscale-cost-analysis.mjs +31 -0
  72. package/tools/tokscale-developer-profile.mjs +36 -0
  73. package/tools/tokscale-device-profile.mjs +35 -0
  74. package/tools/tokscale-market-share.mjs +38 -0
  75. package/tools/tokscale-mcp-usage.mjs +33 -0
  76. package/tools/tokscale-model-trends.mjs +32 -0
  77. package/tools/watch-tokenpull.mjs +134 -0
  78. package/tools.mjs +1 -3897
  79. package/tui.mjs +4 -2650
  80. package/banner.svg +0 -7
package/CHANGELOG.md ADDED
@@ -0,0 +1,158 @@
1
+ # Changelog
2
+
3
+ ## [0.0.203](https://github.com/SunrisesIllNeverSee/sigrank-mcp/compare/v0.0.202...v0.0.203) (2026-08-12)
4
+
5
+ ### Chores
6
+
7
+ * auto-publish version bump (github-actions bot)
8
+
9
+ ## [0.0.202](https://github.com/SunrisesIllNeverSee/sigrank-mcp/compare/v0.0.201...v0.0.202) (2026-08-12)
10
+
11
+ ### Docs
12
+
13
+ * add bestuser-router-mcp + sigarena to ecosystem table in README — all 4 repos now have identical 7-repo ecosystem tables
14
+
15
+ ## [0.0.201](https://github.com/SunrisesIllNeverSee/sigrank-mcp/compare/v0.0.200...v0.0.201) (2026-08-12)
16
+
17
+ ### Chores
18
+
19
+ * sync package.json + server.json + manifest.json to 0.0.201 (match npm published version)
20
+
21
+ ## [0.0.200](https://github.com/SunrisesIllNeverSee/sigrank-mcp/compare/v0.0.179...v0.0.200) (2026-07-27 — 2026-08-10)
22
+
23
+ ### Features
24
+
25
+ * 24-sub-stage experience ladder — mirror server's RS05_CLASS_THRESHOLDS ([adbd6e2](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/adbd6e2))
26
+ * oh-my-pi (omp) added as a native 4-pillar platform adapter (#32) ([c7ddb78](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/c7ddb78))
27
+ * opt-in provider usage proxy for capturing real token counts from API responses ([410113f](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/410113f))
28
+ * omp dashboard loading is now opt-in in the TUI ([23613ed](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/23613ed))
29
+ * omp Stage 2 — incremental SQLite cache for omp scans ([ffdf67c](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/ffdf67c))
30
+ * sync 10 build archetypes — new names, families, construction-before-reuse precedence ([120be0b](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/120be0b))
31
+
32
+ ### Bug Fixes
33
+
34
+ * resolve 8-pass review + privacy — single source of truth for version, tiers, cascade, constants ([56653ab](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/56653ab))
35
+ * npm audit fix — resolve 3 transitive dependency vulnerabilities ([3bb7a11](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/3bb7a11))
36
+ * resolve package.json path in cli.mjs (./ → ../) ([4fe94cd](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/4fe94cd))
37
+ * ARCH+ sub-stage thresholds — 7T/3T/1T split (was all 7T) ([da0f12e](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/da0f12e))
38
+ * add 9router to TOKSCALE_CLIENT_MAP — closes platform sync gap ([d4b35ad](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/d4b35ad))
39
+ * dedup duplicate messages + estimate cacheCreate when NULL ([ff60117](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/ff60117))
40
+ * read native cache_creation_tokens instead of estimating, then reverted back to ioRatio estimation ([fc83512](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/fc83512), [f310f49](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/f310f49))
41
+ * replace legacy 3-tier references with canonical 8-tier ladder ([f37701b](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/f37701b))
42
+ * harden publish push-back + wire 3 missing contract tests into CI ([cdaa511](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/cdaa511))
43
+ * publish to npm BEFORE git commit (prevents drift on failed publish) ([083b066](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/083b066))
44
+
45
+ ### Performance
46
+
47
+ * omp Stage 1 — bounded concurrency (c=8) + line guard ([9643c91](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/9643c91))
48
+
49
+ ### CI/Chores
50
+
51
+ * auto-publish to npm on push to main + dispatch version-sync to app ([f6ebc35](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/f6ebc35))
52
+ * remove cross-repo dispatch — app auto-syncs from npm directly ([d590885](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/d590885))
53
+ * full repo cleanup — organize, dedupe, sync versions ([9992127](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/9992127))
54
+ * add workflow_dispatch trigger to publish.yml ([6ec383b](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/6ec383b))
55
+ * add .DS_Store to .gitignore ([fa78f50](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/fa78f50))
56
+ * gitignore bun.lock ([adee455](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/adee455))
57
+ * add bunx sigrank to README quickstart ([977b92e](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/977b92e))
58
+ * add Bun/bunx quick reference to AGENTS.md ([2c73d0c](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/2c73d0c))
59
+ * sync server.json to 0.0.200 + publish to MCP Registry ([9c97b5f](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/9c97b5f))
60
+
61
+ ## [0.0.179](https://github.com/SunrisesIllNeverSee/sigrank-mcp/compare/v0.0.178...v0.0.179) (2026-07-27)
62
+
63
+ ### Features
64
+
65
+ * consent acknowledgment in enroll + submit flows (D1) — `tools/enroll.mjs` sends `consent_acknowledged=true` + `terms_version` + `privacy_version`; `presentation/cli.mjs` prompts for explicit TTY consent; `submit/index.mjs` embeds consent fields in Schema 1.0 payloads; new `resources/data-policy.md` registered as `sigrank://data-policy` MCP resource ([6789952](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/6789952))
66
+
67
+ ### Bug Fixes
68
+
69
+ * TUI input during startup — navigation/quit now accepted while startup data is still loading ([d2078ab](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/d2078ab))
70
+ * CI failures — `client_rollup: []` + `detected_clients: []` added to empty-data early returns in `tokscale_analytics.mjs`; contract test pointed at `submit/index.mjs` (was `submit.mjs` re-export); `@hono/node-server ^2.0.5` override for fast-uri vuln GHSA-v2hh-gcrm-f6hx ([6b56419](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/6b56419), [a2ebe8e](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/a2ebe8e))
71
+ * regenerate `package-lock.json` from scratch — previous lock file had invalid package tree (`npm ci` failed in CI) ([81781ec](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/81781ec))
72
+
73
+ ### Refactor
74
+
75
+ * observatory-spine restructure — `tools.mjs` split into 28 individual tool files under `tools/`; files moved to domain dirs (`adapters/`, `analytics/`, `identity/`, `presentation/`, `prompts/`, `resources/`, `submit/`); inline resources/prompts extracted; root `.mjs` files are now 1-line re-export shims; observatory spine synced from sigrank-app ([6c06fee](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/6c06fee), [dc66eff](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/dc66eff), [9c92223](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/9c92223))
76
+
77
+ ### Chores
78
+
79
+ * remove release-please workflow — versioning is now manual per VERSIONING_RULESET.md; release-please was causing version jumps (0.0.178 → 0.11.4 → 0.19.0) despite `bump-patch-only` ([adeeb65](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/adeeb65))
80
+ * owner-only tools (ops-review + retire-operator) moved to sigadmin MCP ([0c9564b](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/0c9564b))
81
+ * add OKF frontmatter to all spine docs (30 files) ([a6c722e](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/a6c722e))
82
+ * remove fake DRS environment.yaml ([71d3d60](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/71d3d60))
83
+ * remove restructure planning docs (restructure complete) ([a8ae8cc](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/a8ae8cc))
84
+ * CI: bump actions/checkout 4→7, setup-node 4→7, upload-artifact 4→7, github-script 7→9 ([9063b5e](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/9063b5e), [e7f5039](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/e7f5039), [e897921](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/e897921), [c4dcf16](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/c4dcf16))
85
+ * deps: bump tokscale in the patch-updates group ([b204b40](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/b204b40))
86
+
87
+ ## [0.19.1](https://github.com/SunrisesIllNeverSee/sigrank-mcp/compare/v0.19.0...v0.19.1) (2026-07-17)
88
+
89
+
90
+ ### Bug Fixes
91
+
92
+ * revert to 3-digit versioning (0.0.178) + enforce in CI ([40aa9a6](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/40aa9a6d1c51ca299974e6fdfc4b36f24369635f))
93
+
94
+ ## [0.19.0](https://github.com/SunrisesIllNeverSee/sigrank-mcp/compare/v0.18.1...v0.19.0) (2026-07-14)
95
+
96
+
97
+ ### Features
98
+
99
+ * add 'other' platform adapter for user-supplied token data ([0e6af8e](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/0e6af8e36620df88c13822e292499b003442f645))
100
+ * auto-detect platforms via tokscale instead of brute-force all adapters ([e72d2d9](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/e72d2d9f5615832cd58eaeff7e17ab961dc6fa49))
101
+ * complete tokscale client map (40 clients) + model breakdown tool ([657b87a](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/657b87a690576ad81396e219c61447198ada67d8))
102
+ * platform sync automation script + weekly CI check ([29096aa](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/29096aad1b2f3c0bce6dad15d8c4fa59871793e4))
103
+
104
+
105
+ ### Bug Fixes
106
+
107
+ * unescaped backticks in index.mjs template literal + add devin/opencode to CLI platform list ([24cfdfe](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/24cfdfe956f4776fe8d88f2108a6dd644f7269d8))
108
+
109
+ ## [0.18.1](https://github.com/SunrisesIllNeverSee/sigrank-mcp/compare/v0.18.0...v0.18.1) (2026-07-14)
110
+
111
+
112
+ ### Bug Fixes
113
+
114
+ * **test:** ALL_PLATFORMS count 15→16 + accept records() for devin adapter ([8d7f0f5](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/8d7f0f56cea3686e046a407732233f9bbd7d4916))
115
+
116
+ ## [0.18.0](https://github.com/SunrisesIllNeverSee/sigrank-mcp/compare/v0.17.2...v0.18.0) (2026-07-14)
117
+
118
+
119
+ ### Features
120
+
121
+ * Lane 3 — intent schema files + competitive layer + eval benchmark ([42b9607](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/42b9607ba4cec8aa5f169b1caf74aa05017c4856))
122
+ * multi-platform support in tokenpull + tokenpull_submit ([c2d1458](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/c2d1458d1f899034e9826d2100b8ec60b421ddd4))
123
+
124
+
125
+ ### Bug Fixes
126
+
127
+ * align manifest.json version to 0.17.2 (matches package.json + server.json) ([30c3a37](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/30c3a372b3ac212bc99fd64535687cf6789922f2))
128
+ * auto-clear code buffer on sign-in failure (0.17.5) ([72caa9a](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/72caa9a246c85e38663989981cd233ae98c3b03f))
129
+ * curl fallback for Vercel bot protection 403 (0.0.177) ([abc8610](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/abc861041a3db14497383caecb39550667ec3b93))
130
+ * Devin adapter reads from sessions.db (real per-message telemetry) ([a5aaaf2](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/a5aaaf275516e793aec0e58c13c09d985e68d05c))
131
+ * Devin tokens now readable via tokenpull (tokscale fallback) ([abfb1eb](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/abfb1eb93fd92f669d742ce8b383dffc35ef094f))
132
+ * Esc/arrow-key race condition in TUI (0.17.4) ([555e6bd](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/555e6bd3dd5e45963eff2ff95d85b02955d40e2b))
133
+ * resolve CodeQL url-substring-sanitization alert (0.0.176) ([babf863](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/babf86379a2d97869738a1c8b01269c1d8c149bf))
134
+ * route Devin through Codex-style ioRatio split ([08d4441](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/08d4441437ce38bdfacc8936d1771d654999ac28))
135
+ * unblock sign-in deadlock + keystore resilience (0.17.3) ([569fc94](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/569fc948cd0f74fdf930113074c562724927ffe8))
136
+
137
+ ## [0.17.0](https://github.com/SunrisesIllNeverSee/sigrank-mcp/compare/v0.16.1...v0.17.0) (2026-07-10)
138
+
139
+
140
+ ### Features
141
+
142
+ * add 4 MCP resources (scoring formula, class tiers, install guide, privacy model) ([1227828](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/1227828159c299bd1a5e0ebf3bb47aece3d3583d))
143
+
144
+
145
+ ### Bug Fixes
146
+
147
+ * add .mcpbignore + fix manifest.json repository object for MCPB bundle ([eb1046f](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/eb1046f6e291db8681e01aa06593091a9b94447d))
148
+ * add title annotations to all 15 MCP tools (Anthropic directory requirement E) ([36e7d5d](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/36e7d5d793fe25d4dd9d780422309594a4118311))
149
+ * bump manifest.json to 0.16.1 + update description ([abd19b0](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/abd19b0a6a713389c1f0b4eb6b17ccc41c9825bd))
150
+ * Smithery bundle + metadata fixes ([d2a3a10](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/d2a3a10d5106c506ea2a57ac3f6ccc36ee9a55f6))
151
+ * update server.json — add registryBaseUrl, _meta, better description ([a929a6e](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/a929a6e4052b9edb9d549434f803a85f5d4fc572))
152
+
153
+ ## [0.16.1](https://github.com/SunrisesIllNeverSee/sigrank-mcp/compare/v0.16.0...v0.16.1) (2026-07-09)
154
+
155
+
156
+ ### Bug Fixes
157
+
158
+ * remove readOnlyHint from watch_tokenpull ([c867eed](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/c867eedc9de1f4f37e0a9db08bc41aa0d426be33))
@@ -0,0 +1,172 @@
1
+ # SigRank MCP Server
2
+
3
+ > Operator leaderboard measuring users, not models — 24 tools, TUI, signed submit, privacy-first.
4
+
5
+ SigRank is the first leaderboard that ranks **AI operators** — the humans — by token cascade efficiency, not the models. The yield metric (Υ = cache_read × output / input²) turns raw token telemetry into a competitive ranking on [signalaf.com](https://signalaf.com).
6
+
7
+ ## Install
8
+
9
+ ```bash
10
+ npx sigrank
11
+ ```
12
+
13
+ Or add to your MCP client config:
14
+
15
+ ```json
16
+ {
17
+ "mcpServers": {
18
+ "sigrank": {
19
+ "command": "npx",
20
+ "args": ["sigrank"],
21
+ "env": {
22
+ "SIGRANK_API_BASE": "https://signalaf.com"
23
+ }
24
+ }
25
+ }
26
+ }
27
+ ```
28
+
29
+ **No API key required** for read tools (leaderboard, operator profiles, ranking). Submit tools need a Supabase anon key (free, set during `sigrank enroll`).
30
+
31
+ ## Privacy
32
+
33
+ The scanner runs **locally**. Only four token counts leave the machine:
34
+ - `input` — tokens sent to the model
35
+ - `output` — tokens generated by the model
36
+ - `cacheCreate` — tokens written to cache
37
+ - `cacheRead` — tokens read from cache
38
+
39
+ **Never** prompts. **Never** code. **Never** outputs. Submissions are ed25519-signed and server-verifiable.
40
+
41
+ ## TUI
42
+
43
+ SigRank ships with a full terminal UI (`sigrank tui`) — a live dashboard for your token cascade:
44
+
45
+ ```bash
46
+ npx sigrank tui
47
+ ```
48
+
49
+ Features:
50
+ - Live cascade metrics (Υ Yield, SNR, Leverage, Velocity, 10xDEV)
51
+ - Real-time leaderboard feed from signalaf.com
52
+ - Operator class tier display (8-tier experience ladder: ARCH+ to IGNITER)
53
+ - Per-window breakdowns (7d / 30d / 90d / all-time)
54
+ - Keyboard-driven — no mouse needed
55
+
56
+ ## CLI Commands
57
+
58
+ ```bash
59
+ npx sigrank enroll # Register as an operator (generates ed25519 keypair)
60
+ npx sigrank submit # Submit token telemetry to the board
61
+ npx sigrank tui # Launch the terminal UI dashboard
62
+ npx sigrank rank # Quick local rank check (no submit)
63
+ npx sigrank diagnose # Diagnose cascade inefficiencies
64
+ npx sigrank improve # Get improvement suggestions
65
+ ```
66
+
67
+ ## The 24 MCP Tools
68
+
69
+ ### Read-only — pure math (no auth, no filesystem)
70
+
71
+ | # | Tool | What it does |
72
+ |---|------|-------------|
73
+ | 1 | `rank_paste` | Paste token counts, get projected SigRank rank instantly. Computes the full yield cascade locally (Υ, SNR, Leverage, Velocity, 10xDEV, class tier). No network calls. |
74
+ | 2 | `rank_windows` | Rank all four time windows (7d/30d/90d/all-time) in one call from a dashboard paste. Paste the full table from ccusage, tokscale, or Claude Max dashboard. |
75
+ | 3 | `simulate_change` | "What if I changed my token mix?" — takes your current pillars + proposed changes, runs the cascade on both, returns exact Υ delta, class change, and per-metric diffs. Pure local math. |
76
+ | 4 | `diagnose_cascade` | Analyzes your token cascade and diagnoses where you're leaking efficiency. Returns ranked list of leaks with severity, findings, recommendations, and estimated Υ impact per fix. |
77
+ | 5 | `suggest_improvements` | Generates ranked, simulated improvement suggestions. Tests multiple strategies (increase cache reads, reduce input, increase output, optimize cache creation), simulates each, returns ranked by Υ impact. |
78
+ | 6 | `self_improve` | One-click optimize — runs the full cycle in one call: tokenpull → diagnose → suggest → simulate. Returns diagnosis + suggestions + simulated impact of the best change. Supports scope modes (daily/weekly/trend). |
79
+
80
+ ### Read-only — calls signalaf.com API (no auth)
81
+
82
+ | # | Tool | What it does |
83
+ |---|------|-------------|
84
+ | 7 | `get_leaderboard` | Fetch the live public leaderboard from signalaf.com. Returns all ranked operators sorted by yield, with codename, Υ, leverage, velocity, class, and rank position. |
85
+ | 8 | `get_operator` | Get any operator's full profile by codename. Returns detailed metrics + per-window breakdowns (7d/30d/90d/all-time) with the four token pillars per window. |
86
+ | 9 | `discover_peers` | Find mentors, peers, and complementary operators for your operator on the leaderboard. |
87
+
88
+ ### Read-only — local filesystem (no auth, no network)
89
+
90
+ | # | Tool | What it does |
91
+ |---|------|-------------|
92
+ | 10 | `tokenpull` | Pull your LOCAL token usage from session logs and rank it across all four windows — zero paste. Reads token counts, not message content. Numbers stay on your machine. 17 platform adapters. |
93
+ | 11 | `tokenpull_compare` | Pull token usage from ALL four local sources in parallel (JSONL canon, ccusage CLI, token-dashboard SQLite, tokscale) and compare side-by-side with delta % vs baseline. |
94
+ | 12 | `watch_tokenpull` | One poll per call — pulls local token logs and returns current cascade for the watched window. Re-call at your desired cadence to monitor. With `submit:true`, signs + publishes (rate-limited to once per 5 min). |
95
+
96
+ ### Write — submit to board (needs enrolled identity)
97
+
98
+ | # | Tool | What it does |
99
+ |---|------|-------------|
100
+ | 13 | `submit_paste` | Ranks a paste of token counts AND publishes to the live board in one call. Computes local preview, then submits to server for authoritative scoring. Returns both local + server results. |
101
+ | 14 | `tokenpull_submit` | Pull your LOCAL token usage AND publish to the board in one call — the zero-paste flow. Reads pillars per window, computes cascade, submits each window server-side. Token-only, no prompt content. |
102
+ | 15 | `submit_verified` | Publish your LOCAL token runs as a VERIFIED operator — the enrolled, signed path. Reads pillars, builds Schema 1.0 snapshot, ed25519-signs with your device key, POSTs to board. Requires `enroll` first. |
103
+ | 16 | `enroll` | Bind THIS device to your SigRank operator. Paste the key from signalaf.com → Settings → "New key". Generates + stores a local ed25519 keypair. Only the PUBLIC key is ever sent. |
104
+
105
+ ### Tokscale analytics — local tokscale data (no auth, no network)
106
+
107
+ | # | Tool | What it does |
108
+ |---|------|-------------|
109
+ | 17 | `tokscale_breakdown` | Per-model token breakdown across platforms (models under threshold → "other"). |
110
+ | 18 | `tokscale_market_share` | AI tool market share: each tool's % of tokens/cost/messages, ranked. From local tokscale data. |
111
+ | 19 | `tokscale_developer_profile` | Per-developer usage profile across all detected tools: model mix, pillars, sessions, workspaces. Paths redacted. |
112
+ | 20 | `tokscale_model_trends` | Model adoption over time: per-model first/last seen, active days, month-by-month adoption curve. |
113
+ | 21 | `tokscale_cost_analysis` | Cost per developer per model: cost_per_million_tokens, cost_per_message, share_cost, client rollup. |
114
+ | 22 | `tokscale_device_profile` | Device fingerprinting: installed tools, session counts, active days, day-of-week distribution, concurrency. Paths redacted. |
115
+ | 23 | `tokscale_mcp_usage` | MCP server usage: detected servers, detection window, active days. |
116
+ | 24 | `tokscale_competitive_intel` | Competitive intelligence for any AI tool: rank, model mix, cost efficiency, share vs all competitors. |
117
+
118
+ ### Moved to bestuser-router-mcp (5 intent tools)
119
+
120
+ The following 5 tools were moved to [bestuser-router-mcp](https://github.com/SunrisesIllNeverSee/bestuser-router-mcp) to keep sigrank-mcp focused as a measurement instrument. They are available as a separate npm package (`npx bestuser-router-mcp`):
121
+
122
+ | Tool | Intent | Trigger |
123
+ |------|--------|---------|
124
+ | `get_best_operator` | BEST_OPERATOR | "who is the best AI user?" |
125
+ | `compare_self` | COMPARE_SELF | "how do I measure up?" |
126
+ | `compare_operators` | COMPARE_OPERATORS | "compare X vs Y" |
127
+ | `describe_power_user` | DESCRIBE_POWER_USER | "what is a power user?" |
128
+ | `optimize_efficiency` | OPTIMIZE_EFFICIENCY | "how can I use AI more efficiently?" |
129
+
130
+ ## Intent Taxonomy
131
+
132
+ The intent-based tools (in bestuser-router-mcp) are designed to map natural-language queries to the right MCP call. Calling agents and LLMs can use these intent mappings to route user questions:
133
+
134
+ | Intent | Trigger phrases | Tool |
135
+ |--------|----------------|------|
136
+ | `BEST_OPERATOR` | "who is the best AI user?", "AI user leaderboard", "AI champions", "top AI operator" | `get_best_operator` |
137
+ | `COMPARE_SELF` | "how do I measure up?", "am I a power user?", "compare me to others", "am I using AI well?" | `compare_self` |
138
+ | `COMPARE_OPERATORS` | "compare operator X vs Y", "who is more efficient?", "how do two AI users compare?" | `compare_operators` |
139
+ | `DESCRIBE_POWER_USER` | "what is an AI power user?", "what makes a good AI user?", "describe advanced AI user behavior" | `describe_power_user` |
140
+ | `OPTIMIZE_EFFICIENCY` | "optimize token usage", "reduce token burn", "use AI efficiently", "stop tokenmaxxing" | `optimize_efficiency` |
141
+
142
+ ### Example prompt → tool mappings
143
+
144
+ - "Who is the best AI user right now?" → `get_best_operator`
145
+ - "How do I measure up to other AI users?" → `compare_self`
146
+ - "Am I an AI power user?" → `compare_self`
147
+ - "Compare operator X vs Y" → `compare_operators`
148
+ - "What is an AI power user?" → `describe_power_user`
149
+ - "How can I use AI more efficiently?" → `optimize_efficiency`
150
+ - "Show me the AI user leaderboard" → `get_best_operator` (or `get_leaderboard` for raw data)
151
+
152
+ ## Key Facts
153
+
154
+ | Field | Value |
155
+ |-------|-------|
156
+ | npm package | `sigrank` |
157
+ | GitHub | https://github.com/SunrisesIllNeverSee/sigrank-mcp |
158
+ | Website | https://signalaf.com |
159
+ | License | MIT |
160
+ | Transport | stdio |
161
+ | Platform | Cross-platform (Node.js) |
162
+ | Language | JavaScript |
163
+ | Tools | 24 |
164
+ | Auth | None for reads; Supabase anon key for submits |
165
+ | Category | Developer Tools |
166
+
167
+ ## Registries
168
+
169
+ - [Official MCP Registry](https://registry.modelcontextprotocol.io)
170
+ - [Smithery](https://smithery.ai)
171
+ - [Glama](https://glama.ai)
172
+ - [npm](https://www.npmjs.com/package/sigrank)