SigRank SignalAF — sigrank CLI/MCP

MCP serverDev tools

Upsilon measurement engine with 25 local tools and SigRank proof access via the sigrank package.

Unavailable. This server has no hosted endpoint yet, so ahel can't serve it.

Connect ahel once, and every AI you use reads what you have installed.

From the project's README

As published by sunrisesillneversee/sigrank-mcp in README.md.

SignalAF is the public brand. SigRank is the leaderboard and proof surface. The sigrank package reads local AI session logs, derives your token cascade, and publishes to the board at signalaf.com. Four token counts only. Never prompts or code.

SignalAF is the brand. SigRank proves. MO§ES™ governs.

SigRank evaluates observable AI operator token-processing patterns—not AI model quality, cognition, work quality, employee productivity, or business value.

Table of Contents

  • SignalAF product architecture
  • Quickstart
  • Install from GitHub
  • Install via Smithery
  • Commands
  • MCP Server mode
  • Cascade math
  • Token Pillars
  • Platform adapters
  • Privacy
  • Env vars
  • Dev / test
  • File map
  • Contributing
  • License
The boardYour 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.


SignalAF product architecture

MO§ES™ governance → SignalAF brand → SigRank leaderboard → Upsilon engine
RepoWhat it isInstall
sigrank-mcp (this repo)SigRank's on-device scanner — extracts four token pillars, computes locally, and optionally submits to the board.npx sigrank
sigrank-appSignalAF web app — the SigRank leaderboard, operator profiles, and proof surface.signalaf.com
bestuser-router-mcpThe intent layer — routes "who is the best AI user?" queries to SigRank SignalAF's leaderboard. MCP server for AI assistants.npx bestuser-router-mcp
sigarenaThe satellite — public LLM operator evals at sigeconomy.com. Read-only leaderboard, SEO/AEO surface.sigeconomy.com
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§ESConstitutional governance and methodology — the law governing SignalAF, SigRank, and the Upsilon measurement engine.

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
bunx sigrank board --once   # same, via Bun (faster startup if you have it)

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 SignalAF 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 SignalAF (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 SignalAF CLI  v1.0.37

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)
  proxy                    opt-in local Anthropic/OpenAI usage proxy
  proxy --port 9000        run the proxy on a custom loopback port

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)
  --port      proxy port (default: 8787)

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

Optional API usage proxy

Some desktop coding agents receive provider usage in API responses but do not persist it in their local session files. SigRank SignalAF can capture those provider-reported counts through a manually started loopback proxy:

sigrank proxy              # http://localhost:8787
sigrank proxy --port 9000  # custom port

Then point a compatible tool's API base URL at the displayed local URL. The first release supports Anthropic Messages (/v1/messages), OpenAI Chat Completions (/v1/chat/completions), and OpenAI Responses (/v1/responses). The tool must support a custom API base URL; this is not guaranteed for every desktop client.

The proxy is off by default: it opens no port and observes no traffic unless you explicitly run sigrank proxy. It binds only to loopback and stops when the command exits. Request and response content, API keys, and tool calls are forwarded transiently but never written to disk. Only usage metadata is appended to ~/.sigrank-mcp/proxy-sessions.jsonl (directory 0700, file 0600).

Anthropic and OpenAI calls are currently grouped under one proxy platform row. For streamed Chat Completions, SigRank SignalAF sets OpenAI's stream_options.include_usage=true so the provider includes the final usage chunk; response chunks are still forwarded immediately.

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²       (TTEOP canonical)
SNR        = output / (input + output)            (display alias for output_fraction)
Leverage   = cache_read / input                   (TTEOP canonical)
Velocity   = output / input                       (TTEOP canonical)
10xDEV     = log₁₀(leverage)                      (display alias for log_leverage)

Canonical metric computation is delegated to tteop-spec via @sigrank/cascade. SNR and 10xDEV are SigRank display aliases for the TTEOP metrics output_fraction and log_leverage respectively. See TTEOP-IMPLEMENTATION-PROFILE.md for the full authority chain. 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:

Shortened here. Read the whole README on GitHub.

Signals

Forks
4
Last commit
Sep 2026
Weekly downloads
1k
Advanced
Delivery
sigrank-mcp MCP server → your ahel gateway (mcp.ahel.ai) → every connected AI client.
Catalog kind
mcp-server
Gateway key
io-github-sunrisesillneversee-sigrank-mcp
Source
github.com/sunrisesillneversee/sigrank-mcp