SunrisesIllNeverSee/sigrank-mcp

πŸ’» Developer Tools
0 Views
0 Installs

πŸ“‡ 🏠 🍎 πŸͺŸ 🐧 - Operator leaderboard measuring users, not models β€” ranks AI coding operators by token cascade efficiency (Yield = Cache Reads Γ— Output / InputΒ²). 15 MCP tools: rank, pull, submit (ed25519-signed), diagnose, simulate. Privacy-first: only token counts leave the machine. npx sigrank

Quick Install

One-Click IDE Configuration
claude_desktop_config.json
{
  "mcpServers": {
    "sunrisesillneversee-sigrank-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "sunrisesillneversee-sigrank-mcp"
      ]
    }
  }
}
Or

Using an AI coding agent (Claude Code, Cursor, etc.)? Copy a ready-made prompt that tells it to fetch the setup instructions and install this server for you.

Documentation Overview

SigRank MCP

πŸ† SigRank is live: signalaf.com β€” the leaderboard for how efficiently you use AI, not how much. Run npx sigrank to see your cascade now. Token counts only. Never your prompts.

SigRank β€” the new standard in AI evaluation & benchmarks

The yield cascade + live leaderboard as MCP tools any agent can call.

For all builders, burners and 10xers.

npm version CI CodeQL audit Dependabot license platform live SunrisesIllNeverSee/sigrank-mcp MCP server Smithery

npx sigrank

Table of Contents

The boardYour operator profile
SigRank leaderboardSigRank operator profile
Every operator ranked by Ξ₯ Yield β€” the architecture of the cascade, not raw spendCascade layer, class, and fingerprint β€” derived from four token counts

Run sigrank enroll then sigrank submit to get ranked and claim your public profile at signalaf.com.


The SigRank ecosystem

RepoWhat it isInstall
sigrank-mcp (this repo)The instrument β€” extracts 4 token pillars, computes the cascade, submits to the leaderboard. MCP server + TUI dashboard.npx sigrank
sigrank-appThe leaderboard β€” signalaf.com. Privacy-preserving operator profiles, class tiers, board rankings.signalaf.com
signafThe coach β€” reads your session logs, builds a taste profile, measures ASI, coaches you on token efficiency.npx @burnmydays/signaf
sigrank-vscodeThe IDE extension β€” see your cascade metrics inline in VS Code.code --install-extension sigrank.sigrank
fundscoreThe repo scorer β€” investor-readiness scoring for GitHub repos. CLI + MCP server.npx fundscore

Also in the MOΒ§ESβ„’ suite

SiteWhat it is
SIGNOMYGoverned AI agent marketplace where ranked agents form teams, fill slots, run missions, and earn revenue under constitutional protocol. Agents are free. Operators pay.
MOΒ§ESThe governance framework that underpins SigRank, SIGNOMY, and all governed agent operations. Structural accountability for agentic systems.

Quickstart β€” 3 steps to the board

# 1. Install (pulls ccusage + tokscale automatically β€” no separate installs)
npm install -g sigrank

# 2. Sign in (paste a connect code from signalaf.com β†’ Settings β†’ New key)
sigrank enroll

# 3. Submit your cascade to the board
sigrank submit

# (cautious? see exactly what would be sent β€” four counts + a signature β€” sending nothing)
sigrank submit --dry-run

That's it. sigrank reads your local AI session logs on-device, derives your token cascade (Ξ₯ Yield, Leverage, Velocity, 10xDEV), and publishes to signalaf.com. No paste, no transcript content β€” only the four token counts leave your machine.

Or just explore without signing in:

sigrank          # launches the full tabbed TUI (dashboard, compare, board, watch)
npx sigrank board --once    # print the live leaderboard once

Install from GitHub

git clone https://github.com/SunrisesIllNeverSee/sigrank-mcp.git
cd sigrank-mcp
npm install

# Run CLI
node index.mjs                        # TUI (if TTY)
node cli.mjs board --once             # leaderboard one-shot

# Or link globally for `sigrank` command
npm link
sigrank

Repo: SunrisesIllNeverSee/sigrank-mcp Site: signalaf.com npm: sigrank Smithery: smithery.ai/servers/burnmydays/sigrank Glama: glama.ai/mcp/servers/SunrisesIllNeverSee/sigrank-mcp


