{ "name": "@ooples/token-optimizer-mcp", "version": "7.8.0", "mcpName": "io.github.ooples/token-optimizer-mcp", "description": "Audit net MCP context avoided per AI coding agent, optimize context, and share a live local knowledge graph across 16 CLI clients", "main": "dist/server/index.js", "types": "dist/server/index.d.ts", "bin": { "token-optimizer-mcp": "./dist/server/index.js", "token-optimizer-daemon": "./dist/server/daemon.js", "token-optimizer-install": "./scripts/install-cli.mjs", "token-optimizer-install-client": "./scripts/install-client-hooks.mjs", "token-optimizer-uninstall": "./scripts/uninstall.mjs", "token-optimizer-doctor": "./scripts/doctor.mjs", "token-optimizer-storage": "./scripts/storage.mjs", "token-optimizer-learn": "./dist/learn/cli.js", "token-optimizer-update": "./dist/update/cli.js", "token-optimizer-rollout": "./dist/rollout/cli.js", "token-optimizer-inspect": "./dist/inspect/cli.js", "token-optimizer-savings": "./dist/savings/cli.js", "token-optimizer-diagnostics": "./scripts/export-diagnostics.mjs", "token-optimizer-proxy": "./dist/proxy/cli.js", "token-optimizer-run": "./scripts/run-client.mjs", "token-optimizer-route": "./scripts/route-client.mjs" }, "files": [ "dist/**/*", "cli-wrapper.mjs", "hooks/**/*", "gemini-extension.json", "GEMINI.md", "install-hooks.ps1", "install-hooks.sh", "README.md", "LICENSE", "CHANGELOG.md", "CLI_WRAPPER_README.md", "hooks-core/**/*", "ucr/**/*", "schemas/**/*", "evals/ucr/**/*", "integrations/**/*", "!integrations/**/lib/**", "plugin/**/*", "scripts/**/*", "!**/logs/**", "!**/*.log", "!**/.cache/**", "!**/.token-optimizer/**", "!**/*.db", "!**/*.db-*", "!**/*.sqlite", "!**/*.sqlite-*", "!**/*.sqlite3", "!**/*.sqlite3-*", "!**/*.tmp", "!**/*.temp", "!**/.token-optimizer-edit-*.lock", "!**/.env", "!**/.env.*" ], "scripts": { "postinstall": "node scripts/postinstall.cjs", "checksums": "node scripts/checksums.mjs", "screenshots": "node scripts/capture-screenshots.mjs", "uninstall-hooks": "node scripts/uninstall.mjs", "doctor": "node scripts/doctor.mjs", "learn": "node dist/learn/cli.js", "diagnostics": "node scripts/export-diagnostics.mjs", "projects:discover": "node scripts/discover-project-graphs.mjs", "build": "tsc && npm run copy:assets", "copy:assets": "node scripts/copy-assets.mjs", "start": "node dist/server/index.js", "dev": "tsc --watch", "clean": "rm -rf dist", "prepublishOnly": "npm run clean && npm run build", "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js", "test:watch": "node --experimental-vm-modules node_modules/jest/bin/jest.js --watch", "test:ci": "node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2", "test:coverage": "node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage", "test:integration": "node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration", "test:unit": "node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit", "test:benchmark": "node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks", "dashboard": "node dist/server/web-server.js", "dashboard:dev": "tsc -p tsconfig.dashboard.json && npm run copy:assets && node dist/server/web-server.js", "dashboard:build": "tsc -p tsconfig.dashboard.json && npm run copy:assets", "lint": "eslint src tests --ext .ts,.js,.mjs,.mts", "lint:fix": "eslint src tests --ext .ts,.js,.mjs,.mts --fix", "format": "prettier --write 'src/**/*.{ts,js,json}'", "format:check": "prettier --check 'src/**/*.{ts,js,json}'", "validate": "node scripts/validate-package.js", "verify:package-contents": "node scripts/verify-package-contents.mjs", "verify:published-launch": "node scripts/verify-published-launch.mjs", "sync:hooks": "node scripts/sync-hook-core.mjs && node scripts/generate-client-entries.mjs && node scripts/generate-opencode-legacy-plugin.mjs && node scripts/generate-client-configs.mjs && node scripts/pin-mcp-version.mjs", "sync:hooks:check": "node scripts/sync-hook-core.mjs --check && node scripts/generate-client-entries.mjs --check && node scripts/generate-opencode-legacy-plugin.mjs --check && node scripts/generate-client-configs.mjs --check && node scripts/pin-mcp-version.mjs --check", "stamp:version": "node scripts/sync-hook-core.mjs --stamp && node scripts/generate-client-entries.mjs --stamp", "stamp:telemetry": "node scripts/stamp-telemetry-key.mjs", "verify:ui": "node scripts/verify-wiki-ui.mjs", "evidence:orcarouter": "node scripts/capture-orcarouter-evidence.mjs", "evidence:orcarouter-live": "node scripts/verify-orcarouter-live.mjs", "verify:harvest": "node scripts/verify-harvest-api.mjs", "verify:live-graph": "node scripts/verify-live-graph-flow.mjs", "verify:clients": "node scripts/verify-client-configs.mjs", "verify:certification": "node scripts/certify-clients.mjs --no-version-check", "verify:ucr": "node scripts/verify-ucr-runtime.mjs", "verify:ucr:study-design": "node scripts/verify-ucr-study-readiness.mjs", "eval:ucr:qualification:verify": "node scripts/verify-ucr-qualification.mjs", "eval:ucr:qualification:gate": "node scripts/verify-ucr-qualification.mjs --require-qualified", "evidence:ucr:study-design:update": "node scripts/verify-ucr-study-readiness.mjs --write", "evidence:ucr:update": "node scripts/verify-ucr-runtime.mjs --write", "eval:ucr:handoff:plan": "node scripts/run-ucr-handoff-smoke.mjs", "eval:ucr:handoff": "node scripts/run-ucr-handoff-smoke.mjs --execute", "eval:ucr:scale": "node scripts/run-ucr-scale.mjs", "eval:ucr:coordination": "node scripts/run-ucr-coordination-scale.mjs", "eval:ucr:consolidation": "node scripts/run-ucr-consolidation-study.mjs", "eval:ucr:adapters": "node scripts/run-ucr-adapter-certification.mjs --write", "eval:ucr:compounding": "node scripts/run-ucr-compounding-study.mjs", "eval:ucr:production": "node scripts/run-ucr-production-study.mjs", "eval:ucr:production:traffic:plan": "node scripts/assemble-ucr-production-traffic.mjs", "eval:ucr:production:traffic": "node scripts/assemble-ucr-production-traffic.mjs --execute", "eval:ucr:context": "node scripts/run-mcp-context-audit.mjs", "evidence:ucr:assemble": "node scripts/assemble-ucr-evidence.mjs && node scripts/verify-ucr-runtime.mjs --write", "eval:ucr:multimodel:plan": "node scripts/run-ucr-multimodel-handoff.mjs", "eval:ucr:multimodel": "node scripts/run-ucr-multimodel-handoff.mjs --execute --directions all", "eval:ucr:effectiveness:plan": "node scripts/run-ucr-handoff-effectiveness.mjs", "eval:ucr:effectiveness": "node scripts/run-ucr-handoff-effectiveness.mjs --execute --pairs-per-direction 357", "eval:ucr:full-study:plan": "node scripts/run-ucr-full-study.mjs", "eval:ucr:full-study:powered-plan": "node scripts/run-ucr-full-study.mjs --powered", "eval:ucr:identity:provision": "node scripts/provision-ucr-study-identity.mjs", "eval:ucr:full-study:qualification": "node scripts/run-ucr-full-study.mjs --execute --runner-module scripts/ucr-study-driver-dispatch.mjs", "eval:ucr:full-study": "node scripts/run-ucr-full-study.mjs --execute --powered --runner-module scripts/ucr-study-driver-dispatch.mjs", "eval:ucr:competitive:plan": "node scripts/run-ucr-competitive-study.mjs", "eval:ucr:competitive": "node scripts/run-ucr-competitive-study.mjs --execute", "eval:evidence": "node scripts/run-evidence-eval.mjs", "eval:evidence:plan": "node scripts/run-evidence-eval.mjs --dry-run", "eval:handoff": "node scripts/run-handoff-eval.mjs", "eval:handoff:plan": "node scripts/run-handoff-eval.mjs --dry-run", "eval:handoff:concurrent": "node scripts/run-concurrent-handoff-eval.mjs", "verify:all": "npm run sync:hooks:check && npm run eval:ucr:qualification:verify && npm run verify:clients && npm run verify:certification && npm run verify:harvest && npm run verify:ucr && npm run verify:ucr:study-design && npm run verify:live-graph && npm run verify:ui && npm run verify:interactions && npm run verify:install", "verify:interactions": "node scripts/verify-wiki-interactions.mjs", "wiki:census": "node scripts/wiki-census.mjs", "dashboard:verify-live": "node scripts/verify-live-dashboard.mjs", "dashboard:attribution-smoke": "node scripts/run-dashboard-attribution-smoke.mjs", "dashboard:audit-savings": "node scripts/audit-token-savings.mjs", "explore:wiki": "node scripts/explore-wiki.mjs", "bench:tools": "node bench/tools/reduction.mjs", "bench:tools:check": "node bench/tools/reduction.check.mjs", "bench:build": "npm run bench:pack && docker build -f bench/thol/Dockerfile -t thol-rig:local bench/", "bench:screen": "bash bench/thol/run-campaign.sh", "bench:confirm": "REPS=3 bash bench/thol/run-campaign.sh", "bench:debug-loop": "node bench/debug-loop/run.mjs", "bench:field": "node bench/field/report.mjs", "bench:pack": "node scripts/bench-pack.mjs", "verify:onnx": "node scripts/verify-onnx-adapter.mjs", "proxy": "node dist/proxy/cli.js", "bench:screen:knowledge": "bash bench/thol/screen-knowledge.sh", "verify:install": "node scripts/verify-fresh-install.mjs", "bench:must-win": "node bench/compression/must-win.check.mjs", "bench:instruments": "node bench/compression/instrument-roster.check.mjs && node bench/compression/identifiers.check.mjs && node bench/compression/currency.check.mjs && node bench/compression/retention.check.mjs && node bench/compression/retention-floor.check.mjs && node bench/compression/conservation.check.mjs && node bench/compression/hermetic.check.mjs && node bench/compression/input-parity.check.mjs && node bench/compression/arm-selection.check.mjs && node bench/compression/load-witness.check.mjs && node bench/compression/machine-load.check.mjs && node bench/compression/store-resolution.check.mjs && node bench/compression/chunk-merge.check.mjs && node bench/compression/offload.check.mjs && node bench/compression/cost-model.check.mjs && node bench/compression/turn-lever.check.mjs && node bench/compression/speed-verdict.check.mjs && node bench/compression/replicate-agreement.check.mjs && node bench/compression/ratchet.check.mjs && node bench/compression/store-effect.check.mjs && node bench/compression/store-pair.check.mjs && node bench/compression/reproducibility.check.mjs && node bench/compression/competitor-health.check.mjs && node bench/compression/fetch-latency.check.mjs && node bench/subscription/base-context.check.mjs && node bench/subscription/cost-split.check.mjs && node bench/subscription/calibrate.check.mjs", "bench:known-answer": "node bench/compression/known-answer/capture.check.mjs", "bench:known-answer:scorer": "node bench/compression/known-answer/scorer.check.mjs", "bench:known-answer:mutants": "node bench/compression/known-answer/mutants.mjs", "bench:cost-model:check": "node bench/compression/cost-model.check.mjs", "bench:ledger:provenance": "node bench/ledger/verify-provenance.mjs", "bench:subscription:observe": "node bench/subscription/observe.mjs", "bench:subscription:calibrate": "node bench/subscription/calibrate.mjs", "bench:subscription:check": "node bench/subscription/calibrate.check.mjs", "bench:subscription:split": "node bench/subscription/cost-split.mjs", "bench:subscription:split:check": "node bench/subscription/cost-split.check.mjs", "bench:speed-verdict:check": "node bench/compression/speed-verdict.check.mjs" }, "repository": { "type": "git", "url": "git+https://github.com/ooples/token-optimizer-mcp.git" }, "keywords": [ "mcp", "model-context-protocol", "claude", "claude-code", "token-optimization", "caching", "compression", "ai", "llm", "context-management", "prompt-optimization" ], "author": "ooples", "license": "MIT", "type": "module", "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" }, "exports": { ".": { "require": "./dist/server/index.js", "import": "./dist/server/index.js", "types": "./dist/server/index.d.ts" } }, "engines": { "node": ">=22.14.0", "npm": ">=9.0.0" }, "bugs": { "url": "https://github.com/ooples/token-optimizer-mcp/issues" }, "homepage": "https://github.com/ooples/token-optimizer-mcp#readme", "devDependencies": { "@ast-grep/cli": "0.45.0", "@commitlint/cli": "^19.6.0", "@commitlint/config-conventional": "^19.6.0", "@semantic-release/changelog": "^6.0.3", "@semantic-release/commit-analyzer": "^13.0.0", "@semantic-release/git": "^10.0.1", "@semantic-release/github": "^11.0.0", "@semantic-release/npm": "^13.1.3", "@semantic-release/release-notes-generator": "^14.0.1", "@stryker-mutator/core": "^10.0.0", "@stryker-mutator/jest-runner": "^10.0.0", "@types/better-sqlite3": "^7.6.13", "@types/body-parser": "^1.19.6", "@types/conventional-commits-parser": "^5.0.1", "@types/cors": "^2.8.19", "@types/express": "^5.0.3", "@types/express-serve-static-core": "^5.1.0", "@types/http-errors": "^2.0.5", "@types/jest": "^30.0.0", "@types/json-schema": "^7.0.15", "@types/mime": "^3.0.4", "@types/node": "^24.7.2", "@types/normalize-package-data": "^2.4.4", "@types/qs": "^6.14.0", "@types/range-parser": "^1.2.7", "@types/send": "^1.2.0", "@types/serve-static": "^1.15.9", "@types/tar-stream": "^3.1.4", "@typescript-eslint/eslint-plugin": "^8.46.1", "@typescript-eslint/parser": "^8.46.1", "conventional-changelog-conventionalcommits": "^8.0.0", "eslint": "^9.38.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-n": "^18.3.0", "fast-check": "^4.9.0", "jest": "^30.2.0", "npm": "^11.19.0", "playwright": "^1.62.1", "prettier": "^3.6.2", "semantic-release": "^25.0.2", "ts-jest": "^29.4.5" }, "dependencies": { "@babel/parser": "^7.29.8", "@iarna/toml": "^2.2.5", "@modelcontextprotocol/sdk": "^1.26.0", "@typescript-eslint/typescript-estree": "^8.65.0", "async-mutex": "^0.5.0", "better-sqlite3": "^13.0.3", "chalk": "^4.1.2", "chart.js": "4.4.0", "cors": "^2.8.5", "d3-force": "^3.0.0", "diff": "^8.0.2", "express": "^5.1.0", "express-rate-limit": "^8.5.2", "glob": "^14.0.2", "graphlib": "^2.1.8", "lru-cache": "^11.2.2", "tiktoken": "^1.0.22", "typescript": "^5.9.3", "yaml": "^2.9.0", "zod": "^4.6.7" }, "overrides": { "brace-expansion": "5.0.12", "ip-address": "10.7.4", "js-yaml": "4.3.2", "undici": "7.29.0", "qs": "6.16.0" } }