mcpField
V
viberank

viberank

本地服务
viberank.app数据与分析1212 天前更新

关于 viberank

viberank 是用于提交 AI 编码工具用量并查询 viberank 资料和排行榜的 MCP 服务。它通过 ccusage 在本地读取用量,只有明确提交时才会上传。

主要功能

  1. 01通过 ccusage 读取本地用量
  2. 02向 viberank 提交用量
  3. 03按工具查询排行榜
  4. 04查找开发者资料
  5. 05获取全站统计数据

适用场景

  1. 01查看不同编码工具的用量
  2. 02向排行榜提交用量报告
  3. 03比较排行榜上的 Codex 用户

MCP 相关

该服务提供 MCP 工具,用于读取用量、提交用量,以及获取 viberank 的公开排行榜、资料和统计数据。只有调用提交工具时才会发送用量。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"sculptdotfun-viberank": {
"command": "npx",
"args": [
"-y",
"viberank-mcp"
],
"env": {
"VIBERANK_TOKEN": "<VIBERANK_TOKEN>"
}
}
}
}
启动命令npx -y viberank-mcp
需要配置的环境变量
VIBERANK_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+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmviberank-mcp1.2.0

工具

5

收录的工具列表 · 更新于 2 天前

参数类型必填说明
force_refreshboolean否重新运行 ccusage,而不是使用 5 分钟缓存。

详细介绍

viberank MCP 服务

将你的 AI 编码用量(Claude Code、Codex、Gemini CLI、OpenCode 以及 ccusage 可读取的所有其他工具)提交到 viberank,并通过任意 MCP 客户端查看排行榜。

安装

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 客户端

将 npx -y viberank-mcp 作为 stdio 服务运行。需要 Node.js 18 或更高版本。

提交归属哪个账户

  • 有令牌时(VIBERANK_TOKEN,或由 npx viberank-cli login 保存到 ~/.viberank/config.json 的令牌):服务会将提交归入令牌所有者名下,并标记为已验证。MCP 服务会在上传前询问 viberank 该令牌属于谁,结果会显示该账户。无需提供用户名。
  • 没有令牌时:必须提供 github_username,且应为你自己的 GitHub 用户名,因为它会成为公开个人资料。如果 Agent 未提供用户名就调用,不会上传任何内容。MCP 服务会改为建议一个用户名(此机器之前提交时使用的用户名;或者在 GitHub 确认仓库所有者是个人账户而非组织时,建议该所有者的用户名),并由 Agent 在再次调用前请你确认。个人资料通过验证后,将拒绝向其提交未经签名的数据,因此其他人无法向你的个人资料提交数据。

工具

get_usage

在本地运行 ccusage@20 daily --json --by-agent,并返回摘要:API 等效成本、令牌数、统计天数、日期范围以及各工具的成本。不会发送任何数据。缓存 5 分钟。

  • force_refresh(布尔值,可选):重新运行 ccusage,而不是使用缓存。
submit_to_viberank

将你的用量上传到排行榜。成功后会返回提交归属的账户、个人资料 URL、你的排名情况(排名、百分位、等级和 README 徽章 Markdown),以及 Agent 可以提供的后续操作:将徽章添加到 README,并使用 npx viberank-cli login 和 npx viberank-cli autosubmit 开启每日自动提交。

  • github_username(字符串):你的 GitHub 用户名。没有令牌时必填,有令牌时无需提供。
get_leaderboard

当前排行榜:每条记录的排名、用户名、成本、令牌数、工具和验证状态。

  • limit(整数,可选):1 到 50,默认值为 10。
  • tool(字符串,可选):仅按一种工具筛选排名用户,例如 claude、codex、gemini、opencode 或 copilot。
get_profile

一位开发者的个人资料:排名、成本、令牌数、统计天数、工具和验证状态。如果该用户名没有个人资料,则返回 found: false。

  • username(字符串,必填):GitHub 用户名。
get_stats

来自 /api/stats 的全站数据:开发者数量、总支出和令牌数、月度支出百分位数、工具和模型采用情况、月度趋势和等级,以及相关方法说明与注意事项。

示例提示词

  • “我的 AI 编码用量是多少?”
  • “将我的用量提交到 viberank。”
  • “显示 viberank 上 Codex 的前 20 名。”
  • “查询 octocat 在 viberank 上的资料。”
  • “我的月度支出与其他开发者相比如何?”

发送的内容和发送位置

只有 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 已设置,但不是 viberank 令牌”:变量中包含的内容不是由 vbr_ 加 43 个字符组成的令牌,通常是这些文档中的 vbr_… 占位符。粘贴真实令牌或移除该变量。
  • “被 viberank 拒绝”:令牌已撤销。前往 viberank.app/settings/tokens 创建新令牌。
  • “需要 GitHub 用户名”:你没有令牌,因此请告知 Agent 你的 GitHub 用户名,或添加令牌。
  • “未找到使用记录”:ccusage 在这台机器上没有找到日志。请先使用 Claude Code、Codex 或其他受支持的工具。
  • “无法运行 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 registry 中列出,名称为 io.github.sculptdotfun/viberank(package.json 中的 mcpName,元数据位于 server.json)。确保 server.json 中的 version 字段与 package.json 保持一致。

链接

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。