Install via Smithery

SigRank is available on Smithery as a stdio MCP bundle β€” one-click install for Claude Desktop, Cursor, and other MCP clients.

Smithery CLI

# Install Smithery CLI
npm install -g smithery

# Connect to SigRank (downloads the MCPB bundle locally)
smithery mcp add burnmydays/sigrank --id sigrank

# List available tools
smithery tool list sigrank

# Call a tool
smithery tool call sigrank get_leaderboard '{}'
smithery tool call sigrank rank_paste '{"text": "1000000 500000 50000 800000"}'

Claude Desktop (via Smithery)

  1. Go to smithery.ai/servers/burnmydays/sigrank
  2. Click Install
  3. Smithery handles the rest β€” no manual config editing

Commands

βŠ™ SigRank CLI  v0.0.177

Default (no args)
  sigrank              unified dashboard: cascade + token pillars + board

Commands
  enroll                   sign in: paste a connect code (get one at signalaf.com β†’ Settings)
  submit                   publish your verified runs to the board (sign in first)
  board                    live leaderboard (refreshes every 30s)
  board --window 7d        board for a specific window (7d, 30d, 90d, all)
  board --once             print once and exit
  compare                  raw pillar audit: tokenpull vs ccusage vs token-dash vs tokscale
  compare --platform codex compare for a specific platform
  tui                      full tabbed TUI: Dashboard / Trends / Compare / Board / Watch / Connect
  tui --platform codex     TUI with a different default platform
  watch                    live tune meter β€” ALL active platforms Γ— all windows, every 30s
  watch --platform codex   watch only one platform (optional filter)
  watch --window 7d        watch only one window (optional filter)

Options
  --window    7d Β· 30d Β· 90d Β· all  (default: 30d for board; all windows for watch)
  --platform  claude Β· codex Β· amp Β· gemini Β· opencode Β· goose Β· …
  --refresh   poll interval in seconds (default: 30)
  --once      print once and exit (board only)

For AI clients (not typeable)
  In a piped/non-TTY context, sigrank is an MCP stdio server.
  AI clients (Claude, Cursor, …) call its tools automatically β€” these are
  NOT shell commands. Humans use the commands above.

Examples
  sigrank                        # unified dashboard
  sigrank board                  # live leaderboard
  sigrank compare                # pillar audit (claude)
  sigrank compare --platform codex
  sigrank watch --window 7d --refresh 60
  sigrank board --window all --once

The TUI is the whole app

Launch it and sign in inside it:

npx sigrank

Six tabs. Keys: 1-6 or ← β†’ to switch Β· R refresh Β· Q quit.

TabKeyContent
Dashboard1Cascade table (all platforms Γ— windows + combined) Β· Ξ₯ sparklines Β· token composition bars Β· mini board
Trends2Every metric across windows β€” sub-views: You / Platform / Field
Compare34-source pillar audit (tokenpull vs ccusage vs token-dash vs tokscale) Β· delta % Β· cascade metrics per source Β· cache read bar chart
Board4Full leaderboard with all fields Β· [W] cycles window (7d/30d/90d/all)
Watch5In-TUI landing panel Β· [Enter] launches the live watcher (big numbers + pillar bars + Ξ₯ trend, auto-refreshes 30s)
Connect6Sign in / switch device β€” paste a connect code from signalaf.com β†’ Settings. Then [S] submits.

Sign in + submit

sigrank enroll          # sign in: paste a connect code (get one at signalaf.com β†’ Settings)
sigrank submit          # publish your verified runs to the board (sign in first)
sigrank submit --dry-run  # inspect the exact signed payload without sending anything

Or do it inside the TUI on the Connect tab (6), then press [S] to submit.


MCP Server mode

When stdout is not a TTY (i.e. piped to an AI client), sigrank starts an MCP stdio server automatically. AI clients (Claude Code, Cursor, Windsurf, etc.) use this path.

Add to .mcp.json or equivalent:

{
  "mcpServers": {
    "sigrank": {
      "command": "npx",
      "args": ["-y", "sigrank"]
    }
  }
}

Or if installed globally:

{
  "mcpServers": {
    "sigrank": {
      "command": "sigrank"
    }
  }
}

