{"_id":"@leejpsd/nextjs-cache-handler-mcp","_rev":"3-8e3e2d23d0848fedb9ba6fc76e5ee6e9","name":"@leejpsd/nextjs-cache-handler-mcp","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@leejpsd/nextjs-cache-handler-mcp","version":"0.1.0","keywords":["mcp","modelcontextprotocol","nextjs","redis","cache","agent"],"author":{"name":"Eddy Lee","email":"leejpsd@gmail.com"},"license":"MIT","_id":"@leejpsd/nextjs-cache-handler-mcp@0.1.0","maintainers":[{"name":"leejpsd","email":"leejpsd@gmail.com"}],"homepage":"https://github.com/leejpsd/nextjs-cache-handler#readme","bugs":{"url":"https://github.com/leejpsd/nextjs-cache-handler/issues"},"bin":{"nextjs-cache-handler-mcp":"dist/server.js"},"dist":{"shasum":"c7df9598824b1308eb9a31724bc02e3a1e02e534","tarball":"https://registry.npmjs.org/@leejpsd/nextjs-cache-handler-mcp/-/nextjs-cache-handler-mcp-0.1.0.tgz","fileCount":3,"integrity":"sha512-w4MUjzCLw8b3QtuFB5gKNOAJUrowfLP6bubzub+pOsROiatQyI2qC2WiZCC3lvYoWOPXTuTQC9g6ZGf7+0woHA==","signatures":[{"sig":"MEUCIQDL8qVk+phHlCHcR2e9aZ/UKuNxFbL25hvQSkDSxkE2swIgDYOq24KLka8OL//DQTeHxRN+qjqFxO44pDEy2wB/G34=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12733},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"ac1b59c653c20859ba4cf2d2e4d6aaff35d86aaa","scripts":{"test":"npm run build && node test/smoke.mjs","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"leejpsd","email":"leejpsd@gmail.com"},"repository":{"url":"git+https://github.com/leejpsd/nextjs-cache-handler.git","type":"git","directory":"mcp"},"_npmVersion":"10.9.2","description":"MCP server for inspecting and operating @leejpsd/nextjs-cache-handler Redis caches — health, key inspection, tag state, SWR simulation, and dry-run-first invalidation for AI agents.","directories":{},"_nodeVersion":"22.17.1","dependencies":{"zod":"^3.24.0","redis":"^5.0.0","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","typescript":"^5.7.0"},"_npmOperationalInternal":{"tmp":"tmp/nextjs-cache-handler-mcp_0.1.0_1785645649621_0.017662211779424286","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@leejpsd/nextjs-cache-handler-mcp","version":"0.1.1","keywords":["mcp","modelcontextprotocol","nextjs","redis","cache","agent"],"author":{"name":"Eddy Lee","email":"leejpsd@gmail.com"},"license":"MIT","_id":"@leejpsd/nextjs-cache-handler-mcp@0.1.1","maintainers":[{"name":"leejpsd","email":"leejpsd@gmail.com"}],"homepage":"https://github.com/leejpsd/nextjs-cache-handler#readme","bugs":{"url":"https://github.com/leejpsd/nextjs-cache-handler/issues"},"bin":{"nextjs-cache-handler-mcp":"dist/server.js"},"dist":{"shasum":"01c417428963779ba60d0d7332716be672398d09","tarball":"https://registry.npmjs.org/@leejpsd/nextjs-cache-handler-mcp/-/nextjs-cache-handler-mcp-0.1.1.tgz","fileCount":3,"integrity":"sha512-tQcDIs3sRw+fRKfmRgF2MK8cAEK9XcFsOHpXnDfXdBXaUx49WtjpT0Q5dsuoSzcegI9pRI74hmoVqQOCb9rbTQ==","signatures":[{"sig":"MEUCIQDxiIwogFzE1lgGpAb0Eg0Zi7c+HjhB/UwwIj5hOKS7gAIgYvSFyHNJfHNrHvbEzI5jFRInfpcxYJghfkwY0flwJ78=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@leejpsd%2fnextjs-cache-handler-mcp@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":14251},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"7b8cea9162ade16ebd118bc8f935240f7980aed8","scripts":{"test":"npm run build && node test/smoke.mjs","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:71a51335-ead9-4d75-a5ec-244b799eff53"}},"repository":{"url":"git+https://github.com/leejpsd/nextjs-cache-handler.git","type":"git","directory":"mcp"},"_npmVersion":"12.0.2","description":"MCP server for inspecting and operating @leejpsd/nextjs-cache-handler Redis caches — health, key inspection, tag state, SWR simulation, and dry-run-first invalidation for AI agents.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.24.0","redis":"^5.0.0","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","typescript":"^5.7.0"},"_npmOperationalInternal":{"tmp":"tmp/nextjs-cache-handler-mcp_0.1.1_1785647915109_0.00795993132676398","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@leejpsd/nextjs-cache-handler-mcp","version":"0.1.2","description":"MCP server for inspecting and operating @leejpsd/nextjs-cache-handler Redis caches — health, key inspection, tag state, SWR simulation, and dry-run-first invalidation for AI agents.","keywords":["mcp","modelcontextprotocol","nextjs","redis","cache","agent"],"license":"MIT","author":{"name":"Eddy Lee","email":"leejpsd@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/leejpsd/nextjs-cache-handler.git","directory":"mcp"},"type":"module","bin":{"nextjs-cache-handler-mcp":"dist/server.js"},"scripts":{"build":"tsup","test":"npm run build && node test/smoke.mjs","typecheck":"tsc --noEmit"},"dependencies":{"@modelcontextprotocol/sdk":"^1.12.0","redis":"^5.0.0","zod":"^3.24.0"},"devDependencies":{"tsup":"^8.3.0","typescript":"^5.7.0"},"engines":{"node":">=20.0.0"},"mcpName":"io.github.leejpsd/nextjs-cache-handler-mcp","gitHead":"8d4e098124a8e5fdb1002a26342ec5da67a569ad","_id":"@leejpsd/nextjs-cache-handler-mcp@0.1.2","bugs":{"url":"https://github.com/leejpsd/nextjs-cache-handler/issues"},"homepage":"https://github.com/leejpsd/nextjs-cache-handler#readme","_nodeVersion":"22.23.1","_npmVersion":"12.0.2","dist":{"integrity":"sha512-N3uzOkwT0Sf184Pe9xTtNvC1OCfq2WquZqnXGQhKm/PDMz5RiBnbT27uOUw7GfMBcgdzFUCMls7pivgbcqUB1w==","shasum":"05a34387ccd78e665743b0eaa31c6ab8cdce5e2c","tarball":"https://registry.npmjs.org/@leejpsd/nextjs-cache-handler-mcp/-/nextjs-cache-handler-mcp-0.1.2.tgz","fileCount":3,"unpackedSize":14310,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@leejpsd%2fnextjs-cache-handler-mcp@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIG2Ip/zyiYsrPfjDJU7iU67LT4NFSCloRiGD27E6RFIsAiEAzPTrWU7vzkOwi2J014BiUboUSuvQ9iRtAKhSrePbRAM="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:71a51335-ead9-4d75-a5ec-244b799eff53"}},"directories":{},"maintainers":[{"name":"leejpsd","email":"leejpsd@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nextjs-cache-handler-mcp_0.1.2_1785649022218_0.09649652918152496"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-02T04:40:49.368Z","modified":"2026-08-02T05:37:02.648Z","0.1.0":"2026-08-02T04:40:49.753Z","0.1.1":"2026-08-02T05:18:35.254Z","0.1.2":"2026-08-02T05:37:02.337Z"},"bugs":{"url":"https://github.com/leejpsd/nextjs-cache-handler/issues"},"author":{"name":"Eddy Lee","email":"leejpsd@gmail.com"},"license":"MIT","homepage":"https://github.com/leejpsd/nextjs-cache-handler#readme","keywords":["mcp","modelcontextprotocol","nextjs","redis","cache","agent"],"repository":{"type":"git","url":"git+https://github.com/leejpsd/nextjs-cache-handler.git","directory":"mcp"},"description":"MCP server for inspecting and operating @leejpsd/nextjs-cache-handler Redis caches — health, key inspection, tag state, SWR simulation, and dry-run-first invalidation for AI agents.","maintainers":[{"name":"leejpsd","email":"leejpsd@gmail.com"}],"readme":"# @leejpsd/nextjs-cache-handler-mcp\n\nMCP (Model Context Protocol) server for\n[`@leejpsd/nextjs-cache-handler`](https://www.npmjs.com/package/@leejpsd/nextjs-cache-handler)\nRedis caches. Lets AI agents (Claude Code, Cursor, …) inspect and operate a\nrunning deployment's Next.js cache: *\"why isn't this page updating?\"*\nbecomes a `tag_state` call instead of guesswork.\n\n## Setup\n\nProject `.mcp.json` (Claude Code picks this up automatically):\n\n```json\n{\n  \"mcpServers\": {\n    \"nextjs-cache\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@leejpsd/nextjs-cache-handler-mcp\"],\n      \"env\": {\n        \"REDIS_URL\": \"redis://127.0.0.1:6379\",\n        \"DEPLOYMENT_VERSION\": \"your-deploy-id\"\n      }\n    }\n  }\n}\n```\n\nRuns locally over stdio and connects to YOUR Redis — nothing is hosted.\n\n> **AWS/ElastiCache note**: ElastiCache is VPC-internal, so a locally\n> running MCP server needs an SSH tunnel/bastion (point REDIS_URL at the\n> tunnel). Agents running inside the VPC (CI, in-cluster) connect directly.\n> Pair with the AWS agent skills/MCP: they handle the infrastructure, this\n> server handles cache semantics.\n\n## Tools\n\n| Tool | What it answers | Writes? |\n|---|---|---|\n| `cache_health` | Is Redis up? What's cached, per layer/kind? | no |\n| `cache_search` | Which keys match this pattern? | no |\n| `cache_inspect` | Decode one entry: kind, age, tags, TTL, compression, sizes | no |\n| `tag_state` | Is this tag invalidated right now, on BOTH cache layers? | no |\n| `explain_key` | Parse a raw Redis key into layer/kind/namespace/key | no |\n| `simulate_swr` | Would this entry be fresh / stale / expired, and what happens on read? | no |\n| `invalidate_tag` | Soft (SWR) or hard invalidation — **dry-run unless `confirm: true`** | gated |\n\nEnv: `REDIS_URL` (required), `DEPLOYMENT_VERSION` (recommended — scopes\nnamespace-aware tools), `CACHE_KEY_PREFIX` / `ISR_KEY_PREFIX` (only when the\nhandlers use custom prefixes).\n","readmeFilename":"README.md"}