# mcp-cost-tracker-router 中文文档

规范地址：https://npmcn.com/package/mcp-cost-tracker-router/

版本：1\.0\.1
npm 元数据更新时间：2026-11-04T02:15:18.725Z
中文译文更新时间：2026-11-04T03:48:31.199Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/mcp-cost-tracker-router
原文对照：https://npmcn.com/package/mcp-cost-tracker-router/?lang=original
项目主页：https://github.com/dbsectrainer/mcp-cost-tracker-router#readme
源码仓库：https://github.com/dbsectrainer/mcp-cost-tracker-router

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：112 kB，43 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=20\.19\.0
- 运行依赖：6 个
- 首次发布：2026-03-23T19:56:21.938Z
- 最新版本发布：2026-11-04T02:15:18.525Z
- 已发布版本数：2（近 12 个月 2 个）

## 中文简介

MCP代理工作流的实时成本意识

## 安装

```sh
npm install mcp-cost-tracker-router
```

也可以使用：`pnpm add mcp-cost-tracker-router`、`yarn add mcp-cost-tracker-router`、`bun add mcp-cost-tracker-router`

## README

# MCP成本跟踪器和路由器

npm `mcp-cost-tracker-router` 包

MCP代理工作流的本地优先成本意识。令牌计数是使用js-tiktoken离线计算的-没有代理，没有API往返，没有花费数据离开您的机器。当成本攀升时，在发票到达之前，路由建议会把你指向更便宜的型号。