Tools

ToolArgsWhat
rank_paste(text){input, output, cacheCreate, cacheRead} JSON or 4 whitespace-delimited numbersScores token pillars β†’ Ξ₯ Yield / SNR / Leverage / Velocity / 10xDEV / Class + prose narration card
get_leaderboard(){window?}Live board from signalaf.com β€” sorted by Ξ₯ Yield
get_operator(codename){codename}One operator's live profile
submit_paste(text, codename){text, codename?}Rank locally then POST to board. Omit codename for preview-only
tokenpull(platform?){platform?}On-device local reader: scans local logs β†’ 4-window cascade. Zero paste, token-only
tokenpull_submit(codename, window?){codename?, window?}tokenpull β†’ publish to board. Omit codename for preview
tokenpull_compare(platform?){platform?}All four sources side-by-side: tokenpull + ccusage + token-dash + tokscale. Returns pillars, cascade metrics, and delta % vs tokenpull per window
rank_windows{platform?, window?}Multi-window cascade from local logs
watch_tokenpull{platform?, interval_s?}One cascade snapshot per call (interval_s advisory)
submit_verified{window?, platform?, dry_run?}THE ranked path: builds + ed25519-signs Schema 1.0 snapshots and POSTs them. platform:'multi' sums all active platforms. dry_run:true returns the exact payload unsent
enroll{code, device_label?}Bind this device with a connect code from signalaf.com β†’ Settings
diagnose_cascade{text?}Diagnoses where your token cascade is leaking efficiency β€” ranked findings with severity + estimated Ξ₯ impact
simulate_change{text?, changes}Prescriptive "what if" β€” test proposed pillar changes and see the exact Ξ₯ delta + class change before committing
suggest_improvements{text?}Generates ranked, simulated improvement suggestions β€” tests strategies and returns them sorted by Ξ₯ yield impact
self_improve{text?}One-click optimize: diagnoses, suggests, and simulates the best change in a single call
get_best_operator(n?){n?}Top N operators with behavioral framing in power-user language. Intent: "who is the best AI user?"
compare_self(codename? | text?){codename?} or {text?}Your metrics vs board averages + power-user assessment + percentile + suggestion. Intent: "how do I measure up?"
compare_operators(a, b){codename_a, codename_b}Side-by-side comparison with behavioral verdict. Intent: "compare operator X vs Y"
describe_power_user(){}Static explanation of AI power user archetype + metrics explained. Intent: "what is an AI power user?"
optimize_efficiency(codename? | text?){codename?} or {text?}Ranked efficiency suggestions tied to your cascade shape. Intent: "how can I use AI more efficiently?"
tokscale_breakdown(threshold?){threshold?}Per-model token breakdown across platforms (models under threshold β†’ "other")
tokscale_market_share(){}AI tool market share: each tool's % of tokens/cost/messages, ranked. From local tokscale data
tokscale_developer_profile(){}Per-developer usage profile across all detected tools: model mix, pillars, sessions, workspaces. Paths redacted
tokscale_model_trends(){}Model adoption over time: per-model first/last seen, active days, month-by-month adoption curve
tokscale_cost_analysis(){}Cost per developer per model: cost_per_million_tokens, cost_per_message, share_cost, client rollup
tokscale_device_profile(){}Device fingerprinting: installed tools, session counts, active days, day-of-week distribution, concurrency. Paths redacted
tokscale_mcp_usage(){}MCP server usage: detected servers, detection window, active days
tokscale_competitive_intel(target){target}Competitive intelligence for any AI tool: rank, model mix, cost efficiency, share vs all competitors

Cascade math

Ξ₯ Yield    = (cache_read Γ— output) / inputΒ²
SNR        = output / (input + output)
Leverage   = cache_read / input
Velocity   = output / input
10xDEV     = log₁₀(leverage)

Math is in cascade.mjs, dependency-free. Mirrors sigrank-app/lib/ingest/bridge.ts. Canon check: MOΒ§ES (1251211, 11296121, 128196310, 2555179769) β†’ Ξ₯ 18436.98.


Token Pillars β€” sources

The dashboard pulls from multiple sources and shows them side-by-side for verification:

