viberank

io.github.sculptdotfun由 GitHub 帳號 sculptdotfun 發布v1.2.0更新於 Nov 2, 2026

Submit your AI coding usage (Claude Code, Codex, Gemini CLI) to viberank and read the leaderboard.

已驗證STDIO僅桌面開發者工具資料與分析

概覽

AI 產生的概覽

透過 ccusage 讀取本機 AI 程式開發用量,可提交到公開的 viberank 排行榜,並查詢排行榜、個人檔案與站點統計。

可以做什麼
  • 彙整本機 AI 程式開發用量:API 等值成本、token 數、追蹤天數與各工具成本
  • 將用量提交到公開的 viberank 排行榜,設定權杖後可依帳號驗證歸屬
  • 讀取排行榜,可依工具篩選,含排名、成本、token 與驗證狀態
  • 依 GitHub 使用者名稱查詢某位開發者的檔案
  • 讀取全站統計:開發者數量、支出百分位、工具與模型採用情況、每月趨勢
適用情境
適合想了解自己在 Claude Code、Codex、Gemini CLI 等 ccusage 支援工具上的用量換算成 API 價格是多少,並可選擇在 viberank 排行榜上與其他開發者比較的人。
執行需求
以 stdio 方式透過 npx 在本機執行,需要 Node.js 18 以上版本與網路連線:首次執行會下載 ccusage,讀取類工具會連線 viberank.app。可選的 VIBERANK_TOKEN(在 viberank 設定頁建立)用於驗證提交;沒有權杖時提交需提供 GitHub 使用者名稱。
安裝前請注意
submit_to_viberank 會把用量發佈到公開排行榜,並以 GitHub 使用者名稱建立公開檔案,請只在確實要提交時呼叫。它會將 ccusage 報告、匿名機器 ID 以及權杖或使用者名稱傳送到 viberank.app。請妥善保管 VIBERANK_TOKEN;已撤銷的權杖會被拒絕。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 viberank,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

viberank MCP server

Submit your AI coding usage (Claude Code, Codex, Gemini CLI, OpenCode and every other tool ccusage reads) to viberank, and read the leaderboard, from any MCP client.

Install

Claude Code

bash
claude mcp add --scope user viberank -- npx -y viberank-mcp

To have submissions verified and filed under your account automatically, add an API token. Mint one at viberank.app/settings/tokens (sign in with GitHub, then Create token); it starts with vbr_:

bash
claude mcp add --scope user viberank --env VIBERANK_TOKEN=vbr_… -- npx -y viberank-mcp

On native Windows (not WSL), npx has to go through cmd /c:

bash
claude mcp add --scope user viberank -- cmd /c npx -y viberank-mcp

--scope user makes the server available in every project. Check it with claude mcp list.

Claude Desktop

Add this to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop. Leave out the env block if you don't have a token.

json
{  "mcpServers": {    "viberank": {      "command": "npx",      "args": ["-y", "viberank-mcp"],      "env": {        "VIBERANK_TOKEN": "vbr_…"      }    }  }}

On Windows, use cmd /c:

json
{  "mcpServers": {    "viberank": {      "command": "cmd",      "args": ["/c", "npx", "-y", "viberank-mcp"],      "env": {        "VIBERANK_TOKEN": "vbr_…"      }    }  }}

Other MCP clients

Run npx -y viberank-mcp as a stdio server. Node.js 18 or newer.

Which account a submission goes to

  • With a token (VIBERANK_TOKEN, or the one npx viberank-cli login saved in ~/.viberank/config.json): the server files the submission under the token's owner and marks it verified. The MCP server asks viberank who that is before uploading, and the result names that account. No username is needed.
  • Without a token: github_username is required, and it should be your own GitHub handle, because it becomes a public profile. If the agent calls without one, nothing is uploaded. The MCP server suggests a handle instead (the one this machine submitted under before, or the repository's owner when GitHub confirms that's a personal account, never an organization) and the agent asks you to confirm it before calling again. Once a profile is verified, unsigned submissions to it are refused, so nobody else can write to yours.

Tools

get_usage

Runs ccusage@20 daily --json --by-agent locally and returns a summary: API-equivalent cost, tokens, days tracked, date range and cost per tool. Sends nothing. Cached for 5 minutes.

  • force_refresh (boolean, optional): re-run ccusage instead of using the cache.

submit_to_viberank

