{"_id":"token-optimizer-mcp","_rev":"30-d3ef47f79b33cfe5f3af831ab4ef72a2","name":"token-optimizer-mcp","dist-tags":{"latest":"2.17.0"},"versions":{"2.0.0":{"name":"token-optimizer-mcp","version":"2.0.0","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.0.0","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"a3a2232d2119b4f1d461af04f7c59c867d6d5361","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.0.0.tgz","fileCount":522,"integrity":"sha512-Q3WfSZJ/r6at3X3lFgNsED7Gd+q98O2PQhGz4FJwlMz0uptkqbDETS7zsj1AsJhTwvHRVMbFjZS5Tw6XFjaLZQ==","signatures":[{"sig":"MEUCIQCR2wDO075bVwth70JvN4plq+K7vBkLyqKNz/5Y9XbEqAIgfvWrQM7QmnE7tbmp7D4nxzPslGzl0ihdad8BeMBrvWw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5044541},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"822f1102a6a37e64205e33a710d92ce106cde2fa","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rm -rf dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Intelligent token optimization for Claude Code - achieving 95%+ token reduction through caching, compression, and smart tool intelligence","directories":{},"_nodeVersion":"20.19.5","dependencies":{"cors":"^2.8.5","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.7.2","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^19.6.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.0.0_1760921596544_0.4019456238450265","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.1.0":{"name":"token-optimizer-mcp","version":"2.1.0","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.1.0","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"85587d032770a18ee9a83979b30a55f98c132ded","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.1.0.tgz","fileCount":522,"integrity":"sha512-3Ugq1APURvyQHlBBNrGl54jZQjguzLV/c7iwoXQlmktJzRk1UD5vg8xitV4U0nvaoHUOkprdB05fm+VnDlE0Og==","signatures":[{"sig":"MEYCIQDACf4zB2+z/S1nkZqljEm6rm3ov+mPlJ+yuzO+TGfQTAIhAMvnAieOlrTjGE6iyN2qKeknoIRs3CSw7/MjuaQ+z44G","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5044594},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"b71a08dfc508200ad055a088b3078159f5761b4f","mcpName":"io.github.ooples/token-optimizer-mcp","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rm -rf dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Intelligent token optimization for Claude Code - achieving 95%+ token reduction through caching, compression, and smart tool intelligence","directories":{},"_nodeVersion":"20.19.5","dependencies":{"cors":"^2.8.5","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.7.2","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^19.6.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.1.0_1760924839750_0.2679569584649786","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.2.0":{"name":"token-optimizer-mcp","version":"2.2.0","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.2.0","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"117cc177cb8ae757a70e6d29ee31ea1d1ba771a7","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.2.0.tgz","fileCount":522,"integrity":"sha512-P4oa5Mu+AcaisyGba8MLfi0FS7HDVs7rwqbnqNvhjbI6hrD6A7yLI3rR2sAZTz0jG9BHOKDxKMk16PZ3N/1cBg==","signatures":[{"sig":"MEQCIDGxpoxXcm8dg7qLHflBKwCBCbgQzv95j02ghOiNV8JRAiB7R03zQGWPO6Ga6NWKTV/qS0EumKVr7FVvCxxaGzkbOA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5044594},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"abafd45820da246c7b291a9bab83767c5db13e0f","mcpName":"io.github.ooples/token-optimizer-mcp","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rm -rf dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Intelligent token optimization for Claude Code - achieving 95%+ token reduction through caching, compression, and smart tool intelligence","directories":{},"_nodeVersion":"20.19.5","dependencies":{"cors":"^2.8.5","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.7.2","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^19.6.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.2.0_1760931406392_0.9349500917292954","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.2.1":{"name":"token-optimizer-mcp","version":"2.2.1","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.2.1","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"6f1e6d3f8d412d51accf14ac8723b521a499e22e","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.2.1.tgz","fileCount":532,"integrity":"sha512-yA3hTptJSHOATcUGcoq2sretYIyfEHMLXE/dOGP5cO/0DE3fk9wA6nQTS86lvoaDY2uJ/w68goMW4kUMrbikag==","signatures":[{"sig":"MEUCIQCexeeVeLToH+Y0zqKDBhYDaof08IqO09/9e3pP3djMuQIgc98PcFuCnk9H1hGvErr/6NuwJ3OLxX6G0KzJI2MCYV4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5094210},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"9a09b4e50f2583c39df279e1ea085f53c2c6c972","mcpName":"io.github.ooples/token-optimizer-mcp","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rm -rf dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Intelligent token optimization for Claude Code - achieving 95%+ token reduction through caching, compression, and smart tool intelligence","directories":{},"_nodeVersion":"20.19.5","dependencies":{"cors":"^2.8.5","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.7.2","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^19.6.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.2.1_1760932932036_0.7794578125400466","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.2.2":{"name":"token-optimizer-mcp","version":"2.2.2","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.2.2","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"ab9e8ec67e3baf2445d02284e5a19c419a4c33d6","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.2.2.tgz","fileCount":533,"integrity":"sha512-Z8U8LY1Nf/iCeS5/ED/MawfSjgwQd14GLvyYjMa0p5Y9HQh5Pm/4Ex2roO1cLK9xDqwWPAmMiFWJakCsv+gCcA==","signatures":[{"sig":"MEUCIQDuju2HiwvYhBsU44gELcO+ian4xrzxE8gP4nvgaCb+rgIgB3pM59aeshQ4nDTCm4xpYW4iNSb0xnVJfEjx0L6z7ec=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5106715},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"b9d7e7cb7b8fbf1f6791b08df0e86093a8513fe3","mcpName":"io.github.ooples/token-optimizer-mcp","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rm -rf dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Intelligent token optimization for Claude Code - achieving 95%+ token reduction through caching, compression, and smart tool intelligence","directories":{},"_nodeVersion":"20.19.5","dependencies":{"cors":"^2.8.5","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.7.2","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^19.6.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.2.2_1760936166540_0.06993256230332823","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.2.3":{"name":"token-optimizer-mcp","version":"2.2.3","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.2.3","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"ed6b924eca458486b1029479f3638b5457713c01","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.2.3.tgz","fileCount":534,"integrity":"sha512-QCHyHueACGaMcOZ+srY0VTZzjUdqD4fVi4XkYfGC3+DLt4bISFs5zlQ+P3+X9TybkDyai0bONVHKAMdW52wp4A==","signatures":[{"sig":"MEUCIQD8RMcDShfGNPG/Sw+q0dBdXLMVozKhpldFJq3xfuCCpQIgCeBpOMm2vIH0tv0cK+OyioWTOfF4JJvt0dPwTezEyY0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5112773},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"fcd577b939adc6d6ecf29506218e8c11b11dc078","mcpName":"io.github.ooples/token-optimizer-mcp","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rm -rf dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Intelligent token optimization for Claude Code - achieving 95%+ token reduction through caching, compression, and smart tool intelligence","directories":{},"_nodeVersion":"20.19.5","dependencies":{"cors":"^2.8.5","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.7.2","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^19.6.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.2.3_1760963933034_0.793603273170383","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.4.0":{"name":"token-optimizer-mcp","version":"2.4.0","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.4.0","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"de4b4cdc745214873f3524f735814d29aa9597dd","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.4.0.tgz","fileCount":535,"integrity":"sha512-oVJ6OIKVxoY+QoFGteDYSDz+0CCsUhxnk8+pKwdVJR7MiB++8F5mVmI6hHlzoxE2hDe1CLf4noTieYshtZHAvg==","signatures":[{"sig":"MEYCIQDxc+zduOWfUOxxOw/nFqa8Of3j9lBv8Tq5iIQaFyKcIgIhAPeLZyTKufz5dvexc25SY23TRCN/oTUqAL5J7/aoP82+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5117730},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"2b54274191bd3b54941cb3e44a3cc4c0ae109b68","mcpName":"io.github.ooples/token-optimizer-mcp","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"if exist dist rmdir /s /q dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"Intelligent token optimization for Claude Code - achieving 95%+ token reduction through caching, compression, and smart tool intelligence","directories":{},"_nodeVersion":"22.20.0","dependencies":{"cors":"^2.8.5","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.7.2","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^19.6.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.4.0_1760966222666_0.5500174819990424","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.2.5":{"name":"token-optimizer-mcp","version":"2.2.5","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.2.5","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"b0627d60aa4fbb2863f2c0e4c3f2bb5ce871cd8e","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.2.5.tgz","fileCount":539,"integrity":"sha512-eGa5NQt9lDxgN3PH2FaBYYEo0i8oFuIbeVMdjmFNuiRojI3HuCLn3AtziT0S5aL+TzrrKcmpTSzabXCbQyP26A==","signatures":[{"sig":"MEYCIQDCNIwkg0XP1BXTOeUlVAYOmnCSQhxsRhSfkGlrAYX3NAIhANl8IY/CDAq+0ytG+SQDDEyTqV4eqP8fDYN4NaJROPaB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5133451},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"0f7acb13ca7f1dfa1c568a4c32caaba6b99f0339","mcpName":"io.github.ooples/token-optimizer-mcp","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rm -rf dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Intelligent context window optimization for Claude Code - store content externally via caching and compression, freeing up your context window for what matters","directories":{},"_nodeVersion":"20.19.5","dependencies":{"cors":"^2.8.5","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","async-mutex":"^0.5.0","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","@types/qs":"^6.14.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/mime":"^3.0.4","@types/node":"^24.7.2","@types/send":"^1.2.0","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@types/body-parser":"^1.19.6","@types/http-errors":"^2.0.5","@types/json-schema":"^7.0.15","@types/range-parser":"^1.2.7","@types/serve-static":"^1.15.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@types/normalize-package-data":"^2.4.4","@commitlint/config-conventional":"^19.6.0","@types/express-serve-static-core":"^5.1.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@types/conventional-commits-parser":"^5.0.1","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.2.5_1761187064915_0.33288710748702743","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.2.6":{"name":"token-optimizer-mcp","version":"2.2.6","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.2.6","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"23cc301a98e87bf00514f0853fac2f3f36455f53","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.2.6.tgz","fileCount":539,"integrity":"sha512-F88w85EyDspfC6jqzFL9gKjtrlrhUYQzr9KPuoZmOyFt+zonAp9V7gwnYYIoiRkrtRQJRQPD7srPfW8+SIHtfA==","signatures":[{"sig":"MEYCIQCK9LbvJzA9+YKduf9rc8uu9+dQT7Y07Cbx4v3xO1Hd3AIhALEZOByM7A55o2x+KbyMqulM2lc7ipgjymKmA4ELUTiU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5136349},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"41175483816ede47901f8bd752bb9c112e58010c","mcpName":"io.github.ooples/token-optimizer-mcp","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rm -rf dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Intelligent context window optimization for Claude Code - store content externally via caching and compression, freeing up your context window for what matters","directories":{},"_nodeVersion":"20.19.5","dependencies":{"cors":"^2.8.5","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","async-mutex":"^0.5.0","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","@types/qs":"^6.14.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/mime":"^3.0.4","@types/node":"^24.7.2","@types/send":"^1.2.0","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@types/body-parser":"^1.19.6","@types/http-errors":"^2.0.5","@types/json-schema":"^7.0.15","@types/range-parser":"^1.2.7","@types/serve-static":"^1.15.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@types/normalize-package-data":"^2.4.4","@commitlint/config-conventional":"^19.6.0","@types/express-serve-static-core":"^5.1.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@types/conventional-commits-parser":"^5.0.1","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.2.6_1761198178069_0.8432360730563975","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.3.0":{"name":"token-optimizer-mcp","version":"2.3.0","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.3.0","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"9cdf5fc21d6fab715ccb05dd79c185ecc832aaed","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.3.0.tgz","fileCount":539,"integrity":"sha512-74vAc5b5oG19GBgAFObX1lfVJ2u+tsdrsBF09aUKStxHwyXaJaEV04GygmwbPP6ziV9F/mGQNI5S6j1NJgkyEQ==","signatures":[{"sig":"MEUCIQDiY4tQ8o0SifkkLqqZ2+mb4YXs2j0eXQGXKUdodpj/5QIgZS1NKXbR0tBZhOMimgs6iV4f5TF7CR9QrD0l57XgNJU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5155312},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"71e610f6233aeb431da2bb8e26dfaa2dc8e63829","mcpName":"io.github.ooples/token-optimizer-mcp","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rm -rf dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Intelligent context window optimization for Claude Code - store content externally via caching and compression, freeing up your context window for what matters","directories":{},"_nodeVersion":"20.19.5","dependencies":{"cors":"^2.8.5","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","async-mutex":"^0.5.0","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","@types/qs":"^6.14.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/mime":"^3.0.4","@types/node":"^24.7.2","@types/send":"^1.2.0","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@types/body-parser":"^1.19.6","@types/http-errors":"^2.0.5","@types/json-schema":"^7.0.15","@types/range-parser":"^1.2.7","@types/serve-static":"^1.15.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@types/normalize-package-data":"^2.4.4","@commitlint/config-conventional":"^19.6.0","@types/express-serve-static-core":"^5.1.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@types/conventional-commits-parser":"^5.0.1","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.3.0_1761224446195_0.21573828987094879","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.4.1":{"name":"token-optimizer-mcp","version":"2.4.1","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.4.1","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"74538205b284e63781ead06df35f2b24f23d2e61","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.4.1.tgz","fileCount":539,"integrity":"sha512-2a9BFitNI1Kq/Eeem3NIEXMWBY/mROJaxNogABnn04OelRsEr4JBjclzSOc4BYxi3bDihrBOBOYH9irOPpCROA==","signatures":[{"sig":"MEUCIDfN6c9c49n0+DGgMl7CFicphy6THTUjLM6JPSz6w66QAiEAumMMfdWAyZC1aYlAViHdkZf4MIrz/fNhozwA55MsSW4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5160867},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"6595aa44019189dff33d29d7140bf60736984206","mcpName":"io.github.ooples/token-optimizer-mcp","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rm -rf dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Intelligent context window optimization for Claude Code - store content externally via caching and compression, freeing up your context window for what matters","directories":{},"_nodeVersion":"20.19.5","dependencies":{"cors":"^2.8.5","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","async-mutex":"^0.5.0","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","@types/qs":"^6.14.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/mime":"^3.0.4","@types/node":"^24.7.2","@types/send":"^1.2.0","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@types/body-parser":"^1.19.6","@types/http-errors":"^2.0.5","@types/json-schema":"^7.0.15","@types/range-parser":"^1.2.7","@types/serve-static":"^1.15.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@types/normalize-package-data":"^2.4.4","@commitlint/config-conventional":"^19.6.0","@types/express-serve-static-core":"^5.1.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@types/conventional-commits-parser":"^5.0.1","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.4.1_1761233386143_0.8076363928381742","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.5.0":{"name":"token-optimizer-mcp","version":"2.5.0","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.5.0","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"455de47fe6464f8317fbe92f92a73b5f76da5752","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.5.0.tgz","fileCount":539,"integrity":"sha512-olhUnTRumZdEN3w/P+IiwbTyUonuZ3vEm0UVtHNTsMVaTSZJQFf2EJ2yUoeOk86oYVwuHhqRXSlyfHuaXpkCGA==","signatures":[{"sig":"MEUCIG+1769q5rw2nluCPNVJZvVJLzMjlfZzq28Y7brzbB9uAiEA6gvUFbgdBNcR8VTteq0zZUH7xXMSouBSyqOpMFsIy2U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5197143},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"093bdbfe3c656356af48b03a970108d0460ee551","mcpName":"io.github.ooples/token-optimizer-mcp","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rm -rf dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Intelligent context window optimization for Claude Code - store content externally via caching and compression, freeing up your context window for what matters","directories":{},"_nodeVersion":"20.19.5","dependencies":{"cors":"^2.8.5","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","async-mutex":"^0.5.0","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","@types/qs":"^6.14.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/mime":"^3.0.4","@types/node":"^24.7.2","@types/send":"^1.2.0","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@types/body-parser":"^1.19.6","@types/http-errors":"^2.0.5","@types/json-schema":"^7.0.15","@types/range-parser":"^1.2.7","@types/serve-static":"^1.15.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@types/normalize-package-data":"^2.4.4","@commitlint/config-conventional":"^19.6.0","@types/express-serve-static-core":"^5.1.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@types/conventional-commits-parser":"^5.0.1","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.5.0_1761242639306_0.8618152900979885","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.6.0":{"name":"token-optimizer-mcp","version":"2.6.0","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.6.0","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"6362871f1cb0c3c6d1d0ec63144b0b1157065a90","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.6.0.tgz","fileCount":539,"integrity":"sha512-XFEQTwBfZPxbiZTkMLEpbwWf/nZfLb7MQqj5qlPdPGKigNaGqx59tLjRdNghNYWyUJk5OiAkdXdfmhDVghNZKw==","signatures":[{"sig":"MEUCIQCpVrxTVKgrKBh6lhGyS4T1Ru8eMXyohY6iOqFrxrlQqQIgG+bj5iwPx0Lwsx2YD32gNJ3nhPyd0BNYckEhqLXEZx8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5195358},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"7f0ef51a75c321e1e8dc1b4dbd7dd7ef673f8500","mcpName":"io.github.ooples/token-optimizer-mcp","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rm -rf dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Intelligent context window optimization for Claude Code - store content externally via caching and compression, freeing up your context window for what matters","directories":{},"_nodeVersion":"20.19.5","dependencies":{"cors":"^2.8.5","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","async-mutex":"^0.5.0","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","@types/qs":"^6.14.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/mime":"^3.0.4","@types/node":"^24.7.2","@types/send":"^1.2.0","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@types/body-parser":"^1.19.6","@types/http-errors":"^2.0.5","@types/json-schema":"^7.0.15","@types/range-parser":"^1.2.7","@types/serve-static":"^1.15.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@types/normalize-package-data":"^2.4.4","@commitlint/config-conventional":"^19.6.0","@types/express-serve-static-core":"^5.1.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@types/conventional-commits-parser":"^5.0.1","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.6.0_1761245237152_0.21297140992299757","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.7.0":{"name":"token-optimizer-mcp","version":"2.7.0","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.7.0","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"f002547cd16abf4c7ec2f52b83cb0451c6dacbd7","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.7.0.tgz","fileCount":539,"integrity":"sha512-A5/sEu2A9AOwH38ajjaa3Cpeec8DPFa2ApONX4KF3u9BS7m5YOD1qbXv4ulucILZmebtyu/bsmhIIRRieBpDiw==","signatures":[{"sig":"MEUCIQCeh9A/30UlucQWAOMw5KzgK9bNUvNTNPx7Mn1pkzVv/AIgR+I8XViDZP0k+sTc8iewnX1pHfdUgRfziJp/8WM0Rqc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5200989},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"e78e7c5c69d0173d14ffba1484261cc1551945ef","mcpName":"io.github.ooples/token-optimizer-mcp","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rm -rf dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Intelligent context window optimization for Claude Code - store content externally via caching and compression, freeing up your context window for what matters","directories":{},"_nodeVersion":"20.19.5","dependencies":{"cors":"^2.8.5","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","async-mutex":"^0.5.0","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","@types/qs":"^6.14.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/mime":"^3.0.4","@types/node":"^24.7.2","@types/send":"^1.2.0","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@types/body-parser":"^1.19.6","@types/http-errors":"^2.0.5","@types/json-schema":"^7.0.15","@types/range-parser":"^1.2.7","@types/serve-static":"^1.15.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@types/normalize-package-data":"^2.4.4","@commitlint/config-conventional":"^19.6.0","@types/express-serve-static-core":"^5.1.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@types/conventional-commits-parser":"^5.0.1","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.7.0_1761257666242_0.9897023572002388","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.8.0":{"name":"token-optimizer-mcp","version":"2.8.0","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.8.0","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"a010a8f01d4c6e9181b6f22e08f90170b772bee4","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.8.0.tgz","fileCount":539,"integrity":"sha512-f6idoIO8vqgIge6sjn7Os9BMCOhwCT5hZvmWkVOU6/gH4vRLqj6IKYYv1CLxAdmFc4G0D+FGIuXQxSNIvY5UEw==","signatures":[{"sig":"MEYCIQDQpZLt4NvHFWeF5qM6kWhvTQGsMINfQAkrHqjtMUTMwwIhAN4ONjJi33jdHdGJgYdzZue0QIZUs4fFZp7yPbbL1nmX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5456746},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"488d0dd69392a1436924727b5178909f13aa143f","mcpName":"io.github.ooples/token-optimizer-mcp","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rm -rf dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Intelligent context window optimization for Claude Code - store content externally via caching and compression, freeing up your context window for what matters","directories":{},"_nodeVersion":"20.19.5","dependencies":{"cors":"^2.8.5","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","async-mutex":"^0.5.0","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","@types/qs":"^6.14.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/mime":"^3.0.4","@types/node":"^24.7.2","@types/send":"^1.2.0","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@types/body-parser":"^1.19.6","@types/http-errors":"^2.0.5","@types/json-schema":"^7.0.15","@types/range-parser":"^1.2.7","@types/serve-static":"^1.15.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@types/normalize-package-data":"^2.4.4","@commitlint/config-conventional":"^19.6.0","@types/express-serve-static-core":"^5.1.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@types/conventional-commits-parser":"^5.0.1","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.8.0_1761257771778_0.8357255133334542","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.9.0":{"name":"token-optimizer-mcp","version":"2.9.0","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.9.0","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"61bf2abff1875bc53a84ca6e3d582e54c1dbc136","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.9.0.tgz","fileCount":535,"integrity":"sha512-tIE3VL7cKP9yuQ9wCGMjknI72lxN/eJJ4AF991uUCW7q0LaMsbPA2+EYy7bPhlttEXYjwlefxT5C+YrUAyf1yA==","signatures":[{"sig":"MEYCIQC2VLGuLa5C/QM8/8mbyhqRPuBP9g/GvIkjtkUGY+TdSwIhAIFUHqvdm4Gc7fJbWYqrM6IGsIdrcDvQMWpZIJLTGbi6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5371268},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"add9755284cbbef541b51e1eab0efeafe4223a04","mcpName":"io.github.ooples/token-optimizer-mcp","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rm -rf dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Intelligent context window optimization for Claude Code - store content externally via caching and compression, freeing up your context window for what matters","directories":{},"_nodeVersion":"20.19.5","dependencies":{"cors":"^2.8.5","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","async-mutex":"^0.5.0","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","@types/qs":"^6.14.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/mime":"^3.0.4","@types/node":"^24.7.2","@types/send":"^1.2.0","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@types/body-parser":"^1.19.6","@types/http-errors":"^2.0.5","@types/json-schema":"^7.0.15","@types/range-parser":"^1.2.7","@types/serve-static":"^1.15.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@types/normalize-package-data":"^2.4.4","@commitlint/config-conventional":"^19.6.0","@types/express-serve-static-core":"^5.1.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@types/conventional-commits-parser":"^5.0.1","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.9.0_1761271390625_0.5661651541295996","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.10.0":{"name":"token-optimizer-mcp","version":"2.10.0","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.10.0","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"878a1862e85a886120bcec32b19139f1ae7fc923","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.10.0.tgz","fileCount":535,"integrity":"sha512-iYK1fSJ54TGTEyK0a3mWzA4LNCy0oiEGM+nEckg7MeVE0aKQU/88NqfEPjzqrVn8bRhHY5VayDWUCey8O0GILQ==","signatures":[{"sig":"MEUCIAvOv5PTCwxdOh9TzmEYvAN0VQwmjkAPELwPmMsBCbDTAiEA4+VNydHpgs+x03nt44zj3SkuGhSzIKUwmo8cTEWnHBs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5396581},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"a147bfb9374fcbc09c4fc9395a3fc6ef7a1185c5","mcpName":"io.github.ooples/token-optimizer-mcp","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rm -rf dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Intelligent context window optimization for Claude Code - store content externally via caching and compression, freeing up your context window for what matters","directories":{},"_nodeVersion":"20.19.5","dependencies":{"cors":"^2.8.5","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","async-mutex":"^0.5.0","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","@types/qs":"^6.14.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/mime":"^3.0.4","@types/node":"^24.7.2","@types/send":"^1.2.0","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@types/body-parser":"^1.19.6","@types/http-errors":"^2.0.5","@types/json-schema":"^7.0.15","@types/range-parser":"^1.2.7","@types/serve-static":"^1.15.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@types/normalize-package-data":"^2.4.4","@commitlint/config-conventional":"^19.6.0","@types/express-serve-static-core":"^5.1.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@types/conventional-commits-parser":"^5.0.1","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.10.0_1761277970449_0.2356424722919297","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.10.1":{"name":"token-optimizer-mcp","version":"2.10.1","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.10.1","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"177f597c8332945381ec9318f9ac3d7a5b7ac115","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.10.1.tgz","fileCount":535,"integrity":"sha512-RBHFFxR66vKG8HiR+yV/JifTwLQSXJXX6KBMus8ukqfDbiCBb3/tbpDgQjCyUW+QQRRJD4oPHaI9BuyBZfd05g==","signatures":[{"sig":"MEYCIQC188+HUKjaxADZVuSRphI5tHkQgKJUU8jMNVHFk8AvWwIhAOSiEbebdMDiBuAcFxUKy/Qtkb6dSC7p9MTvGE+jUDVr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5433123},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"df1c6901d19c246f7060edf7b140b7f82c764c6e","mcpName":"io.github.ooples/token-optimizer-mcp","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rm -rf dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Intelligent context window optimization for Claude Code - store content externally via caching and compression, freeing up your context window for what matters","directories":{},"_nodeVersion":"20.19.5","dependencies":{"cors":"^2.8.5","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","async-mutex":"^0.5.0","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","@types/qs":"^6.14.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/mime":"^3.0.4","@types/node":"^24.7.2","@types/send":"^1.2.0","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@types/body-parser":"^1.19.6","@types/http-errors":"^2.0.5","@types/json-schema":"^7.0.15","@types/range-parser":"^1.2.7","@types/serve-static":"^1.15.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@types/normalize-package-data":"^2.4.4","@commitlint/config-conventional":"^19.6.0","@types/express-serve-static-core":"^5.1.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@types/conventional-commits-parser":"^5.0.1","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.10.1_1761338069802_0.25852464760683236","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.11.0":{"name":"token-optimizer-mcp","version":"2.11.0","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.11.0","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"50b26513f63d8cf53da0bc253f18a31e873178d8","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.11.0.tgz","fileCount":535,"integrity":"sha512-dafmxBS//wh+w4uXNl4e1H2R7NArFBypHVUdrWJ/zVOMGgtEvX9w9GD2NfeaM/OSx6DPYto/gulcXKO39oheWA==","signatures":[{"sig":"MEUCIQD3JEdYhfonTiEIPmjv/3EeAIAhsycI9OY1ISYsh02w2gIgEJmQzuFDav6hMvwGGo+c8On/UCA9kKcsUxmibZYWl7E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5470497},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"047af11167dd1a3c878d8a82f7e45213835eb35a","mcpName":"io.github.ooples/token-optimizer-mcp","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rm -rf dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Intelligent context window optimization for Claude Code - store content externally via caching and compression, freeing up your context window for what matters","directories":{},"_nodeVersion":"20.19.5","dependencies":{"cors":"^2.8.5","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","async-mutex":"^0.5.0","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","@types/qs":"^6.14.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/mime":"^3.0.4","@types/node":"^24.7.2","@types/send":"^1.2.0","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@types/body-parser":"^1.19.6","@types/http-errors":"^2.0.5","@types/json-schema":"^7.0.15","@types/range-parser":"^1.2.7","@types/serve-static":"^1.15.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@types/normalize-package-data":"^2.4.4","@commitlint/config-conventional":"^19.6.0","@types/express-serve-static-core":"^5.1.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@types/conventional-commits-parser":"^5.0.1","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.11.0_1761361632534_0.161895678410358","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.12.0":{"name":"token-optimizer-mcp","version":"2.12.0","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.12.0","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"9923ade3776cd94191ebf2155053187f937b22b8","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.12.0.tgz","fileCount":535,"integrity":"sha512-zOD04WyS7W5HecjUs523z3vSYli3HEH7pebx392glxKJARw/VrtBIdwRV8DwvG4+SpucbbjgYw6C0BiMY0EIHg==","signatures":[{"sig":"MEYCIQC0ftgQaEyTtj/UqNRobfxtqRLi/9Y8sgPRcs0+3zratgIhANla1yG0FRoQDWbFRHmn1e2O6xG5eQKIvLTEkJbeIi9d","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5470497},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"6e0b50b13760bae8e754c6ebdcd33332963e8590","mcpName":"io.github.ooples/token-optimizer-mcp","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rm -rf dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Intelligent context window optimization for Claude Code - store content externally via caching and compression, freeing up your context window for what matters","directories":{},"_nodeVersion":"20.19.5","dependencies":{"cors":"^2.8.5","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","async-mutex":"^0.5.0","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","@types/qs":"^6.14.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/mime":"^3.0.4","@types/node":"^24.7.2","@types/send":"^1.2.0","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@types/body-parser":"^1.19.6","@types/http-errors":"^2.0.5","@types/json-schema":"^7.0.15","@types/range-parser":"^1.2.7","@types/serve-static":"^1.15.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@types/normalize-package-data":"^2.4.4","@commitlint/config-conventional":"^19.6.0","@types/express-serve-static-core":"^5.1.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@types/conventional-commits-parser":"^5.0.1","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.12.0_1761363345638_0.5391660543697785","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.12.1":{"name":"token-optimizer-mcp","version":"2.12.1","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.12.1","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"b3a3294f958e145fbb8c014e19e5097fec5ca5e2","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.12.1.tgz","fileCount":535,"integrity":"sha512-caKah5DbshnvRme+5oGY7Dsj+5uq1tb6NH3oXBZ5HiC1xPkpCcfPfkqhbZKI5jS51ktZ0DRQyKDBEvdb7r8/4g==","signatures":[{"sig":"MEYCIQCqAhB0dfWl4cSlNXt1F80yESggBeo0HiB8x4tvipD3PwIhAPLdldAG8Z8w+bgLiV7j7JSxZhpyWTpyZmWGxzlIBuPX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5470497},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"e44626d15660c79801003f13bf149c5398d4fd37","mcpName":"io.github.ooples/token-optimizer-mcp","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rm -rf dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Intelligent context window optimization for Claude Code - store content externally via caching and compression, freeing up your context window for what matters","directories":{},"_nodeVersion":"20.19.5","dependencies":{"cors":"^2.8.5","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","async-mutex":"^0.5.0","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","@types/qs":"^6.14.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/mime":"^3.0.4","@types/node":"^24.7.2","@types/send":"^1.2.0","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@types/body-parser":"^1.19.6","@types/http-errors":"^2.0.5","@types/json-schema":"^7.0.15","@types/range-parser":"^1.2.7","@types/serve-static":"^1.15.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@types/normalize-package-data":"^2.4.4","@commitlint/config-conventional":"^19.6.0","@types/express-serve-static-core":"^5.1.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@types/conventional-commits-parser":"^5.0.1","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.12.1_1761364615486_0.34753358550662683","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.12.2":{"name":"token-optimizer-mcp","version":"2.12.2","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.12.2","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"0cf9e54a52efe40d08ba4478bd26a5f3abb0c7af","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.12.2.tgz","fileCount":535,"integrity":"sha512-dtHTCJjJkfoEM/ygpDe7F5jQ/BjMzQ1vGW+zg0RnhjtuQq4xo6+YLYRHIXk9I9cJYAgQJeYmluF7K0z1GL0T/g==","signatures":[{"sig":"MEQCIDs3b95FaRq4gcU9V+uRbUQFGvwutPOkOBs50VFu4r/AAiBazZbgGXRAkvHIEOeHWcR8LI6Q0vVWAG5G62MqjqzivA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5470420},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"33ebfb98892fe77bf9f2c52f2a531172041821b0","mcpName":"io.github.ooples/token-optimizer-mcp","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rm -rf dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Intelligent context window optimization for Claude Code - store content externally via caching and compression, freeing up your context window for what matters","directories":{},"_nodeVersion":"20.19.5","dependencies":{"cors":"^2.8.5","glob":"^11.0.3","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","async-mutex":"^0.5.0","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","@types/qs":"^6.14.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/mime":"^3.0.4","@types/node":"^24.7.2","@types/send":"^1.2.0","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@types/body-parser":"^1.19.6","@types/http-errors":"^2.0.5","@types/json-schema":"^7.0.15","@types/range-parser":"^1.2.7","@types/serve-static":"^1.15.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@types/normalize-package-data":"^2.4.4","@commitlint/config-conventional":"^19.6.0","@types/express-serve-static-core":"^5.1.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@types/conventional-commits-parser":"^5.0.1","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.12.2_1761399829886_0.9681493983547778","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.13.0":{"name":"token-optimizer-mcp","version":"2.13.0","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.13.0","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"edb974fb5b2b65b2e3f1190dec7a0bd5ae76aad2","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.13.0.tgz","fileCount":523,"integrity":"sha512-29VIYiz1UDzUAT9lZ5kLA/3P+20FgAwt+/d+SwYPCkLoZkmMKo9B9rUeFoDnF5S/bfGSdyvsuGF/PHuhk3TB2w==","signatures":[{"sig":"MEUCIQDwbpJOv0z+mEGwOKM7rSdQXFvvNc6q/cDbV0o6kfNBMwIgPR93pDAHFJ8krjxTH43XZuOAGgB8iQGQgogisJB9wHw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5350312},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"d1eada7fc10ea8c21f3077d3a709ec3bb601398a","mcpName":"io.github.ooples/token-optimizer-mcp","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rm -rf dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Intelligent context window optimization for Claude Code - store content externally via caching and compression, freeing up your context window for what matters","directories":{},"_nodeVersion":"20.19.5","dependencies":{"cors":"^2.8.5","glob":"^11.0.3","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","async-mutex":"^0.5.0","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","@types/qs":"^6.14.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/mime":"^3.0.4","@types/node":"^24.7.2","@types/send":"^1.2.0","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@types/body-parser":"^1.19.6","@types/http-errors":"^2.0.5","@types/json-schema":"^7.0.15","@types/range-parser":"^1.2.7","@types/serve-static":"^1.15.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@types/normalize-package-data":"^2.4.4","@commitlint/config-conventional":"^19.6.0","@types/express-serve-static-core":"^5.1.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@types/conventional-commits-parser":"^5.0.1","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.13.0_1761413629518_0.809695548407467","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.14.0":{"name":"token-optimizer-mcp","version":"2.14.0","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.14.0","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"ec8498e2858b05f8a0cf3d277be7fb3d6c2ab259","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.14.0.tgz","fileCount":523,"integrity":"sha512-aQ3IEqweJ+JomvCVcSiZ8N8LG9UnFfhpL3InIjdZoUP59O2Ff6TTbFMdiht7M/3cKRAOLrqdcz5/yzK6wK+o2Q==","signatures":[{"sig":"MEUCIQCDC30K5rxiDos+zV9zidDdw685R3wN6Rxxyy/IfZZJZQIgbJGjDyvFO2letJCONua0pc4gCREhtSDWC43Q/MBdDpM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5350294},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"eb2023d3f69e94d63d92eae58a2e96473498de59","mcpName":"io.github.ooples/token-optimizer-mcp","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rm -rf dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Intelligent context window optimization for Claude Code - store content externally via caching and compression, freeing up your context window for what matters","directories":{},"_nodeVersion":"20.19.5","dependencies":{"cors":"^2.8.5","glob":"^11.0.3","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","async-mutex":"^0.5.0","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","@types/qs":"^6.14.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/mime":"^3.0.4","@types/node":"^24.7.2","@types/send":"^1.2.0","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@types/body-parser":"^1.19.6","@types/http-errors":"^2.0.5","@types/json-schema":"^7.0.15","@types/range-parser":"^1.2.7","@types/serve-static":"^1.15.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@types/normalize-package-data":"^2.4.4","@commitlint/config-conventional":"^19.6.0","@types/express-serve-static-core":"^5.1.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@types/conventional-commits-parser":"^5.0.1","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.14.0_1761414244636_0.08372795732344573","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.15.0":{"name":"token-optimizer-mcp","version":"2.15.0","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.15.0","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"182b17455b0b6f869327ed6436d13ce617bb757c","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.15.0.tgz","fileCount":523,"integrity":"sha512-V2s3OpESv9AuIOKhMmR95VEod1JLXEIf1QPW25qIUow+A1b1ngar3a+rjvKBK8/Bfg7z+JHEqIJqQj5g2FQPNw==","signatures":[{"sig":"MEUCIANZscL2D4uL9sU9IyPUvQD29DPMy5ra+oMed4eGvOwfAiEA/Rv9RJlcpK+sKsT8JNYQr1E3Ozkmm5tdVjXifsBcjZg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5361477},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"b53c8fdb942d1bd741fb822171dd54e5bda7e6dd","mcpName":"io.github.ooples/token-optimizer-mcp","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rm -rf dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Intelligent context window optimization for Claude Code - store content externally via caching and compression, freeing up your context window for what matters","directories":{},"_nodeVersion":"20.19.5","dependencies":{"cors":"^2.8.5","diff":"^8.0.2","glob":"^11.0.3","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","async-mutex":"^0.5.0","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","@types/qs":"^6.14.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/mime":"^3.0.4","@types/node":"^24.7.2","@types/send":"^1.2.0","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@types/body-parser":"^1.19.6","@types/http-errors":"^2.0.5","@types/json-schema":"^7.0.15","@types/range-parser":"^1.2.7","@types/serve-static":"^1.15.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@types/normalize-package-data":"^2.4.4","@commitlint/config-conventional":"^19.6.0","@types/express-serve-static-core":"^5.1.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@types/conventional-commits-parser":"^5.0.1","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.15.0_1761528302491_0.24914600978356316","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.15.1":{"name":"token-optimizer-mcp","version":"2.15.1","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.15.1","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"66b98eeb840cf8a4e0df708595d9468ede839eae","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.15.1.tgz","fileCount":527,"integrity":"sha512-KTyxKGVGBldT1KqvTGg5WHN01F41vt230Qx9I8ax1kPBuivUdZtPckMYzH4Wb/zd0tO1Sr8BG3TaGwX4MikqdA==","signatures":[{"sig":"MEUCIBj2M8Tm2bKZS7NDZijWcFRtEkeXtltLM98TbNKKodwXAiEAwM0jMYrZfI7a83ICbZ+VZVJYx2fXy+GVzut2vZyWt2w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5408154},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"b3d8882d9e8e24f020f03d18177146980a0de9b3","mcpName":"io.github.ooples/token-optimizer-mcp","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rm -rf dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Intelligent context window optimization for Claude Code - store content externally via caching and compression, freeing up your context window for what matters","directories":{},"_nodeVersion":"20.19.5","dependencies":{"cors":"^2.8.5","diff":"^8.0.2","glob":"^11.0.3","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","async-mutex":"^0.5.0","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","@types/qs":"^6.14.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/mime":"^3.0.4","@types/node":"^24.7.2","@types/send":"^1.2.0","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@types/body-parser":"^1.19.6","@types/http-errors":"^2.0.5","@types/json-schema":"^7.0.15","@types/range-parser":"^1.2.7","@types/serve-static":"^1.15.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@types/normalize-package-data":"^2.4.4","@commitlint/config-conventional":"^19.6.0","@types/express-serve-static-core":"^5.1.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@types/conventional-commits-parser":"^5.0.1","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.15.1_1761611444478_0.002104930490475665","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.15.2":{"name":"token-optimizer-mcp","version":"2.15.2","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.15.2","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"15c39a31c0a90d7dbf2d34c140ec9975a91f6089","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.15.2.tgz","fileCount":523,"integrity":"sha512-qtu6g5PNnzChwxiU7a6j+JbBHfL2rod+lIJuFBu7SAxGkB2UaQPcms9OopPgCUAAF6mSqeE65KT3KdUCtVE4oQ==","signatures":[{"sig":"MEQCIEk30FOBoZohKvSf3lneF0yls6vJxKkUWPXe2kRJIYJ8AiBLWZ6lS6PcQoax/RIKXv2yGKRlkEZiixBExwEcoMXNBA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5408203},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"58ee8c65b877ebac1fd9fa4977630463a1cef7c6","mcpName":"io.github.ooples/token-optimizer-mcp","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rm -rf dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Intelligent context window optimization for Claude Code - store content externally via caching and compression, freeing up your context window for what matters","directories":{},"_nodeVersion":"20.19.5","dependencies":{"cors":"^2.8.5","diff":"^8.0.2","glob":"^11.0.3","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","async-mutex":"^0.5.0","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","@types/qs":"^6.14.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/mime":"^3.0.4","@types/node":"^24.7.2","@types/send":"^1.2.0","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@types/body-parser":"^1.19.6","@types/http-errors":"^2.0.5","@types/json-schema":"^7.0.15","@types/range-parser":"^1.2.7","@types/serve-static":"^1.15.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@types/normalize-package-data":"^2.4.4","@commitlint/config-conventional":"^19.6.0","@types/express-serve-static-core":"^5.1.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@types/conventional-commits-parser":"^5.0.1","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.15.2_1761655853559_0.9964259341977457","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.16.0":{"name":"token-optimizer-mcp","version":"2.16.0","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.16.0","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"4c1cfefc8b7fce2a1ff94dbcacb9ed6f476dce75","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.16.0.tgz","fileCount":523,"integrity":"sha512-9EG18r14WgbNWTaINUqc/ei8UDOUEYIgBE7Jr3MC7FB6dkjslmax4ZAWROwKMNoqWCtj9FM3iOkBuvD+brOVKw==","signatures":[{"sig":"MEUCIQC04ksfIBBPMq/qwbMoT5tJx0CSCzdmn9dlW/FKW5j2VQIgJbbLcD00EQ+QAsahtzyznbqIWBBye5h6JvwsdhEb4so=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5408203},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"451671010397f521b657d3bc4d2e0ba303c2e192","mcpName":"io.github.ooples/token-optimizer-mcp","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rm -rf dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Intelligent context window optimization for Claude Code - store content externally via caching and compression, freeing up your context window for what matters","directories":{},"_nodeVersion":"20.19.5","dependencies":{"cors":"^2.8.5","diff":"^8.0.2","glob":"^11.0.3","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","async-mutex":"^0.5.0","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","@types/qs":"^6.14.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/mime":"^3.0.4","@types/node":"^24.7.2","@types/send":"^1.2.0","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@types/body-parser":"^1.19.6","@types/http-errors":"^2.0.5","@types/json-schema":"^7.0.15","@types/range-parser":"^1.2.7","@types/serve-static":"^1.15.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@types/normalize-package-data":"^2.4.4","@commitlint/config-conventional":"^19.6.0","@types/express-serve-static-core":"^5.1.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@types/conventional-commits-parser":"^5.0.1","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.16.0_1761657278697_0.17182986388719912","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.17.0":{"name":"token-optimizer-mcp","version":"2.17.0","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"author":{"name":"ooples"},"license":"MIT","_id":"token-optimizer-mcp@2.17.0","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"homepage":"https://github.com/ooples/token-optimizer-mcp#readme","bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"bin":{"token-optimizer-mcp":"dist/server/index.js"},"dist":{"shasum":"13adcaa196ed7d2911337509280ec12e4c103b12","tarball":"https://registry.npmjs.org/token-optimizer-mcp/-/token-optimizer-mcp-2.17.0.tgz","fileCount":523,"integrity":"sha512-u2d54wKVPZb1UVAeiDVLp7hgfmUTA8GWcmbxLufVNYKMbCPxO2etFF+XA7CgAx93dMM1PgBY5xPCHtLkinlg6Q==","signatures":[{"sig":"MEUCIQDvRfxVmDVO9GFfCFWLBRRi0BkeD2/bPKtiJ5r5+9BJVQIgct3YTh5WrA+XmCVN/IQvZY9Lmyy5lpC/8dBLwv1UNUU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5408203},"main":"dist/server/index.js","type":"module","types":"dist/server/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"9fb448a3bdbc187d04a458a19b50e9d214048d6a","mcpName":"io.github.ooples/token-optimizer-mcp","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts,.js","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","clean":"rm -rf dist","start":"node dist/server/index.js","format":"prettier --write 'src/**/*.{ts,js,json}'","test:ci":"node --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --maxWorkers=2","lint:fix":"eslint src --ext .ts,.js --fix","validate":"node scripts/validate-package.js","dashboard":"node dist/server/web-server.js","test:unit":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/unit","test:watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watch","format:check":"prettier --check 'src/**/*.{ts,js,json}'","dashboard:dev":"tsc -p tsconfig.dashboard.json && node dist/server/web-server.js","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run clean && npm run build && npm test","test:benchmark":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/benchmarks","dashboard:build":"tsc -p tsconfig.dashboard.json","test:integration":"node --experimental-vm-modules node_modules/jest/bin/jest.js tests/integration"},"_npmUser":{"name":"ooples","email":"cheatcountry@gmail.com"},"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"Intelligent context window optimization for Claude Code - store content externally via caching and compression, freeing up your context window for what matters","directories":{},"_nodeVersion":"20.19.5","dependencies":{"cors":"^2.8.5","diff":"^8.0.2","glob":"^11.0.3","express":"^5.1.0","tiktoken":"^1.0.22","lru-cache":"^11.2.2","async-mutex":"^0.5.0","better-sqlite3":"^12.4.1","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","eslint":"^9.38.0","ts-jest":"^29.4.5","prettier":"^3.6.2","@types/qs":"^6.14.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/mime":"^3.0.4","@types/node":"^24.7.2","@types/send":"^1.2.0","@types/express":"^5.0.3","@commitlint/cli":"^19.6.0","semantic-release":"^24.2.0","@types/tar-stream":"^3.1.4","@types/body-parser":"^1.19.6","@types/http-errors":"^2.0.5","@types/json-schema":"^7.0.15","@types/range-parser":"^1.2.7","@types/serve-static":"^1.15.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^11.0.0","@typescript-eslint/parser":"^8.46.1","@semantic-release/changelog":"^6.0.3","@types/normalize-package-data":"^2.4.4","@commitlint/config-conventional":"^19.6.0","@types/express-serve-static-core":"^5.1.0","@typescript-eslint/eslint-plugin":"^8.46.1","@semantic-release/commit-analyzer":"^13.0.0","@types/conventional-commits-parser":"^5.0.1","@semantic-release/release-notes-generator":"^14.0.1","conventional-changelog-conventionalcommits":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/token-optimizer-mcp_2.17.0_1761657393489_0.6173372342035044","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."}},"time":{"created":"2025-10-20T00:53:16.471Z","modified":"2026-07-20T04:53:00.222Z","2.0.0":"2025-10-20T00:53:16.788Z","2.1.0":"2025-10-20T01:47:20.044Z","2.2.0":"2025-10-20T03:36:46.654Z","2.2.1":"2025-10-20T04:02:12.323Z","2.2.2":"2025-10-20T04:56:06.766Z","2.2.3":"2025-10-20T12:38:53.265Z","2.4.0":"2025-10-20T13:17:02.888Z","2.2.5":"2025-10-23T02:37:45.162Z","2.2.6":"2025-10-23T05:42:58.331Z","2.3.0":"2025-10-23T13:00:46.459Z","2.4.1":"2025-10-23T15:29:46.418Z","2.5.0":"2025-10-23T18:03:59.548Z","2.6.0":"2025-10-23T18:47:17.495Z","2.7.0":"2025-10-23T22:14:26.498Z","2.8.0":"2025-10-23T22:16:12.098Z","2.9.0":"2025-10-24T02:03:10.893Z","2.10.0":"2025-10-24T03:52:50.692Z","2.10.1":"2025-10-24T20:34:30.027Z","2.11.0":"2025-10-25T03:07:12.927Z","2.12.0":"2025-10-25T03:35:45.918Z","2.12.1":"2025-10-25T03:56:55.776Z","2.12.2":"2025-10-25T13:43:50.221Z","2.13.0":"2025-10-25T17:33:49.736Z","2.14.0":"2025-10-25T17:44:04.858Z","2.15.0":"2025-10-27T01:25:02.731Z","2.15.1":"2025-10-28T00:30:44.742Z","2.15.2":"2025-10-28T12:50:53.807Z","2.16.0":"2025-10-28T13:14:39.092Z","2.17.0":"2025-10-28T13:16:33.766Z"},"bugs":{"url":"https://github.com/ooples/token-optimizer-mcp/issues"},"author":{"name":"ooples"},"license":"MIT","homepage":"https://github.com/ooples/token-optimizer-mcp#readme","keywords":["mcp","model-context-protocol","claude","claude-code","token-optimization","caching","compression","ai","llm","context-management","prompt-optimization"],"repository":{"url":"git+https://github.com/ooples/token-optimizer-mcp.git","type":"git"},"description":"Intelligent context window optimization for Claude Code - store content externally via caching and compression, freeing up your context window for what matters","maintainers":[{"name":"ooples","email":"cheatcountry@gmail.com"}],"readme":"# Token Optimizer MCP\n\n> Intelligent token optimization through caching and compression for Claude Code and Claude Desktop\n\n## Overview\n\nToken Optimizer MCP is a Model Context Protocol (MCP) server that reduces context window usage through intelligent caching and compression. By storing compressed content externally in SQLite, the server removes tokens from your context window while keeping them accessible. The server provides tools to compress text, cache results, and analyze token usage - helping you maximize your available context window.\n\n## Key Features\n\n- **Context Window Optimization**: Store content externally to free up context window space\n- **High Compression**: Brotli compression (2-4x typical, up to 82x for repetitive content)\n- **Persistent Caching**: SQLite-based cache that persists across sessions\n- **Accurate Token Counting**: Uses tiktoken for precise token measurements\n- **Smart Analysis**: Analyze text to determine optimal caching strategy\n- **Zero External Dependencies**: Completely offline operation\n- **Production Ready**: Built with TypeScript for reliability\n- **Multi-Tool Support**: Auto-detects and configures ALL installed AI tools\n\n## Supported AI Tools\n\nThe automated installer detects and configures token-optimizer-mcp for:\n\n- ✅ **Claude Code** - CLI with global hooks integration\n- ✅ **Claude Desktop** - Native desktop application\n- ✅ **Cursor IDE** - AI-first code editor\n- ✅ **Cline** - VS Code extension (formerly Claude Dev)\n- ✅ **GitHub Copilot** - VS Code with MCP support\n- ✅ **Windsurf IDE** - AI-powered development environment\n\n**No manual configuration needed** - the installer automatically detects which tools you have installed and configures them all!\n\n## Implemented Features\n\n### Core Modules\n\n1. **Cache Engine** - SQLite-based persistent storage with automatic cleanup\n2. **Token Counter** - Accurate token counting using tiktoken (GPT-4 tokenizer)\n3. **Compression Engine** - Brotli compression for optimal token efficiency\n\n### Available MCP Tools\n\n1. **optimize_text** - Compress and cache text to reduce token usage\n2. **get_cached** - Retrieve previously cached and optimized text\n3. **count_tokens** - Count tokens in text using tiktoken\n4. **compress_text** - Compress text using Brotli compression\n5. **decompress_text** - Decompress base64-encoded Brotli-compressed text\n6. **get_cache_stats** - Get cache statistics including hit rate and compression ratio\n7. **clear_cache** - Clear all cached data\n8. **analyze_optimization** - Analyze text and get optimization recommendations\n\n## Technology Stack\n\n- **Runtime**: Node.js 20+\n- **Language**: TypeScript\n- **Database**: SQLite (better-sqlite3)\n- **Token Counting**: tiktoken\n- **Compression**: Brotli (built-in)\n- **Caching**: LRU Cache\n- **Protocol**: MCP SDK (@modelcontextprotocol/sdk)\n\n## Installation\n\n### Quick Install (Recommended)\n\nInstall the MCP server and global hooks in one command:\n\n#### Windows\n\n```powershell\n# Download and run the automated installer\nirm https://raw.githubusercontent.com/ooples/token-optimizer-mcp/main/install-hooks.ps1 | iex\n```\n\n#### macOS / Linux\n\n```bash\n# Download and run the automated installer\ncurl -fsSL https://raw.githubusercontent.com/ooples/token-optimizer-mcp/main/install-hooks.sh | bash\n```\n\nThis will:\n1. ✅ Install token-optimizer-mcp globally via npm\n2. ✅ Download and configure global Claude Code hooks\n3. ✅ **Auto-detect and configure ALL installed AI tools:**\n   - Claude Desktop\n   - Cursor IDE\n   - Cline (VS Code extension)\n   - GitHub Copilot (VS Code)\n   - Windsurf IDE\n4. ✅ Set up automatic token optimization on every tool call\n5. ✅ Configure workspace trust and execution permissions\n6. ✅ Verify the installation\n\n**Token Reduction**: 60-90% average across all operations on **all supported AI tools**!\n\n### Manual Installation\n\nFor detailed platform-specific installation instructions, see [HOOKS-INSTALLATION.md](./HOOKS-INSTALLATION.md).\n\n#### Quick Overview\n\n**All Platforms:**\n```bash\n# 1. Install the MCP server\nnpm install -g @ooples/token-optimizer-mcp\n\n# 2. Run the installer script for your platform\n```\n\n**Windows:**\n```powershell\ncd \"$env:APPDATA\\npm\\node_modules\\@ooples\\token-optimizer-mcp\"\n.\\install-hooks.ps1\n```\n\n**macOS / Linux:**\n```bash\nNPM_PREFIX=$(npm config get prefix)\ncd \"$NPM_PREFIX/lib/node_modules/@ooples/token-optimizer-mcp\"\nbash install-hooks.sh\n```\n\nSee [HOOKS-INSTALLATION.md](./HOOKS-INSTALLATION.md) for complete instructions including:\n- Platform-specific configuration\n- Workspace trust setup\n- Troubleshooting guides\n- Verification steps\n\n## How It Works\n\n### Global Hooks System (7-Phase Optimization)\n\nWhen global hooks are installed, token-optimizer-mcp runs automatically on **every tool call**:\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│ Phase 1: PreToolUse - Tool Replacement                      │\n│ ├─ Read   → smart_read   (60-90% token reduction)          │\n│ ├─ Grep   → smart_grep   (60-90% token reduction)          │\n│ └─ Glob   → smart_glob   (60-90% token reduction)          │\n└─────────────────────────────────────────────────────────────┘\n                          ↓\n┌─────────────────────────────────────────────────────────────┐\n│ Phase 2: Input Validation - Cache Lookups                   │\n│ └─ get_cached checks if operation was already done          │\n└─────────────────────────────────────────────────────────────┘\n                          ↓\n┌─────────────────────────────────────────────────────────────┐\n│ Phase 3: PostToolUse - Output Optimization                  │\n│ ├─ optimize_text for large outputs                          │\n│ └─ compress_text for repeated content                       │\n└─────────────────────────────────────────────────────────────┘\n                          ↓\n┌─────────────────────────────────────────────────────────────┐\n│ Phase 4: Session Tracking                                   │\n│ └─ Log all operations to operations-{sessionId}.csv         │\n└─────────────────────────────────────────────────────────────┘\n                          ↓\n┌─────────────────────────────────────────────────────────────┐\n│ Phase 5: UserPromptSubmit - Prompt Optimization             │\n│ └─ Optimize user prompts before sending to API              │\n└─────────────────────────────────────────────────────────────┘\n                          ↓\n┌─────────────────────────────────────────────────────────────┐\n│ Phase 6: PreCompact - Pre-Compaction Optimization           │\n│ └─ Optimize before Claude Code compacts the conversation    │\n└─────────────────────────────────────────────────────────────┘\n                          ↓\n┌─────────────────────────────────────────────────────────────┐\n│ Phase 7: Metrics & Reporting                                │\n│ └─ Track token reduction metrics and generate reports       │\n└─────────────────────────────────────────────────────────────┘\n```\n\n**Result**: Every Read, Grep, Glob, Edit, Bash operation is automatically optimized for token efficiency!\n\n### Token Reduction Metrics (Production Data)\n\nBased on 38,000+ operations:\n\n| Tool | Avg Before | Avg After | Reduction |\n|------|-----------|----------|-----------|\n| Read | 5,000 tokens | 1,850 tokens | **63%** |\n| Grep | 2,000 tokens | 740 tokens | **63%** |\n| Glob | 1,500 tokens | 555 tokens | **63%** |\n| Edit | 3,500 tokens | 1,295 tokens | **63%** |\n\n**Per-Session Savings**: 300K-700K tokens (worth $0.90-$2.10 at $3/M tokens)\n\n## Usage Examples\n\n### Optimize and Cache Text\n\n```typescript\n// Use the optimize_text tool to cache content externally\noptimize_text({\n  text: \"Your large text content here...\",\n  key: \"my-cache-key\",\n  quality: 11  // 0-11, higher = better compression\n})\n\n// Result - compressed data is stored in SQLite, NOT returned in context\n{\n  \"success\": true,\n  \"key\": \"my-cache-key\",\n  \"originalTokens\": 1500,\n  \"compressedTokens\": 450,        // Tokens IF it were in context (not relevant)\n  \"tokensSaved\": 1050,             // Context window savings (what matters)\n  \"percentSaved\": 70.5,            // Based on compression + external storage\n  \"originalSize\": 6000,\n  \"compressedSize\": 1800,          // Stored in SQLite\n  \"cached\": true\n}\n\n// Your context window now contains only the cache key (~50 tokens)\n// instead of the original 1500 tokens - 96.7% reduction in context usage!\n```\n\n### Retrieve Cached Text\n\n```typescript\n// Use the get_cached tool\nget_cached({ key: \"my-cache-key\" })\n\n// Result:\n{\n  \"success\": true,\n  \"key\": \"my-cache-key\",\n  \"text\": \"Your original text content...\",\n  \"fromCache\": true\n}\n```\n\n### Count Tokens\n\n```typescript\n// Use the count_tokens tool\ncount_tokens({ text: \"Your text here\" })\n\n// Result:\n{\n  \"tokens\": 150,\n  \"characters\": 500\n}\n```\n\n### Analyze Optimization Potential\n\n```typescript\n// Use the analyze_optimization tool\nanalyze_optimization({ text: \"Your text here\" })\n\n// Result:\n{\n  \"tokens\": {\n    \"current\": 1500,\n    \"afterCompression\": 450,\n    \"saved\": 1050,\n    \"percentSaved\": 70\n  },\n  \"size\": {\n    \"current\": 6000,\n    \"compressed\": 1800,\n    \"ratio\": 3.33,\n    \"percentSaved\": 70\n  },\n  \"recommendations\": {\n    \"shouldCompress\": true,\n    \"reason\": \"Compression will provide significant token savings\"\n  }\n}\n```\n\n### Get Cache Statistics\n\n```typescript\n// Use the get_cache_stats tool\nget_cache_stats({})\n\n// Result:\n{\n  \"totalEntries\": 15,\n  \"totalSize\": 45000,\n  \"hits\": 42,\n  \"misses\": 8,\n  \"hitRate\": 84.0,\n  \"avgCompressionRatio\": 3.2,\n  \"totalTokensSaved\": 12500\n}\n```\n\n## How Token Optimization Works\n\n### Understanding Context Window Savings vs Compression Ratio\n\nIt's important to understand the difference between **compression ratio** and **context window savings**:\n\n#### Compression Ratio\n\n- Measures how much the original data is reduced in size (e.g., 10KB → 2KB = 5x compression)\n- Brotli achieves 2-4x typical compression, up to 82x for highly repetitive content\n- **Does NOT directly translate to token savings in the compressed form**\n\n#### Context Window Savings (The Real Benefit)\n\nWhen you cache content using this MCP server:\n\n1. Original text is compressed with Brotli (up to 82x compression)\n2. Compressed data is stored externally in SQLite database\n3. **100% of original tokens are removed from your context window**\n4. Only a small cache key remains in context (~50 tokens for key + metadata)\n\n**Example**: A 10,000 token API response is cached:\n\n- **Before**: 10,000 tokens in your context window\n- **After**: ~50 tokens (cache key + metadata)\n- **Savings**: 9,950 tokens removed from context (99.5% reduction)\n\n### Why Base64 Encoding Increases Token Count\n\nWhen you compress text without caching (using `compress_text`), the compressed data must be encoded as Base64 to be transmitted as text:\n\n- Base64 encoding adds ~33% overhead to the compressed size\n- This often results in MORE tokens than the original (unless compression ratio >4x)\n- **Solution**: Use `optimize_text` which caches the compressed data externally\n\n### When Token Optimization Works Best\n\n**High Value Use Cases**:\n\n- Caching large API responses that are referenced multiple times\n- Storing repetitive configuration or data files\n- Caching large code files that need to be referenced repeatedly\n- Archiving conversation history while keeping it accessible\n\n**Lower Value Use Cases**:\n\n- Small text snippets (<500 characters) - overhead exceeds savings\n- One-time use content - no benefit from caching\n- Content with low compression ratio - external storage still helps\n\n### Token Optimization Workflow\n\n```\nOriginal Text (10,000 tokens)\n        ↓\n  Brotli Compress (82x ratio)\n        ↓\nStore in SQLite (~122 bytes)\n        ↓\nReturn Cache Key (~50 tokens)\n        ↓\nRESULT: 9,950 tokens removed from context window\n```\n\nThe key insight: **The value is in external storage, not compression alone.** Even with modest compression ratios, moving data out of your context window provides massive savings.\n\n## Development\n\n```bash\n# Build the project\nnpm run build\n\n# Run in development mode (watch)\nnpm run dev\n\n# Run tests (when implemented)\nnpm test\n\n# Run benchmarks (when implemented)\nnpm run benchmark\n```\n\n## Core Compression & Caching Mechanism\n\n1. **Compression**: Uses Brotli compression (quality 11) to reduce text size\n2. **Token Counting**: Uses tiktoken with GPT-4 tokenizer for accurate counts\n3. **Caching**: Stores compressed text in SQLite database for persistence\n4. **Cache Management**: Automatic cleanup of old entries to prevent unbounded growth\n\n## Performance\n\n- **Compression Ratio**: Typically 2-4x size reduction (up to 82x for highly repetitive content)\n- **Context Window Savings**: Up to 100% for cached content (removed from context window)\n- **Cache Hit Rate**: >80% in typical usage\n- **Overhead**: <10ms for cache operations\n- **Compression Speed**: ~1ms per KB of text\n\n## Limitations\n\n- **Small Text**: Best for text >500 characters (cache overhead on small snippets)\n- **Base64 Overhead**: Compressed-only output (without caching) may use MORE tokens due to Base64 encoding\n- **Cache Storage**: Cache size limited to prevent disk usage issues (automatic cleanup after 7 days)\n- **Compression Tradeoff**: Quality setting affects speed vs ratio (default quality 11 is optimal)\n- **Token Counting**: Uses GPT-4 tokenizer (approximation for Claude, but close enough for optimization decisions)\n- **One-Time Content**: No benefit for content that won't be referenced again (caching provides the value)\n\n## License\n\nISC\n\n## Author\n\nBuilt for optimal Claude Code token efficiency.\n","readmeFilename":"README.md"}