viberank について
viberankは、AIコーディングツールの使用状況を送信し、viberankのプロフィールやランキングを照会するMCPサーバーです。ccusageでローカルの使用状況を読み取り、送信を依頼された場合のみアップロードします。
主な機能
- 01ccusageでローカル使用状況を取得
- 02viberankへの使用状況送信
- 03ツール別ランキングの照会
- 04開発者プロフィールの検索
- 05サイト全体の統計取得
活用シーン
- 01複数のコーディングツールの使用状況を確認
- 02使用状況レポートをランキングに送信
- 03ランキングでCodex利用者を比較
MCP 対応
使用状況の取得と送信、viberankの公開ランキング・プロフィール・統計の取得に使えるMCPツールを提供します。使用状況が送信されるのは送信ツールを呼び出した場合のみです。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y viberank-mcpVIBERANK_TOKENシークレットOptional API token from https://www.viberank.app/settings/tokens. Signs submissions so they are verified and filed under your account.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
5掲載時のツール一覧 · 2 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| force_refresh | boolean | いいえ | 5 分間のキャッシュを使わず、ccusage を再実行します。 |
詳細
viberank MCP サーバー
あらゆる MCP クライアントから、AI コーディングの使用状況(Claude Code、Codex、Gemini CLI、OpenCode、その他 ccusage が読み取るすべてのツール)を viberank に送信し、リーダーボードを確認できます。
インストール
Claude Code
claude mcp add --scope user viberank -- npx -y viberank-mcp
送信内容を検証し、自動的にアカウントに登録するには、API トークンを追加します。viberank.app/settings/tokens でトークンを発行してください(GitHub でサインインし、Create token を選択)。トークンは vbr_ で始まります。
claude mcp add --scope user viberank --env VIBERANK_TOKEN=vbr_… -- npx -y viberank-mcp
ネイティブの Windows(WSL ではない環境)では、npx を cmd /c 経由で実行する必要があります。
claude mcp add --scope user viberank -- cmd /c npx -y viberank-mcp
--scope user を指定すると、すべてのプロジェクトでサーバーを利用できます。claude mcp list で確認してください。
Claude Desktop
これを claude_desktop_config.json(macOS:~/Library/Application Support/Claude/、Windows:%APPDATA%\Claude\)に追加し、Claude Desktop を再起動します。トークンがない場合は、env ブロックを省略してください。
{
"mcpServers": {
"viberank": {
"command": "npx",
"args": ["-y", "viberank-mcp"],
"env": {
"VIBERANK_TOKEN": "vbr_…"
}
}
}
}
Windows では、cmd /c を使用してください。
{
"mcpServers": {
"viberank": {
"command": "cmd",
"args": ["/c", "npx", "-y", "viberank-mcp"],
"env": {
"VIBERANK_TOKEN": "vbr_…"
}
}
}
}
その他の MCP クライアント
stdio サーバーとして npx -y viberank-mcp を実行します。Node.js 18 以降が必要です。
送信先のアカウント
- トークンがある場合(
VIBERANK_TOKEN、またはnpx viberank-cli loginによって~/.viberank/config.jsonに保存されたトークン):サーバーはトークンの所有者のアカウントに送信内容を登録し、検証済みとしてマークします。アップロード前に MCP サーバーが viberank に所有者を問い合わせ、結果にそのアカウントが表示されます。ユーザー名は不要です。 - トークンがない場合:
github_usernameが必須です。公開プロフィールになるため、自分自身の GitHub ハンドルを指定してください。エージェントが指定せずに呼び出した場合、何もアップロードされません。代わりに MCP サーバーがハンドルを提案します(以前このマシンから送信した際のもの、または GitHub により個人アカウントと確認されたリポジトリの所有者。組織は対象外)。その後、エージェントが再度呼び出す前に確認を求めます。プロフィールが検証されると、そのプロフィールへの署名なしの送信は拒否されるため、他の人があなたのプロフィールに書き込むことはできません。
ツール
get_usage
ローカルで ccusage@20 daily --json --by-agent を実行し、API 換算コスト、トークン数、追跡日数、日付範囲、ツールごとのコストの概要を返します。情報は送信されません。5 分間キャッシュされます。
force_refresh(boolean、任意):キャッシュを使用せず、ccusage を再実行します。
submit_to_viberank
使用状況をリーダーボードにアップロードします。成功すると、登録先のアカウント、プロフィール URL、順位(ランク、上位パーセンテージ、ティア、README バッジの Markdown)、およびエージェントが提案できる次の手順が返されます。次の手順には、README へのバッジの追加と、npx viberank-cli login および npx viberank-cli autosubmit による毎日の自動送信の有効化が含まれます。
github_username(string):GitHub ユーザー名。トークンがない場合は必須で、トークンがある場合は不要です。
get_leaderboard
現在のリーダーボードです。各エントリーのランク、ユーザー名、コスト、トークン数、ツール、検証状況を表示します。
limit(integer、任意):1~50。デフォルトは 10 です。tool(string、任意):claude、codex、gemini、opencode、copilotなど、1 つのツールを使うユーザーのみをランク付けします。
get_profile
開発者 1 人のプロフィールです。ランク、コスト、トークン数、追跡日数、ツール、検証状況を表示します。そのユーザー名のプロフィールがない場合は found: false を返します。
username(string、必須):GitHub ユーザー名。
get_stats
/api/stats のサイト全体の数値です。開発者数、総支出額とトークン数、月間支出額のパーセンタイル、ツールとモデルの採用状況、月ごとの推移とティアを、算出方法や注意事項とともに表示します。
プロンプトの例
- 「AI コーディングの使用状況を教えてください。」
- 「使用状況を viberank に送信してください。」
- 「Codex の viberank 上位 20 名を表示してください。」
- 「viberank で octocat を調べてください。」
- 「月間支出額を他の開発者と比較するとどうなりますか?」
送信される内容と送信先
使用状況を送信するのは submit_to_viberank のみで、送信先も https://www.viberank.app/api/submit のみです。ccusage のレポートとともに、次の内容が送信されます。
- トークンがある場合は
Authorization: Bearer <token>、ない場合はX-GitHub-User: <username>。 X-Machine-Id:~/.viberank/machine-idに保存される匿名のランダム ID です。CLI と共有され、初回使用時に作成されます。これにより、ノートパソコンとデスクトップの使用状況が上書きされずに合算されます。X-Viberank-Client: mcp/<version>。
読み取りツールは、viberank.app から公開データを取得します。トークンがない場合、submit_to_viberank は GitHub API に問い合わせて、提案されたハンドルが個人アカウントかどうかも確認します。送信されるのはハンドルのみです。
トラブルシューティング
- 「VIBERANK_TOKEN is set but is not a viberank token」:変数に
vbr_と43文字以外のものが設定されています。これらのドキュメントにあるvbr_…のプレースホルダーが設定されている場合によく発生します。本物のトークンを貼り付けるか、変数を削除してください。 - 「was rejected by viberank」:トークンが取り消されています。viberank.app/settings/tokens で新しいトークンを作成してください。
- 「a GitHub username is required」:トークンがありません。エージェントに GitHub のユーザー名を伝えるか、トークンを追加してください。
- 「No usage found」:ccusage がこのマシン上にログを見つけられませんでした。まず Claude Code、Codex、またはその他の対応ツールを使用してください。
- 「Could not run ccusage@20」:
npx --versionが動作することと、マシンがオンラインであることを確認してください。初回実行時に ccusage がダウンロードされます。
開発
npm install
npm run build # tsc into dist/
npm test # unit tests, no network
npm run smoke # starts dist/index.js over stdio and calls the read tools against viberank.app
npm run smoke -- --usage # also runs get_usage (ccusage, local only)
スモークテストから submit_to_viberank が呼び出されることはありません。
このパッケージは MCP レジストリ(https://registry.modelcontextprotocol.io)に io.github.sculptdotfun/viberank として登録されています(package.json の mcpName、server.json のメタデータ)。server.json の version フィールドは、package.json と一致させてください。
リンク
- viberank
- ソース
- 問題
- viberank-cli:ターミナルからの送信と毎日の自動送信に使用します。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。