关于 TokenSaver
TokenSaver 是面向 .NET 编码 Agent 的 MCP 服务,通过 Roslyn 为 C# 文件生成类型和成员签名及行范围,帮助 Agent 按需读取代码。它还提供跨文件依赖注入注册搜索和多语言文件压缩。
主要功能
- 01生成 C# 类型与成员签名提纲
- 02提供签名对应的代码行范围
- 03跨项目查找依赖注入注册
- 04无损压缩多种语言文件
适用场景
- 01先了解大型 C# 文件结构再读取方法
- 02定位接口或类型的依赖注入实现
- 03减少编码 Agent 读取源文件的 token 消耗
MCP 相关
TokenSaver 是面向 stdio MCP 客户端的 MCP 服务,向编码 Agent 提供文件提纲、压缩和跨文件依赖注入搜索工具。README 列出了 Visual Studio 2026、Claude Code、VS Code Copilot 和 Claude Desktop 等客户端。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
TokenSaver
面向 .NET AI 编码 Agent 的结构化预热。TokenSaver 不会将整个文件加载到助手中,而是提供一份精简的代码地图——将每个类型和成员表示为签名,并标注其行范围——让模型只读取所需的代码片段,而不是一股脑读完整个文件。基于 Roslyn 编译器平台构建。
适用场景:概览一个文件所需的 Token 比读取整个文件少 70–95%——大型文件最多可减少 90%。端到端收益在更小/更便宜的模型(它们最容易过度读取)和大型代码库上最大:在实际任务中,它可将 Haiku 级模型的 Token 用量减少约 8%,而且文件越大,节省越多。顶级模型本来就能精准读取,因此收益较小——模型越精简,预热的帮助越大。
适用于 Visual Studio 2026(GitHub Copilot Chat)、Claude Code、VS Code Copilot、Claude Desktop,以及任何支持 stdio 的其他 MCP 客户端。
→ 完整文档和设置指南: mcp/README.md
→ 变更日志: CHANGELOG.md
安装
请参阅 tokensavermcp.com/install,了解一键安装按钮、各客户端的配置片段、升级/卸载说明和故障排查。
工具的功能
单文件工具
| 工具 | 功能 | 缩减比例 |
|---|---|---|
OutlineCSharpFile | 每个类型和成员的签名——不含主体。适用于“这个文件里有什么?” | 70–95% |
MinifyFile | 无损精简整个文件——移除注释和空白,不改变逻辑。根据扩展名自动分派(C#、Razor、JS/TS、Python、HTML、CSS、JSON、YAML、XML、C、C++、X++、VB.NET)。 | 20–50% |
* 缩减比例是相对于读取整个文件而言的——在原本会加载整个文件的情况下,这才是真正的替代方案。任务的端到端节省比例较小,因为能力较强的模型本来就会有选择地读取内容;在更小/更便宜的模型和大型文件上,收益最大(见下文的实际 Token 节省)。
跨文件遍历工具
这些工具会在一次调用中扫描整个项目目录——无需事先知道要查看哪个文件。
| 工具 | 功能 |
|---|---|
TraceDiRegistrations | 查找所有引用某个类型(接口或具体类型)的依赖注入注册,并返回精简表格,列出 file:line、方法、ServiceType -> ImplType 和键。回答“IFoo 在哪里绑定,以及绑定到了什么?” |
两者都接受目录路径或 .csproj 文件——会自动排除 obj/ 和 bin/。
实际 Token 节省
以本项目自身的 FocusedEmitter.cs(原始内容为 9,261 个 Token)为基准进行测量:
| 问题类型 | 工具 | 发送的 Token 数 | 缩减比例 |
|---|---|---|---|
| “这个文件里有什么?” | OutlineCSharpFile | 1,039 | 89% |
| “读取一个方法主体” | OutlineCSharpFile + 对 // L.. 范围进行窄范围 Read | ~300 | ~95% |
| “审查整个文件” | MinifyFile | 5,525 | 40% |
这些是单次读取相对于加载整个文件的数值。实际任务中的端到端节省比例较小,因为能力较强的模型本来就会有选择地读取内容——这才是实情:
| 运行 Agent 的模型 | 与不使用工具相比,实际任务节省的 Token |
|---|---|
| 顶级(本来就能精准读取) | ~1% — 微不足道 |
| 中端(Sonnet 级) | ~5–7% |
| 更小/更便宜(Haiku 级) | ~8% |
模型越精简,就越容易自行过度读取——预热能节省的 Token 也越多。对于运行在小型/廉价模型上的 Agent、大型文件,或任何原本需要读取整个文件的工作流,TokenSaver 最值得使用。它不会让顶级模型明显降低成本,也不会让模型写出更好的代码——它减少的是浪费性的读取,而这正是廉价模型的 Token 预算实际消耗之处。
集体影响
每次调用都会计入 tokensavermcp.com——这是一个实时仪表板,展示社区累计节省的 Token 数量。处理的 Token 越少,所需的 GPU 算力就越少,AI 辅助开发产生的碳足迹也越小。
语言支持
| 级别 | 语言 |
|---|---|
| 主要(Roslyn,全面支持) | C# .cs、Razor .razor、VB.NET .vb、.NET 项目文件 .csproj .props .config .xml |
| 基础(移除注释并压缩空白) | JavaScript、TypeScript、Python、HTML、CSS/SCSS/LESS、JSON/JSONC、YAML、C、C++、X++ |
OutlineCSharpFile 和 TraceDiRegistrations 仅支持 C#;MinifyFile 适用于所有受支持的语言。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。