[参考工具](https://npmcn.com/package/mcp-cost-tracker-router/#readme-tools) | [配置](https://npmcn.com/package/mcp-cost-tracker-router/#readme-configuration) | [贡献](https://npmcn.com/package/mcp-cost-tracker-router/#readme-contributing) | [故障排除](https://npmcn.com/package/mcp-cost-tracker-router/#readme-troubleshooting)

## 关键特性

-   **每件刀具成本细目**查看哪些工具调用消耗了最多的令牌和预算。
-   **预算警报**设置一个会话消费阈值，并在超过阈值之前收到80%和100%的警告。
-   **离线令牌计数**：使用js-tiktoken进行准确计数-不需要API调用。
-   **模型路由建议**：为当前任务类型推荐更便宜的模型（建议，没有选择加入就不会强制执行）。
-   **Multi-provider定价**：从单个可配置的价格表跟踪Claude、OpenAI和Gemini模型的成本。
-   **花的历史**：按模型或工具查询每日、每周和每月的总数。
-   **项目费用分摊**：将会话标记为指定项目并生成退款报告。
-   **HTML支出报告**：导出带有图表和预算状态的单文件、自包含HTML报告。
-   **审计日志**：每个预算执行决定的附加日志。

## 为什么不选择基于代理的成本跟踪？

大多数成本跟踪工具通过将所有API流量路由到它们的服务器并在服务器端测量令牌来工作。这意味着您的提示和响应传输第三方服务，您依赖于他们的正常运行时间。

|  | mcp-cost-tracker-router | 基于代理的跟踪器（Helicone， LLMonitor等） |
| --- | --- | --- |
| 令牌数 | 通过js-tiktoken离线-没有网络呼叫 | 代理流量后服务器端计数 |
| 数据居住 | 仅本地SQLite | 提示+响应通过供应商服务器传递 |
| 模型的路由 | 内置的 `suggest_model_routing` 工具 | 很少包括;通常是一个单独的付费层 |
| Multi-provider | Claude, OpenAI， Gemini在一个价格表中 | 通常是单个提供者或需要单独设置 |
| 正常运行时间依赖性 | 无-完全脱机 | 如果代理宕机，则中断 |

如果您的提示包含敏感信息，或者您不能通过第三方路由流量，那么这就是正确的工具。如果您需要具有团队共享功能的托管仪表板，那么基于代理的服务可能更适合您。

## 免责声明

`mcp-cost-tracker-router` 在SQLite中本地存储工具调用元数据（令牌计数、模型名称、时间戳）。它不存储提示或响应内容。成本计算是根据当地价格表估算的，可能与供应商的发票不完全匹配。

## 需求

-   Node.js v20.19或更新版本。
-   npm。

## 开始

在MCP客户端中添加以下配置：

```json
{
  "mcpServers": {
    "cost-tracker": {
      "command": "npx",
      "args": ["-y", "mcp-cost-tracker-router@latest"]
    }
  }
}
```

设置会话预算警报。

```json
{
  "mcpServers": {
    "cost-tracker": {
      "command": "npx",
      "args": ["-y", "mcp-cost-tracker-router@latest", "--budget-alert=5.00"]
    }
  }
}
```

### MCP客户端配置

Amp·Claude Code·Cline·Cursor·VS Code·Windsurf·Zed

## 你的第一个提示

在您的MCP客户端中输入以下内容以验证一切正常：

```
How much has this session cost so far?
```

您的客户端应该返回当前会话的令牌和美元成本摘要。

## 工具

### 会话（4个工具）

-   `get_session_cost` -返回当前会话的令牌总数和美元成本估算。只读的。
-   `get_tool_costs` -返回会话的每个工具成本分解，按成本递减排序。只读的。
-   `reset_session` -开始一个新的成本跟踪会话。以前的会话数据将保留在历史记录中。
-   `record_usage` —记录工具调用令牌的使用情况。需要 `tool_name`， `model` (可选), `input_tokens`, `output_tokens`． 如果达到阈值的80%，则发出预算警告通知。

### 预算和路线（3个工具）

-   `set_budget_alert` —设置预算阈值，单位为美元(`threshold_usd`）. 在阈值的80%和100%发出警告。使用 `--enforce-budget` 阻止超出限制的呼叫。
-   `suggest_model_routing` -根据任务类型进行启发式模型推荐。需要 `task_description` 和可选的 `constraints.max_cost_usd`． 返回推荐模型的推理和估计成本。
-   `check_routing_policy` —检查路由策略下的某个任务类型是否允许使用某个模型。需要 `task_type` 和 `model`。

### 历史记录和报告（4个工具）

-   `get_spend_history` —按统计方式查询历史支出 `period` （`day`/`week`/`month`）. 按模型和工具返回细分。只读的。
-   `estimate_workflow_cost` -多步骤工作流程的预运行成本估算。需要一个 `steps` 数组 `tool_name`， `estimated_input_tokens`， `estimated_output_tokens`，可选 `model`． 只读的。
-   `export_spend_report` 生成单文件的HTML支出报告，其中包含会话细分、历史支出、模型成本比较和预算状态。只读的。
-   `export_budget_audit` —导出预算执行决策的审计日志。接受可选 `from_date`， `to_date`, `format` （`json`/`csv`）. 只读的。

### 项目分配（4个工具）

-   `set_project` 创建或更新项目 `budget_usd`． 需要 `project_name`。
-   `tag_session` —用a标记当前会话 `project_name` 用于成本分配。
-   `get_project_costs` 获取项目成本报告。需要 `project_name` 和可选的 `since` (ISO日期)。只读的。
-   `export_chargeback` -为内部账单生成退款报告。需要 `from_date`， `to_date`、可选 `group_by` （`project`/`session`)，可选 `format` （`json`/`csv`）. 只读的。

## 配置

### `--budget-alert`

会话花费阈值（以美元计算）。当会话成本达到该阈值的80%和100%时，将返回警告。

类型: `number`

### `--db` / `--db-path`

用于存储成本历史记录的SQLite数据库文件的路径。

类型: `string` 默认值: `~/.mcp/costs.db`

### `--pricing-table`

包含自定义模型定价（$/1K令牌）的JSON文件的路径。与内置表合并；缺失的模型会回到默认值。

类型: `string`

### `--default-model`

当不能从上下文中推断出任何模型时，属性成本的模型名称。

类型: `string` 默认值: `claude-sonnet-4-6`

### `--enforce-budget`

阻止可能导致会话超出预算警报阈值的工具调用。需要 `--budget-alert` 待设置。

类型: `boolean` 默认值: `false`

### `--http-port`

以HTTP模式启动，使用Streamable HTTP传输而不是stdio。对于跨团队共享单个成本跟踪实例非常有用。

类型: `number` 默认值：禁用（使用stdio）

传递标志 `args` 属性在JSON配置中：

```json
{
  "mcpServers": {
    "cost-tracker": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-cost-tracker-router@latest",
        "--budget-alert=2.00",
        "--enforce-budget"
      ]
    }
  }
}
```

## 支持的型号和定价

内置价格表（每1K代币美元）：

| 模型 | 输入 | 输出 |
| --- | --- | --- |
| claude-opus-4-6 | 0.0150美元 | 0.0750美元 |
| claude-sonnet-4-6 | 0.0030美元 | 0.0150美元 |
| claude-haiku-4-5 | 0.0008美元 | 0.0040美元 |
| gpt-4o | 0.0025美元 | 0.0100美元 |
| gpt-4o-mini | 0.000150美元 | 0.000600美元 |
| 双子座- 1.5 - pro | 0.001250美元 | 0.005000美元 |
| 双子座- 1.5 - flash | 0.000075美元 | 0.000300美元 |
| 双子座- 2.0 - flash | 0.000100美元 | 0.000400美元 |

覆盖单个型号的价格 `--pricing-table`． 所有费用都是估算。

## 验证

在发布新版本之前，请使用MCP Inspector验证服务器，以确认所有工具都正确公开并且协议握手成功。

**交互式用户界面** (打开浏览器):

```bash
npm run build && npm run inspect
```

**CLI模式** （脚本/ ci友好）：

```bash
# List all tools
npx @modelcontextprotocol/inspector --cli node dist/index.js --method tools/list

# List resources and prompts
npx @modelcontextprotocol/inspector --cli node dist/index.js --method resources/list
npx @modelcontextprotocol/inspector --cli node dist/index.js --method prompts/list

# Call a read-only tool
npx @modelcontextprotocol/inspector --cli node dist/index.js \
  --method tools/call --tool-name get_session_cost

# Call record_usage with arguments
npx @modelcontextprotocol/inspector --cli node dist/index.js \
  --method tools/call --tool-name record_usage \
  --tool-arg tool_name=my_tool --tool-arg input_tokens=500 --tool-arg output_tokens=200
```

在发布之前运行，以在工具注册和运行时启动时捕获回归。

## 贡献

更新 `src/pricing.ts` 当新型号发布时。所有成本计算更改必须包括具有已知令牌计数和预期美元值的单元测试。路由建议参见 `src/tools/routing.ts`。

```bash
npm install && npm test
```

## MCP注册和市场

此插件可用于：

-   [MCP注册表](https://registry.modelcontextprotocol.io/)
-   [MCP市场](https://mcpmarket.com/)

搜索 `mcp-cost-tracker-router`。

## 常见问题

### mcp-cost-tracker-router 是什么？

MCP代理工作流的实时成本意识

### 如何安装 mcp-cost-tracker-router？

在项目目录运行 npm install mcp-cost-tracker-router，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 mcp-cost-tracker-router，可以用 npx mcp-cost-tracker-router 直接运行。

### mcp-cost-tracker-router 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/mcp-cost-tracker-router 是否存在。

### mcp-cost-tracker-router 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### mcp-cost-tracker-router 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=20\.19\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### mcp-cost-tracker-router 可以商用吗？

mcp-cost-tracker-router 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### mcp-cost-tracker-router 还在维护吗？

最新版本 1\.0\.1 发布于 2026/11/04（今天）；至今共发布 2 个版本，其中过去 12 个月发布了 2 个；首次发布于 2026/03/24。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