Uploads your usage to the leaderboard. On success it returns the account it was filed under, your profile URL, your standing (rank, top percentage, tier, and README badge markdown), and next steps the agent can offer: adding the badge to your README, and turning on daily autosubmit with npx viberank-cli login and npx viberank-cli autosubmit.

  • github_username (string): your GitHub username. Required without a token, not needed with one.

get_leaderboard

The current leaderboard: rank, username, cost, tokens, tools and verified status for each entry.

  • limit (integer, optional): 1 to 50, default 10.
  • tool (string, optional): rank only users of one tool, such as claude, codex, gemini, opencode or copilot.

get_profile

One developer's profile: rank, cost, tokens, days tracked, tools and verified status. Says found: false when there's no profile for that username.

  • username (string, required): the GitHub username.

get_stats

Site-wide numbers from /api/stats: developer count, total spend and tokens, monthly spend percentiles, tool and model adoption, the monthly trend and tiers, with methodology and caveats.

Example prompts

  • "What's my AI coding usage?"
  • "Submit my usage to viberank."
  • "Show the top 20 on viberank for Codex."
  • "Look up octocat on viberank."
  • "How does my monthly spend compare with other developers?"

What is sent, and where

Only submit_to_viberank sends your usage, and only to https://www.viberank.app/api/submit. Along with the ccusage report it sends:

  • Authorization: Bearer <token> when you have a token, otherwise X-GitHub-User: <username>.
  • X-Machine-Id: the anonymous random ID in ~/.viberank/machine-id, shared with the CLI and created on first use, so usage from your laptop and desktop adds up instead of overwriting.
  • X-Viberank-Client: mcp/<version>.

The read tools fetch public data from viberank.app. Without a token, submit_to_viberank also asks the GitHub API whether a suggested handle is a personal account; only the handle is sent.

Troubleshooting

  • "VIBERANK_TOKEN is set but is not a viberank token": the variable holds something other than vbr_ plus 43 characters, often the vbr_… placeholder from these docs. Paste the real token or remove the variable.
  • "was rejected by viberank": the token was revoked. Mint a new one at viberank.app/settings/tokens.
  • "a GitHub username is required": there's no token, so tell the agent your GitHub username, or add a token.
  • "No usage found": ccusage found no logs on this machine. Use Claude Code, Codex or another supported tool first.
  • "Could not run ccusage@20": check that npx --version works and that the machine is online; the first run downloads ccusage.

Development

bash
npm installnpm run build    # tsc into dist/npm test         # unit tests, no networknpm run smoke    # starts dist/index.js over stdio and calls the read tools against viberank.appnpm run smoke -- --usage   # also runs get_usage (ccusage, local only)

The smoke test never calls submit_to_viberank.

The package is listed in the MCP registry as io.github.sculptdotfun/viberank (mcpName in package.json, metadata in server.json). Keep the version fields in server.json in step with package.json.

Links

License

MIT

來源:packages/viberank-mcp-server/README.md,提交 1506fcf

工具

5

get_usage

Read the user's local AI coding usage (Claude Code, Codex, Gemini CLI, OpenCode and the other tools ccusage supports) by running ccusage@20 on this machine. Returns a summary: API-equivalent cost in USD, tokens, days tracked, date range and cost per tool. Sends nothing anywhere. Can take a minute on a long history; results are cached for 5 minutes.

輸入參數force_refresh

submit_to_viberank

Upload the user's local usage to the public viberank.app leaderboard. Call it only when the user asked to submit. With a VIBERANK_TOKEN configured, the submission is verified and filed under the token's account, so leave github_username out. Without a token, github_username is required and must be the user's own GitHub handle, confirmed with them, because it becomes a public profile. Called without one, it uploads nothing and suggests a handle to confirm with the user before calling again. On success it returns rank, tier and a README badge you can offer to add.

輸入參數github_username

get_leaderboard

The current viberank leaderboard, ranked by API-equivalent cost. Each entry has rank, username, totalCost (USD), totalTokens, tools, verified, underReview and profileUrl. Pass tool to rank only the users of one tool; get_stats lists the tool slugs.

輸入參數toollimit

get_profile

One developer's viberank profile: global rank, total cost and tokens, days tracked, tools and whether it is verified. Profiles are keyed by GitHub username. Returns found: false when there's no such profile.

輸入參數username必填

get_stats

Site-wide viberank statistics: developer and submission counts, total tokens and API-equivalent cost, monthly spend per developer (median and percentiles), tool and model adoption, the monthly trend and tier counts, with methodology, caveats and a citation line. Use it to compare one developer's spend with everyone else's.

無需輸入參數。

版本歷史

1
  1. v1.2.0最新Oct 26, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分