SigRank MCP server

SigRank MCP server

Exposes the SigRank leaderboard as tools for agents, enabling token-only rank and submit operations with local privacy-first tokenpull reading.

Category
访问服务器

README


type: Reference title: SigRank MCP — CLI + Server description: SigRank MCP exposes the leaderboard as tools any agent can call and provides a unified CLI dashboard. Token-only, no auth, no transcript content. tags: [sigrank, mcp, tokenpull, cli, dashboard, agent, ingest, reference] timestamp: 2026-07-23

SigRank MCP

Dual-mode package: interactive CLI dashboard for operators, MCP stdio server for AI clients.

npm install -g sigrank-mcp
sigrank-mcp          # launches the full tabbed TUI (TTY detected automatically)

CLI — Commands

Default (no args) — full tabbed TUI

sigrank-mcp
sigrank-mcp tui                        # explicit — same thing
sigrank-mcp tui --platform codex       # default platform for Watch tab

Launches the full tabbed TUI. Keys: 1-4 or to switch tabs · R refresh · Q quit.

Tab Key Content
Dashboard 1 Cascade table (all platforms × windows + combined) · Υ sparklines · token composition bars · mini board
Compare 2 4-source pillar audit (tokenpull vs ccusage vs token-dash vs tokscale) · delta % · cascade metrics per source · cache read bar chart
Board 3 Full leaderboard with all fields · [W] cycles window (7d/30d/90d/all)
Watch 4 Live cascade: big numbers + pillar bars + Υ trend · auto-refreshes 30s

board

sigrank-mcp board                      # live leaderboard, auto-refreshes every 30s
sigrank-mcp board --window 7d          # specific window: 7d · 30d · 90d · all
sigrank-mcp board --once               # print once and exit
sigrank-mcp board --window all --once

Full leaderboard view with all board metrics. Columns: # / Codename / Class / SIGNA / SNR / Depth / Tokens / Force / Pct / 7d↕.

me

sigrank-mcp me                         # claude cascade across all 4 windows
sigrank-mcp me --platform codex        # different platform
sigrank-mcp me --compare               # includes raw pillar comparison inline

Single-platform cascade view with narration card.

compare

sigrank-mcp compare                    # claude — tokenpull vs ccusage vs token-dash vs tokscale
sigrank-mcp compare --platform codex   # codex verification

Raw pillar audit across all 4 sources and all 4 windows. Useful for verifying your numbers before submitting. Shows deltas between sources.

watch

sigrank-mcp watch                      # live tune meter, re-reads logs every 30s
sigrank-mcp watch --window 7d          # specific window
sigrank-mcp watch --refresh 60         # custom poll interval (seconds)

Real-time cascade updater — reads local logs on each tick and shows your current metrics.

Options

Flag Default Description
--window 30d (board) · 7d (watch) Time window: 7d · 30d · 90d · all
--platform claude Platform adapter to use
--refresh 30 Poll interval in seconds
--once false Print once and exit (board only)

MCP Server mode

When stdout is not a TTY (i.e. piped to an AI client), sigrank-mcp 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-mcp"]
    }
  }
}

Or if installed globally:

{
  "mcpServers": {
    "sigrank": {
      "command": "sigrank-mcp"
    }
  }
}

MCP Tools

Tool Args What
rank_paste(text) {input, output, cacheCreate, cacheRead} JSON or 4 whitespace-delimited numbers Scores token pillars → Υ Yield / SNR / Leverage / Velocity / 10xDEV / Class + prose narration card
get_leaderboard() {window?} Live board from signalaf.com
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?} Streaming cascade snapshots

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
tokenpull On-device JSONL scanner (canon source) claude, codex, amp, …
ccusage ccusage <platform> daily --json CLI claude, codex
token-dashboard ~/.claude/token-dashboard.db SQLite claude only
tokscale ~/tokscale_report.json export claude, codex

Codex input is estimated — Codex logs don't expose true input tokens directly. The formula:

input       = output × ioRatio         (ioRatio derived from Claude ratio, else 2.0)
cacheCreate = uncached − input         (uncached = input_tokens − cached_input_tokens)
cacheRead   = exact (from logs)

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).

Platform Path Notes
Claude Code ~/.claude/projects Native; dedup by (session_id, message_id); subagents included
Codex ~/.codex/sessions Estimated input via io_ratio; verified vs ccusage
Amp ~/.local/share/amp/threads Full 4-pillar; per-message
Kimi ~/.kimi/sessions Full 4-pillar; StatusUpdate lines only
pi-agent ~/.pi/agent/sessions Full 4-pillar; per-message JSONL
OpenClaw ~/.openclaw Full 4-pillar; per-message JSONL
Droid ~/.factory/sessions/*.settings.json Full 4-pillar; thinking→output
Codebuff ~/.config/manicode Full 4-pillar; chat-messages.json
Hermes ~/.hermes/state.db Full 4-pillar; SQLite; reasoning→output
Kilo ~/.local/share/kilo/kilo.db Full 4-pillar; SQLite
Qwen ~/.qwen/projects cacheCreate=0 estimated; thought→output
Goose ~/.local/share/goose/sessions/sessions.db cacheCreate=cacheRead=0 estimated; SQLite
Gemini CLI ~/.gemini/tmp cacheCreate=0 estimated; cache extracted from input field
GitHub Copilot CLI ~/.copilot/otel OTel JSONL; requires COPILOT_OTEL_ENABLED=true
OpenCode ⚠️ ~/.local/share/opencode Raw 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.
  • No auth required. All board reads and the submit path are anonymous.

Env vars

Var Default Description
SIGRANK_API_BASE https://signalaf.com Override the board host
SIGRANK_FETCH_TIMEOUT_MS 10000 Board API fetch timeout

Dev / test

node test.mjs          # all unit tests
node index.mjs         # stdio MCP server directly

Tests verify:

  • rank_paste canon: MO§ES (1251211, 11296121, 128196310, 2555179769) → Υ 18436.98 · TRANSMITTER
  • Adapter registry (15 platforms)
  • rank_windows 4-window scoring, partial input, no-network
  • watch_tokenpull snapshot shape

File map

File Responsibility
index.mjs Entry point — TTY detection, routes to CLI or MCP server
cli.mjs All terminal UI: dashboard, board, me, compare, watch, help
cascade.mjs Pure cascade math (Υ, SNR, leverage, velocity, 10xDEV, class)
tokenpull.mjs On-device log scanner — Claude, Codex, multi-platform
adapters.mjs Platform adapter registry (15+ platforms)
tools.mjs MCP tool table + dispatcher
narrate.mjs Deterministic prose narration card
test.mjs Unit tests (no external deps)

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选