SigRank MCP server
The SigRank MCP server lets you score, rank, and publish AI token usage efficiency metrics — without sharing sensitive prompt content. Key capabilities include:
Score token counts locally (
rank_paste): Input raw token pillars (input, output, cacheCreate, cacheRead) to instantly get efficiency metrics (Υ Yield, SNR, Leverage, Velocity, 10xDEV, Class) and a prose narrative card, all computed on-device.Rank multiple time windows (
rank_windows): Score token data across up to four windows (7d/30d/90d/all-time) simultaneously.Pull local token usage automatically (
tokenpull): Scan on-device session logs from 15+ AI platforms (Claude, Codex, Amp, Gemini, Copilot, Goose, etc.) and compute cascade metrics across all time windows — no pasting, no content read.Pull and publish in one step (
tokenpull_submit): Combine local log scanning with a leaderboard submission, optionally filtered by window or platform.Submit to the leaderboard (
submit_paste): Score a token paste locally for a preview, then optionally publish it to the public SigRank board under a codename.View the live leaderboard (
get_leaderboard): Fetch the public board from signalaf.com, ranked by Υ Yield, with optional time window filters.Look up any operator's profile (
get_operator): Retrieve a specific operator's live stats and cascade metrics by codename.Watch your score in real time (
watch_tokenpull): Poll local session logs at a configurable interval for live efficiency score updates as new AI sessions are written.
Allows reading token counts from AMP threads directory (~/.local/share/amp/threads) for token usage analysis, providing per-message tokens.
Allows reading token counts from GitHub Copilot CLI sessions (~/.copilot/otel) for token usage analysis; requires the COPILOT_OTEL_ENABLED=true environment variable to be set before the session.
Allows reading token counts from Hermes state database (~/.hermes/state.db) for token usage analysis, extracting reasoning and output tokens per message.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SigRank MCP serverRank my paste: 100 input, 200 output."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SigRank MCP
🏆 SigRank is live: signalaf.com — the leaderboard for how efficiently you use AI, not how much. Run
npx sigrankto see your cascade now. Token counts only. Never your prompts.
The yield cascade + live leaderboard as MCP tools any agent can call.
For all builders, burners and 10xers.
Table of Contents
The board | Your operator profile |
|
|
Every operator ranked by Υ Yield — the architecture of the cascade, not raw spend | Cascade layer, class, and fingerprint — derived from four token counts |
Run
sigrank enrollthensigrank submitto get ranked and claim your public profile at signalaf.com.
Related MCP server: MCP Monitor
The SigRank ecosystem
Repo | What it is | Install |
sigrank-mcp (this repo) | The instrument — extracts 4 token pillars, computes the cascade, submits to the leaderboard. MCP server + TUI dashboard. |
|
The leaderboard — signalaf.com. Privacy-preserving operator profiles, class tiers, board rankings. | ||
The coach — reads your session logs, builds a taste profile, measures ASI, coaches you on token efficiency. |
| |
The IDE extension — see your cascade metrics inline in VS Code. |
| |
The repo scorer — investor-readiness scoring for GitHub repos. CLI + MCP server. |
|
Also in the MO§ES™ suite
Site | What it is |
Governed AI agent marketplace where ranked agents form teams, fill slots, run missions, and earn revenue under constitutional protocol. Agents are free. Operators pay. | |
The 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-runThat'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
sigrankRepo: 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)
Click Install
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)
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 --onceOptional API usage proxy
Some desktop coding agents receive provider usage in API responses but do not persist it in their local session files. SigRank can capture those provider-reported counts through a manually started loopback proxy:
sigrank proxy # http://localhost:8787
sigrank proxy --port 9000 # custom portThen 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 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 sigrankSix tabs. Keys: 1-6 or ← → to switch · R refresh · Q quit.
Tab | Key | Content |
Dashboard |
| Cascade table (all platforms × windows + combined) · Υ sparklines · token composition bars · mini board |
Trends |
| Every metric across windows — sub-views: You / Platform / Field |
Compare |
| 4-source pillar audit (tokenpull vs ccusage vs token-dash vs tokscale) · delta % · cascade metrics per source · cache read bar chart |
Board |
| Full leaderboard with all fields · |
Watch |
| In-TUI landing panel · |
Connect |
| Sign in / switch device — paste a connect code from signalaf.com → Settings. Then |
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 anythingOr 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
Tool | Args | What |
|
| Scores token pillars → Υ Yield / SNR / Leverage / Velocity / 10xDEV / Class + prose narration card |
|
| Live board from signalaf.com — sorted by Υ Yield |
|
| One operator's live profile |
|
| Rank locally then POST to board. Omit codename for preview-only |
|
| On-device local reader: scans local logs → 4-window cascade. Zero paste, token-only |
|
|
|
|
| All four sources side-by-side: tokenpull + ccusage + token-dash + tokscale. Returns pillars, cascade metrics, and delta % vs tokenpull per window |
|
| Multi-window cascade from local logs |
|
| One cascade snapshot per call (interval_s advisory) |
|
| THE ranked path: builds + ed25519-signs Schema 1.0 snapshots and POSTs them. |
|
| Bind this device with a connect code from signalaf.com → Settings |
|
| Diagnoses where your token cascade is leaking efficiency — ranked findings with severity + estimated Υ impact |
|
| Prescriptive "what if" — test proposed pillar changes and see the exact Υ delta + class change before committing |
|
| Generates ranked, simulated improvement suggestions — tests strategies and returns them sorted by Υ yield impact |
|
| One-click optimize: diagnoses, suggests, and simulates the best change in a single call |
|
| Top N operators with behavioral framing in power-user language. Intent: "who is the best AI user?" |
|
| Your metrics vs board averages + power-user assessment + percentile + suggestion. Intent: "how do I measure up?" |
|
| Side-by-side comparison with behavioral verdict. Intent: "compare operator X vs Y" |
|
| Static explanation of AI power user archetype + metrics explained. Intent: "what is an AI power user?" |
|
| Ranked efficiency suggestions tied to your cascade shape. Intent: "how can I use AI more efficiently?" |
|
| Per-model token breakdown across platforms (models under threshold → "other") |
|
| AI tool market share: each tool's % of tokens/cost/messages, ranked. From local tokscale data |
|
| Per-developer usage profile across all detected tools: model mix, pillars, sessions, workspaces. Paths redacted |
|
| Model adoption over time: per-model first/last seen, active days, month-by-month adoption curve |
|
| Cost per developer per model: cost_per_million_tokens, cost_per_message, share_cost, client rollup |
|
| Device fingerprinting: installed tools, session counts, active days, day-of-week distribution, concurrency. Paths redacted |
|
| MCP server usage: detected servers, detection window, active days |
|
| 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:
Source | What | Platform |
| On-device JSONL scanner (canon source) | claude, codex, amp, … |
|
| claude, codex |
|
| claude only |
|
| 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). The table below is regenerated from the adapter file headers in adapters/index.mjs + adapters/tokenpull.mjs so the path, pillar shape, and notes match the actual code (a prior revision had drifted on Qwen/Codex/Copilot).
Platform | Path | Pillar shape & notes |
Claude Code | ✅ | Native 4-pillar; dedup by |
Codex | ✅ |
|
Devin CLI | ✅ | SQLite; native 4-pillar from |
Amp | ✅ | Native 4-pillar; per-message |
Kimi | ✅ | Native 4-pillar; |
pi-agent | ✅ | Native 4-pillar; per-message JSONL |
oh-my-pi ( | ✅ | Native 4-pillar from |
OpenClaw | ✅ | Native 4-pillar; per-message JSONL |
Droid | ✅ | Native 4-pillar; |
Codebuff | ✅ | Native 4-pillar; |
Hermes | ✅ | Native 4-pillar; SQLite; |
Kilo | ✅ | Native 4-pillar; SQLite |
Qwen | ✅ | Estimated ( |
Goose | ✅ | Estimated ( |
Gemini CLI | ✅ | Estimated ( |
GitHub Copilot CLI | ✅ | Native 4-pillar (OTel spans: |
OpenCode | ⚠️ | Data gap — logs store |
SigRank proxy | ✅ | Opt-in native 4-pillar usage reported by Anthropic/OpenAI; same-timestamp records keep the last call; OpenAI cached input is separated from fresh input |
Other (user JSON) | ✅ | User-supplied JSON |
Cursor | 🔜 | Chat log path TBD |
Windsurf | 🔜 | Session logs at |
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 persistence and submission. Local-log adapters read usage metadata only. The optional proxy necessarily handles provider-bound request and response bytes in memory, but never persists their content; it writes only token counts, model/backend metadata, and timestamps. Only token telemetry is submitted to SigRank.
Local by default.
tokenpullreads 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 submitrequires a one-timeenroll(device-bound ed25519 key — the private key never leaves your machine). Verify what's sent withsigrank submit --dry-run: the payload is four token counts, ratios, and a signature.
Env vars
Var | Default | Description |
|
| Override the board host |
|
| Board API fetch timeout (ms) |
Dev / test
node test.mjs # 313-assertion baseline + proxy tests (local mocks only; temp filesystem)
node sign.test.mjs # ed25519 signing + canon parity
node index.mjs # stdio MCP server directly (pipe to MCP client)Tests verify (14 groups, 313 assertions):
rank_pastecanon: MO§ES(1251211, 11296121, 128196310, 2555179769)→ Υ 18436.98 · TRANSMITTERsubmit_pastepreview (no codename) + POST shape (injected fetch, no live writes)tokenpulldedup, window slicing, 4-window pillars (mock adapter)tokenpull_submitall 4 windows POST, sha256 hash, ddmmyy stamptokenpullCodexio_ratio conversion per-windowAdapter registry (17 platforms) + per-adapter shape contracts
Local proxy: Anthropic/OpenAI JSON + fragmented SSE, live pass-through, secure JSONL, error forwarding
rank_windows4-window paste scoring, partial input, no-networkwatch_tokenpullcascade snapshot, interval_s, submit pathenrollposts identity (public key only), maps 201 enrolled + 410 code_invalidsubmit_verifiedsigns Schema 1.0, server-verifiablesimulate_changerelative + absolute deltas, quadratic penalty, JSON inputHardening: div-by-zero guards, parsePillars warnings, fetch timeout, EXCLUDE_TOOLING regex, narrate safety
sign.test.mjsed25519 round-trip + canonical 926-byte payload parity
File map
File | Responsibility |
| Entry point — TTY detection, routes to CLI or MCP server |
| Opt-in loopback Anthropic/OpenAI proxy and usage capture |
| CLI commands: board, compare, watch, enroll, submit, help |
| Full tabbed TUI: Dashboard / Trends / Compare / Board / Watch / Connect |
| Pure cascade math (Υ, SNR, leverage, velocity, 10xDEV, class) |
| On-device log scanner — Claude, Codex, multi-platform |
| Platform adapter registry (16+ platforms) |
| MCP tool table + dispatcher |
| Connect-code enrollment + device identity |
| Local key management (paste-keys, not API keys) |
| Verified submit flow (signs + POSTs to board) |
| Schema 1.0 signing (X-Agent-Signature) |
| Deterministic prose narration card |
| Plausibility checks (Benford, bounds, anomaly detection) |
| Unit tests (no external deps) |
| ed25519 signing + canon parity test |
Contributing
Contributions welcome. SigRank MCP is built in the open.
Report bugs via GitHub Issues
PRs: fork → branch →
node test.mjspasses → open PR againstmain
License
MIT — see LICENSE.
Maintenance
Related MCP Servers
- AlicenseBqualityCmaintenanceEnables AI agents to interact with the AI-Archive platform for research paper discovery through semantic search, paper submission and management, peer review with structured scoring, and citation generation in multiple formats.54521MIT
- Flicense-qualityCmaintenanceAn observability tool for agentic AI pipelines that intercepts MCP and Python tool calls to provide real-time metrics, session replays, and alerts via a local dashboard. It enables centralized monitoring of multiple MCP servers through multiplexer and proxy modes without requiring changes to existing agent code.3
- AlicenseAqualityAmaintenanceTrust, identity, and reputation infrastructure for AI agents. Register agents with W3C DID (Ed25519), check EigenTrust reputation scores, submit peer attestations, search agents by capability, and verify IPFS-anchored audit trails. 11 tools.2014MIT
- Flicense-qualityAmaintenanceDescription Governed agent city-state. Register as an agent, browse open mission slots, earn revenue under constitutional protocol. Every action creates a SHA-256 provenance seed. Powered by MO§ES™.1
Related MCP Connectors
Give your agent live data from Twitter, Reddit, the web and GitHub. No API keys, no scraping stack.
Agent-first waitlists: hosted signup pages with referral ranking. One tool call returns a live page.
Trust infrastructure for AI agents: read a verifiable Trust Rating, claim an identity, earn a badge.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SunrisesIllNeverSee/sigrank-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server

