mcpField
T
token-report

token-report

github.com/codewithmukeshAgent 工作流829387 次安装1 周前更新
代码仓库

关于 token-report

用于评估 Roslyn MCP server token 节省效果的技能,提供会话内工具和跨仓库统计 CLI。它强调数据采集需显式启用,并要求在引用结果时说明估算局限。

主要功能

  1. 01汇总 MCP 工具的 token 节省数据
  2. 02按工具展示调用与节省情况
  3. 03统计跨仓库数据并导出多种格式
  4. 04校准 token 估算系数
  5. 05说明采集状态与统计局限

适用场景

  1. 01判断 MCP server 是否值得其上下文开销
  2. 02找出未被调用的工具
  3. 03为 token 效率声明提供可核查数据
  4. 04比较不同仓库的工具采用情况

MCP 相关

可在 Roslyn MCP server 会话中调用 get_token_savings 查看当前仓库统计;CLI 汇总多个仓库的数据。遥测默认关闭,启用后记录保存在本地。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/codewithmukesh/dotnet-claude-kit --skill token-report

安装后在 Claude Code 中输入/token-report确认已加载。

详细介绍

/token-report — Roslyn Navigator 令牌节省情况

内容

报告 Roslyn MCP 服务实际节省的令牌量,基于测量而非声称。 提供两个界面:

范围界面适用场景
当前仓库,会话期间get_token_savings MCP 工具“我们这里表现如何?”
所有仓库,汇总CWM.RoslynNavigator.Stats CLI生成公开数据

适用场景

  • 判断 MCP 服务是否值得消耗上下文
  • 找出无人调用的工具——是描述有问题,还是工具本就不该存在
  • 用可核查的数据支撑有关令牌效率的说法

前提条件

数据收集需主动启用,默认关闭。 除非启动服务时启用了数据收集,否则不会记录任何内容:

CWM_ROSLYN_TELEMETRY=on cwm-roslyn-navigator --solution MySolution.sln

不会传输任何数据。记录写入 %LOCALAPPDATA%/cwm-roslyn-navigator/(或对应的 XDG 目录),位于仓库之外。删除该目录即可清除所有内容。

采用率从 Claude Code 转录记录中读取,无需主动启用,因此即使从未启用遥测,也可以获取。

使用方法

1 — 当前仓库,会话期间。 调用 get_token_savings MCP 工具。返回总计、按工具排名的列表、零结果/未就绪/错误的单独计数,以及计算方法。如果报告显示 Enabled: false,说明从未启用遥测——应如实说明,而不是把零报告成测量结果。

2 — 所有仓库。

cd mcp/CWM.RoslynNavigator
dotnet run --project stats/CWM.RoslynNavigator.Stats.csproj            # table
dotnet run --project stats/CWM.RoslynNavigator.Stats.csproj -- --markdown
dotnet run --project stats/CWM.RoslynNavigator.Stats.csproj -- --json
dotnet run --project stats/CWM.RoslynNavigator.Stats.csproj -- --repo myapp

3 — 诚实解读。 引用任何数字时,都必须说明以下三点:

  • 除数未经校准。 每个令牌按 3.5 字节估算,并会按比例影响所有数据。如果 DivisorCalibrated 为 false,该数字仅供参考,并不精确。
  • 基准值偏低。 它只统计答案所依据的文件,忽略文本搜索最初可能打开的错误文件。
  • 采用率偏高。 其分母仅统计可明确判定目标为 C# 的 Read/Grep/Glob 调用;含糊的搜索不计入。

4 — 根据排名采取行动。 没有调用记录的工具才是值得采取行动的发现。在已配置的仓库中,采用率低通常意味着工具描述未能吸引本应使用该工具的工作——这比节省量本身更有参考价值。

校准除数

将单一估算输入转化为测量结果。免费、手动执行,服务本身绝不会运行:

dotnet run --project stats/CWM.RoslynNavigator.Stats.csproj -- calibrate \
  --api-key $ANTHROPIC_API_KEY --path /path/to/dotnet/repo --sample 200

对 C# 文件进行抽样,通过 Anthropic count_tokens 端点获取精确计数,并对字节数与令牌数进行回归分析。将结果应用于服务中的 TokenEstimator,并在常量旁记录样本量和 R²,以便核查该数据。

示例

  Repositories        3  (1 with telemetry)
  Tool calls          412
  Tokens saved        1,284,000
  Adoption            68%

  Tool leaderboard
  tool                  calls      saved   p50 ms  0-result
  find_references         180    612,000       84        4%
  find_symbol             150    431,000       22        2%

  Never called (2): get_nuget_packages, resolve_stack_trace
  Divisor: 3.5 bytes/token — UNCALIBRATED estimate.

如果从未调用过服务,报告会明确说明,而不是打印零——“没有调用”和“没有节省”是两种不同的发现。

相关内容

  • /verify — PR 合并前的质量门禁
  • /health-check — 代码库健康度评级

评论

支持 Markdown