Batchwatch Mcp

io.github.batchwatch由 GitHub 账号 batchwatch 发布v0.1.1更新于 Oct 25, 2026

Ask batchwatch whether to batch a job and get the real measured queue evidence, not a guess.

已验证STDIO仅桌面开发者工具数据与分析

概览

AI 生成的概览

一个本地 MCP 服务器,让助手在决定是否批处理任务前,向 batchwatch 查询实测的 LLM 批处理队列等待证据。

可以做什么
根据模型和自定的最长等待时间,询问任务是否应进入批处理队列,并获得判定、置信度和数据新鲜度。以分布而非单一预计完成时间的形式,估算任务可能的等待时长。对比当前队列状况与近期常态。获取完整的实测等待分布,并查看哪些提供商与模型组合有数据。读取公开的队列流动读数,无密钥时该数据会延迟。
适用场景
当助手即将在 LLM 提供商的异步批处理队列与同步调用之间做选择,且希望依据实测队列证据而非习惯或猜测来决定时使用。
运行要求
以 npm 包形式通过 stdio 在本地运行,需要 Node.js 18 或更高版本。可选环境变量:BATCHWATCH_URL 指定 API 地址,BATCHWATCH_TOKEN 提供 API 密钥,BATCHWATCH_TIMEOUT_MS 设置单次调用超时。需要能访问 batchwatch API 的网络。
安装前请注意
未设置 BATCHWATCH_TOKEN 时数据延迟 15 分钟;更新的实时数据需要该密钥对应的付费层级。服务器是只读代理,不做任何决策,API 失败或超时时返回错误而非数字。查询内容和密钥会发送到 batchwatch API。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Batchwatch Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

batchwatch MCP server

Let an AI agent ask batchwatch "should I batch this job?" instead of guessing.

When a developer asks Claude, Cursor, Cline or any MCP-speaking agent "should I send this to the batch queue or run it synchronously?", this server lets the agent call batchwatch and get the real queue evidence — the measured wait distribution, the current conditions, a graded confidence, and how fresh the data is.

It wraps batchwatch's existing read routes as MCP tools. It is a thin, faithful proxy: it makes no decision and invents no numbers. Every answer is the provider's own JSON, passed through verbatim, carrying the n, confidence, why, basis and freshness the API already returns. If the API is down or slow, the tool returns an error — never a fabricated figure.

Access & tiers — the same gate as the rest of batchwatch

Because it is a faithful proxy, the server runs on the same tiers as the batchwatch API — there is no separate MCP plan and no MCP fast lane. Each tool carries your BATCHWATCH_TOKEN and earns exactly the tier that key earns anywhere else:

  • No token → you read the public data, delayed 15 minutes. You still get every answer — the distribution, the conditions, the verdict — as fresh as the open API serves them.
  • A token → the agent earns that key's tier and its freshness, volume and live behaviour. Live figures are what let an agent route real traffic on the answer, and they are bought here the same way they are bought at the API.

One access model, gated in one place — the batchwatch tier system (see the Tiers, delay, quota and the free trial reference in the batchwatch API docs).

Tools

Each tool maps to a real route in src/index.js (there is deliberately no tradeoff tool — /v1/tradeoff is named in the KRAVSPEC but not built yet, and a tool for a route that does not answer would be exactly the fabricated capability this project refuses to ship).

ToolRouteWhat it answers
should_i_batchGET /v1/should-i-batchGiven a model and your own max_wait, does the batch queue currently honour it? The verdict.
estimate_batchtimeGET /v1/estimate-batchtimeHow long is my job likely to wait? A distribution, never a single ETA.
conditionsGET /v1/conditionsCurrent conditions vs the recent norm — "is it me or them?"
distributionGET /v1/distributionThe full measured wait distribution (the raw evidence).
coverageGET /v1/coverageWhich provider+model combos have data, and how answerable each is.
waitGET /v1/waitThe public "is the queue moving now?" reading (delayed without a key).

batchwatch reports distributions and current conditions, not point ETAs. A personal history of 3-minute medians once produced a 480-minute job; "your job finishes at 14:32" is a lie the one time it matters. The tools' descriptions say so, so the calling model uses the answer correctly.

Install & run

bash
cd mcpnpm installnode index.js       # speaks MCP over stdio

Requires Node ≥ 18 (uses the built-in fetch).

Configuration (environment)

VarDefaultMeaning
BATCHWATCH_URLhttps://batchwatch.devAPI base.
BATCHWATCH_TOKEN(unset)Optional API key. Without it the data is delayed, not absent — you still get answers, just older ones.
BATCHWATCH_TIMEOUT_MS8000Per-call timeout. On timeout the tool errors; it never guesses.

Wiring into a client

Claude Desktop / Cursor / Cline mcpServers entry:

json
{  "mcpServers": {    "batchwatch": {      "command": "node",      "args": ["/absolute/path/to/batchwatch/mcp/index.js"],      "env": { "BATCHWATCH_TOKEN": "tk_your_key_optional" }    }  }}

Tests

bash
npm test                      # offline unit tests (mocked fetch) — deterministicBATCHWATCH_LIVE=1 npm test    # also runs the live smoke against BATCHWATCH_URL

The unit tests assert the load-bearing properties: omitted numeric fields are never sent as 0; the provider JSON is passed through unchanged; only the real routes are exposed (no tradeoff); and an API error yields an error, never a number.

Publishing (registry reach — the point of #57)

The highest-leverage distribution channel for a 2026 dev tool is being the answer an agent reaches for by default. Once this is published so agents can install it, batchwatch wins the call instead of merely being mentioned. Targets: the Anthropic MCP registry, Smithery, and mcp.so. The package is publish-ready (bin: batchwatch-mcp, zero build step); registry submission is tracked on Vikunja task #57.

Why this exists

batchwatch measures how long jobs actually wait in LLM providers' async batch queues. Batch is half price, but "done within 24 hours" cannot be planned around, so most callers pay full price out of habit. This server puts the queue evidence one tool-call away from the agent that is about to make that choice.

来源:mcp/README.md,提交 41f69c2

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.1最新Sep 16, 2026

评分

已满足适用检查项的 40%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。