SourceWhatPlatform
tokenpullOn-device JSONL scanner (canon source)claude, codex, amp, …
ccusageccusage <platform> daily --json CLI (bundled)claude, codex
token-dashboard~/.claude/token-dashboard.db SQLite (Nate's)claude only
tokscaletokscale models --json CLI (bundled, falls back to ~/tokscale_report.json)claude, codex

Non-Claude input is estimated β€” most non-Claude systems (Codex, Devin, etc.) combine user input + cache write into a single input_tokens field, so true fresh input must be derived. The ruleset (applies to ALL non-Claude systems):

input       = output Γ— ioRatio         (ioRatio derived from Claude ratio, else 2.0)
cacheCreate = uncached βˆ’ input         (uncached = input_tokens βˆ’ cached_input_tokens)
cacheRead   = exact (from logs)
  • Beta = operator's Claude input/output ratio (if Claude data available)
  • Alpha = 2.0 default (when no Claude data)
  • Owner-stated average: 7:1:2 (cache:input:output) β†’ input/output β‰ˆ 0.5

Verifier numbers (ccusage/tokscale for codex) show raw uncached input (input_tokens βˆ’ cached) β€” a different field than the estimated input above. The discrepancy is expected and explained inline in the dashboard.


Platform adapters

All adapters are token-only (no message content, no cost fields, no credentials).

PlatformPathNotes
Claude Codeβœ… ~/.claude/projectsNative; dedup by (session_id, message_id); subagents included
Codexβœ… ~/.codex/sessionsEstimated input via io_ratio; verified vs ccusage
Devin CLIβœ… ~/.local/share/devin/cli/sessions.dbEstimated input via io_ratio; SQLite; same split as Codex
Ampβœ… ~/.local/share/amp/threadsFull 4-pillar; per-message
Kimiβœ… ~/.kimi/sessionsFull 4-pillar; StatusUpdate lines only
pi-agentβœ… ~/.pi/agent/sessionsFull 4-pillar; per-message JSONL
OpenClawβœ… ~/.openclawFull 4-pillar; per-message JSONL
Droidβœ… ~/.factory/sessions/*.settings.jsonFull 4-pillar; thinkingβ†’output
Codebuffβœ… ~/.config/manicodeFull 4-pillar; chat-messages.json
Hermesβœ… ~/.hermes/state.dbFull 4-pillar; SQLite; reasoningβ†’output
Kiloβœ… ~/.local/share/kilo/kilo.dbFull 4-pillar; SQLite
Qwenβœ… ~/.qwen/projectscacheCreate=0 estimated; thoughtβ†’output
Gooseβœ… ~/.local/share/goose/sessions/sessions.dbcacheCreate=cacheRead=0 estimated; SQLite
Gemini CLIβœ… ~/.gemini/tmpcacheCreate=0 estimated; cache extracted from input field
GitHub Copilot CLIβœ… ~/.copilot/otelOTel JSONL; requires COPILOT_OTEL_ENABLED=true
OpenCode⚠️ ~/.local/share/opencodeRaw token counts not persisted in log format
CursorπŸ”œChat log path TBD
WindsurfπŸ”œSession logs at ~/.codeium/windsurf/

estimated=true means one or more pillars are derived, not native. The server re-scores all submitted pillars authoritatively; local preview Ξ₯ is indicative only.


Privacy

  • Token-only, always. No message content is ever read, logged, or transmitted β€” only token counts (input, output, cache_creation, cache_read), message IDs, and timestamps.
  • Local by default. tokenpull reads only ~/.claude/projects (Claude) or ~/.codex (Codex) on your device. Numbers stay on your machine unless you explicitly submit with a codename.
  • Background tooling excluded. Memory plugins, observers, summarizers (e.g. claude-mem, mem0, observer-sessions) are filtered from both Claude and Codex reads. subagents/ are kept β€” they represent real operator work.
  • Board reads are anonymous. No account needed to browse, compare, or watch.
  • Ranked submissions are signed, not trusted. sigrank submit requires a one-time enroll (device-bound ed25519 key β€” the private key never leaves your machine). Verify what's sent with sigrank submit --dry-run: the payload is four token counts, ratios, and a signature.

Env vars

VarDefaultDescription
SIGRANK_API_BASEhttps://signalaf.comOverride the board host
SIGRANK_FETCH_TIMEOUT10000Board API fetch timeout (ms)

Dev / test

node test.mjs          # 13 test groups, 200 assertions (no network, no fs writes)
node sign.test.mjs     # ed25519 signing + canon parity
node index.mjs         # stdio MCP server directly (pipe to MCP client)

Tests verify (13 groups, 200 assertions):

  • rank_paste canon: MOΒ§ES (1251211, 11296121, 128196310, 2555179769) β†’ Ξ₯ 18436.98 Β· TRANSMITTER
  • submit_paste preview (no codename) + POST shape (injected fetch, no live writes)
  • tokenpull dedup, window slicing, 4-window pillars (mock adapter)
  • tokenpull_submit all 4 windows POST, sha256 hash, ddmmyy stamp
  • tokenpullCodex io_ratio conversion per-window
  • Adapter registry (15 platforms) + per-adapter shape contracts
  • rank_windows 4-window paste scoring, partial input, no-network
  • watch_tokenpull cascade snapshot, interval_s, submit path
  • enroll posts identity (public key only), maps 201 enrolled + 410 code_invalid
  • submit_verified signs Schema 1.0, server-verifiable
  • simulate_change relative + absolute deltas, quadratic penalty, JSON input
  • Hardening: div-by-zero guards, parsePillars warnings, fetch timeout, EXCLUDE_TOOLING regex, narrate safety
  • sign.test.mjs ed25519 round-trip + canonical 926-byte payload parity

File map

FileResponsibility
index.mjsEntry point β€” TTY detection, routes to CLI or MCP server
cli.mjsCLI commands: board, compare, watch, enroll, submit, help
tui.mjsFull tabbed TUI: Dashboard / Trends / Compare / Board / Watch / Connect
cascade.mjsPure cascade math (Ξ₯, SNR, leverage, velocity, 10xDEV, class)
tokenpull.mjsOn-device log scanner β€” Claude, Codex, multi-platform
adapters.mjsPlatform adapter registry (15+ platforms)
tools.mjsMCP tool table + dispatcher
connect.mjsConnect-code enrollment + device identity
keystore.mjsLocal key management (paste-keys, not API keys)
submit.mjsVerified submit flow (signs + POSTs to board)
sign.mjsSchema 1.0 signing (X-Agent-Signature)
narrate.mjsDeterministic prose narration card
preflight.mjsPlausibility checks (Benford, bounds, anomaly detection)
test.mjsUnit tests (no external deps)
sign.test.mjsed25519 signing + canon parity test

Contributing

Contributions welcome. SigRank MCP is built in the open.

License

MIT β€” see LICENSE.

Related MCP Servers

Moxie-Docs-MCPβ˜… Featured

MCP & Agent Skills for Automated Documentation, and codebase conventions + context

πŸ’» Developer Tools2 views
3KniGHtcZ/codebeamer-mcp

πŸ“‡ ☁️ 🍎 πŸͺŸ 🐧 - Codebeamer ALM integration for managing work items, trackers, and projects. Provides 17 tools for reading and writing items, associations, references, comments, and risk management data via Codebeamer REST API v3.

πŸ’» Developer Tools1 views
21st-dev/Magic-MCP

Create crafted UI components inspired by the best 21st.dev design engineers.

πŸ’» Developer Tools0 views
a-25/ios-mcp-code-quality-server

πŸ“‡ 🏠 🍎 - iOS code quality analysis and test automation server. Provides comprehensive Xcode test execution, SwiftLint integration, and detailed failure analysis. Operates in both CLI and MCP server modes for direct developer usage and AI assistant integration.

πŸ’» Developer Tools0 views

Engagement

Views
0
Installs
0
Upvotes
0

Views and upvotes are unique per visitor network (hashed IP). Installs count copy actions.

Status

Health: Not checked yet

We have not completed a health check for this listing yet.

No check timestamp yet.

Unclaimed listing (imported or pending owner verification). Claim it β†’
β˜… Spotlight Slot

Feature Your MCP Server

Get maximum visibility for your server across our directory, search results, and detail pages.

Spotlight Your Server

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to get the verified badge and attach your website.

Claim this listing

Promote this listing

Optional paid placement. Free listings stay free forever.

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.