Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Verifies token/cost savings claimed by AI context-reduction proxies via MCP tools.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"tokentrust": {
"command": "uvx",
"args": [
"tokentrust-cli",
"tokentrust",
"mcp"
]
}
}
}ターミナルでこれを実行します
claude mcp add tokentrust -- uvx tokentrust-cli tokentrust mcpプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"tokentrust": {
"command": "uvx",
"args": [
"tokentrust-cli",
"tokentrust",
"mcp"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"tokentrust": {
"type": "stdio",
"command": "uvx",
"args": [
"tokentrust-cli",
"tokentrust",
"mcp"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント RudrenduPaul で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.3.4)がレジストリに届いたのは3 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Starreel
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Turn a script into a finished, downloadable short-drama episode — via MCP or REST.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Install • What it measures • Commands • Agent-native / MCP • FAQ
Vendor-neutral CLI that independently verifies the token and cost savings AI-coding-agent context-reduction proxies actually deliver, by running the proxy for real against a labeled task corpus instead of trusting the maintainer's own number.
TokenTrust ships as two complementary, equally first-class distributions: an npm package for Node.js toolchains and a PyPI package for Python toolchains. Both install a tokentrust command with the identical CLI surface, the same TT01-TT05 verification categories, and the same bundled task corpus, so pick whichever matches your existing stack.
npm (Node.js):
npx tokentrust-cli verify --proxy rtk
No clone, no local build. npx fetches the published package and runs it directly. To install it as a dependency instead: npm install -g tokentrust-cli.
pip (Python):
pip install tokentrust-cli
tokentrust verify --proxy rtk
See python/README.md for the Python package's full documentation, including a note on the one real behavioral difference between the two: the npm package's js-tiktoken dependency bundles its tokenizer data for fully offline use, while the Python package's tiktoken dependency fetches and caches that same public data on first use.
Real output from that exact command, run against this repo's own bundled task corpus:
$ npx tokentrust-cli verify --proxy rtk
TokenTrust v0.1 -- Token/Context-Reduction Claims Verification Proxy: rtk 0.43.0 | Repo: TokenTrust | Task corpus: 23 labeled tasks
[MEASURED] TT01 Compression Ratio Claimed (rtk README): up to 70% context reduction Measured (this repo, this corpus): 60.6% average reduction across 23 tasks Range: 0.0% ("verify-go-build-filter") to 95.4% ("verify-git-log-filter")
[MEASURED] TT02 Cost-Savings Delta Baseline (uncompressed): $0.02 across 23 tasks @ claude-5-sonnet pricing Compressed (rtk-proxied): $0.00 across 23 tasks Actual savings: 77.0% ($0.01) -- vs. claimed 70% ceiling
[FAIL] TT03 Never-Worse Output Guard 2/23 tasks regressed in task-completion diff vs. uncompressed baseline
[PASS] TT05 Version-Drift Regression Check No prior verified baseline for rtk on this repo -- this run establishes the first baseline.
Summary: 77.0% measured cost savings (claimed: up to 70%) -- see full report
That's a real run's output, not a hand-typed example -- npx tokentrust-cli invokes the exact same dist/cli.js entry point (the tokentrust command name is unchanged), so it reproduces on your machine with no clone required.
js-tiktoken), against every task in the corpus.--live mode verifies the estimate against a real, provider-billed sample (opt-in, your own API key, gated behind --confirm-cost, capped at 5 tasks by default).--proxy more than once and TokenTrust runs the identical task corpus through every named proxy side by side.rtk#582) gets caught automatically.tokentrust verify --proxy <name> [options]
| Flag | Description |
|---|---|
--proxy | Proxy to verify. Repeatable, pass it more than once to run TT04's cross-tool comparison. Supported: rtk, headroom. Required. |
--repo | Repo to measure against. Defaults to the current directory. |
--tasks | Task corpus YAML file. Defaults to the bundled 23-task corpus. |
--live | Sample real, provider-billed tokens for the first proxy instead of estimating from pricing tables. Requires --confirm-cost. |
--confirm-cost | Confirms the estimated spend --live prints before any real API call is made. |
--live-max-tasks | Max tasks sampled in --live mode. Defaults to 5. |
--format | Report output format. Defaults to terminal. |
-h, --help | Show the help message and exit. |
This table (and the tokentrust mcp reference below) is verified against the actual --help output of the published tokentrust-cli package, not an old copy. One known gap between that live --help text and the table above is called out directly in the FAQ, instead of silently repeating it.
--format json gives every category's claimed-vs-measured numbers as structured data, so a script or agent can pull the comparison straight out with jq instead of parsing terminal text:
Exit code is 0 when the run completes with no gated failure, non-zero otherwise. The bundled GitHub Action's --fail-on-regression maps that straight to a failed CI step, so a version-drift regression breaks the build instead of shipping silently.
Add it to CI with the bundled GitHub Action (action/action.yml) so verification reruns automatically whenever a proxy's version bumps:
- uses: RudrenduPaul/TokenTrust-CLI@main
with: proxy: rtk fail-on-regression: 'true' cli-version: ' '
Pin cli-version explicitly rather than relying on the Action's default. The Action deliberately does not support latest for this input: pinning is a supply-chain safeguard, so a compromised npm publish can't reach every workflow using this Action on its very next run without a deliberate version bump on your part. The Action's own default for this input is an early pre-TT04/TT05/MCP release -- omitting cli-version runs that old version, not the one this README documents.
TokenTrust ships in the same dual CLI + MCP-server mode as Semgrep, Trivy, Snyk, and SonarQube: one binary, one underlying verification engine, and a second, thin front door for agents that speak MCP (Model Context Protocol) instead of a shell. tokentrust mcp starts an MCP server over stdio, exposing a single tool, verify_proxy_savings, that calls straight into the same runVerify() engine tokentrust verify uses -- no verification logic is duplicated, and the tool returns the exact structured JSON report --format json already produces.
npx tokentrust-cli mcp
Point the client's server config at this binary with the mcp argument. For Claude Code, Claude Desktop, or any other client that reads an mcpServers block:
{
"mcpServers": { "tokentrust": { "command": "npx", "args": ["tokentrust-cli", "mcp"] } } }
| Field | Description |
|---|---|
verify_proxy_savings | Tool name. Mirrors verify's flags one-for-one, minus --format -- an MCP call is always machine-facing, so the tool always returns the structured JSON report. |
proxy (required) | A single proxy name ("rtk") or an array (["rtk", "headroom"]) to run the TT04 cross-tool comparison in one call. Supported: rtk, headroom. |
repo | Same as --repo. Defaults to the MCP server process's current working directory. |
tasks | Same as --tasks. Defaults to the bundled task corpus. |
live / confirmCost | Same --live/--confirm-cost safety gate as the CLI: no live, provider-billed API call is made unless BOTH are explicitly true in the same call. Neither has a default of true. |
liveMaxTasks | Same as --live-max-tasks. Defaults to 5. |
This is the tool's real, unedited tools/list schema, captured from a running tokentrust mcp server (inputSchema trimmed of per-field descriptions here for length; the live server returns them in full):
{
"name": "verify_proxy_savings", "title": "Verify proxy token/cost savings", "inputSchema": { "type": "object", "properties": { "proxy": { "anyOf": [{ "type": "string", "enum": ["rtk", "headroom"] }, { "type": "array", "items": { "type": "string", "enum": ["rtk", "headroom"] }, "minItems": 1 }] }, "repo": { "type": "string" }, "tasks": { "type": "string" }, "live": { "type": "boolean" }, "confirmCost": { "type": "boolean" }, "liveMaxTasks": { "type": "integer", "exclusiveMinimum": 0 } }, "required": ["proxy"] } }
A real tools/call against this repo, {"name": "verify_proxy_savings", "arguments": {"proxy": "rtk"}}, returns the same shape as the CLI's --format json output (trimmed here; the live call returns the full records array with TT01/TT02/TT05 entries):
{
"content": [ { "type": "text", "text": "{\n \"run_id\": \"tt_2026-07-18_f88644\",\n \"repo\": \"...\",\n \"task_corpus_size\": 23,\n \"proxies\": [\"rtk\"],\n \"records\": [ /* TT01, TT02, TT05 -- same shape as verify --format json */ ],\n \"tt03\": { \"rtk\": { \"pass\": false, \"regressed_count\": 2, \"task_corpus_size\": 23 } },\n \"tt05\": { \"rtk\": { \"pass\": true, \"message\": \"No regression vs. last-verified rtk 0.43.0 baseline (stored 2026-07-18).\", \"prior_run_id\": \"tt_2026-07-18_608b74\", \"degraded\": false } }\n}" } ], "isError": false }
isError is true (with no report) whenever the underlying runVerify() call itself would have exited non-zero on the CLI -- a missing proxy binary, an invalid task corpus, or the --live safety gate refusing an under-confirmed call. Progress output and the trace log tokentrust verify normally prints to stdout are rerouted to stderr in MCP mode, since stdout is the live JSON-RPC wire once a stdio transport is connected.
| Proxy | Status |
|---|---|
rtk | Fully supported: real subprocess-based verification (rtk pipe --filter for stdin-shaped tasks, rtk read -l aggressive for file-based tasks). |
headroom | Recognized (--proxy headroom is a valid flag value), not yet supported. headroom is an HTTP proxy server, not a one-shot compression CLI, so the current subprocess-based harness can't drive it. tokentrust verify --proxy headroom prints a message and skips it instead of failing silently. |
| What it does | Ongoing / self-serve | Verifies a specific claim |
|---|
| TokenTrust | Runs a named proxy against a labeled task corpus, measures rea
冒頭だけを表示しています。続きはリポジトリで読めます