{"_id":"@bwhichard/varlock-mcp","_rev":"6-27f6fa6918f335cc0ca31b1aa73e6a2b","name":"@bwhichard/varlock-mcp","dist-tags":{"latest":"0.1.6"},"versions":{"0.1.0":{"name":"@bwhichard/varlock-mcp","version":"0.1.0","_id":"@bwhichard/varlock-mcp@0.1.0","maintainers":[{"name":"bwhichard","email":"bwhichard@gmail.com"}],"homepage":"https://github.com/dmno-dev/varlock#readme","bugs":{"url":"https://github.com/dmno-dev/varlock/issues"},"bin":{"varlock-mcp":"dist/cli.js"},"dist":{"shasum":"79b874e1a8d8f8a1646f15ec45707e577155e88d","tarball":"https://registry.npmjs.org/@bwhichard/varlock-mcp/-/varlock-mcp-0.1.0.tgz","fileCount":7,"integrity":"sha512-5jOVbvVViU0gMqkf9EhoOh2s1rKsDVDJGSaKHJYKzJNfkqxBetvbe/vo0oba4wq4zpXBChLVgUx453lultswMg==","signatures":[{"sig":"MEUCIQCI5bxsNH6iE7MP6g2FrYYabAUobo6IpudlSTtbTQKZ+gIgPLC1QH59S58h8F7HKM+i+/KfPI1Uyg9bdBF5QdT7duA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":224756},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"bun":">=1.3.3","node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","ts-src":"./src/index.ts","default":"./dist/index.js"}},"gitHead":"73e71980b5db34977724fb00db8b70b71b5e433f","private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest","build":"tsup","start":"node dist/cli.js","test:ci":"vitest --run","lint:fix":"bun run lint --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bwhichard","email":"bwhichard@gmail.com"},"repository":{"url":"git+https://github.com/dmno-dev/varlock.git","type":"git","directory":"packages/varlock-mcp"},"_npmVersion":"10.9.3","description":"Local-first, repo-aware MCP server for Varlock.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^4.3.5","ansis":"catalog:","@modelcontextprotocol/sdk":"1.23.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"catalog:","vitest":"catalog:","varlock":"workspace:*","typescript":"catalog:","@types/node":"catalog:","@varlock/tsconfig":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/varlock-mcp_0.1.0_1778518979520_0.8330759827758023","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@bwhichard/varlock-mcp","version":"0.1.2","_id":"@bwhichard/varlock-mcp@0.1.2","maintainers":[{"name":"bwhichard","email":"bwhichard@gmail.com"}],"homepage":"https://github.com/dmno-dev/varlock#readme","bugs":{"url":"https://github.com/dmno-dev/varlock/issues"},"bin":{"varlock-mcp":"dist/cli.js"},"dist":{"shasum":"2ae110cd1b720eda2e213b6a3c7051b841328647","tarball":"https://registry.npmjs.org/@bwhichard/varlock-mcp/-/varlock-mcp-0.1.2.tgz","fileCount":7,"integrity":"sha512-isDtf5PGGCGwkYQ/losFSaGxevLcFmbHEl/gAb9fk0lF5N7gavdNVwR3s43H1x/rg1zjDI5975DIUueXNLxB2A==","signatures":[{"sig":"MEUCIBODCs/nYUsnE9ONhZi9B6etrPiZEdYOIpipsmaEbKMbAiEA7isi/5cFCH5nYjqdBE5QiyRFaAHhYZuLXiwpnPa7IhA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":224738},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"bun":">=1.3.3","node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","ts-src":"./src/index.ts","default":"./dist/index.js"}},"gitHead":"ba4295311ec0ac2c10b0277caa43801337f88157","private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest","build":"tsup","start":"node dist/cli.js","test:ci":"vitest --run","lint:fix":"bun run lint --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bwhichard","email":"bwhichard@gmail.com"},"repository":{"url":"git+https://github.com/dmno-dev/varlock.git","type":"git","directory":"packages/varlock-mcp"},"_npmVersion":"10.9.7","description":"Local-first, repo-aware MCP server for Varlock.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.3.5","ansis":"catalog:","@modelcontextprotocol/sdk":"1.23.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"catalog:","vitest":"catalog:","varlock":"workspace:*","typescript":"catalog:","@types/node":"catalog:","@varlock/tsconfig":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/varlock-mcp_0.1.2_1778522323923_0.9319188789066168","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@bwhichard/varlock-mcp","version":"0.1.3","_id":"@bwhichard/varlock-mcp@0.1.3","maintainers":[{"name":"bwhichard","email":"bwhichard@gmail.com"}],"homepage":"https://github.com/dmno-dev/varlock#readme","bugs":{"url":"https://github.com/dmno-dev/varlock/issues"},"bin":{"varlock-mcp":"dist/cli.js"},"dist":{"shasum":"a7cb479d168fca6dedd83a8574188fefc33dab3b","tarball":"https://registry.npmjs.org/@bwhichard/varlock-mcp/-/varlock-mcp-0.1.3.tgz","fileCount":7,"integrity":"sha512-VXZDxTWPaIqNLWxFeKthS3pSc4m6SDIp4ivWjzdkPAerTb/DI3aAt94m1xKkWOIgkzkjF3LQmTYWeMTslLLq1g==","signatures":[{"sig":"MEYCIQDCAQZ5fFHJg5Qs0/AJq6QhMrxys/HXIkDA5ATExLj+3gIhAOsXoN2A9IMZfeXulabOxDUVXsVBnVNOGtcv1tU1dp13","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":216711},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"bun":">=1.3.3","node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","ts-src":"./src/index.ts","default":"./dist/index.js"}},"gitHead":"9191b6a7b480971b0b1a83d3cc3efcef65c4efe6","private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest","build":"tsup","start":"node dist/cli.js","test:ci":"vitest --run","lint:fix":"bun run lint --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bwhichard","email":"bwhichard@gmail.com"},"repository":{"url":"git+https://github.com/dmno-dev/varlock.git","type":"git","directory":"packages/varlock-mcp"},"_npmVersion":"10.9.7","description":"Local-first, repo-aware MCP server for Varlock.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.3.5","ansis":"catalog:","@modelcontextprotocol/sdk":"1.23.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"catalog:","vitest":"catalog:","varlock":"workspace:*","typescript":"catalog:","@types/node":"catalog:","@varlock/tsconfig":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/varlock-mcp_0.1.3_1778526055435_0.04766115249182934","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@bwhichard/varlock-mcp","version":"0.1.4","_id":"@bwhichard/varlock-mcp@0.1.4","maintainers":[{"name":"bwhichard","email":"bwhichard@gmail.com"}],"homepage":"https://github.com/dmno-dev/varlock#readme","bugs":{"url":"https://github.com/dmno-dev/varlock/issues"},"bin":{"varlock-mcp":"dist/cli.js"},"dist":{"shasum":"af8af9f7bbdcdce36eef77f83c6c35d9b5ea595e","tarball":"https://registry.npmjs.org/@bwhichard/varlock-mcp/-/varlock-mcp-0.1.4.tgz","fileCount":7,"integrity":"sha512-/4G536X0bVQZjkl2AZoUHIRy7CX/WqbkDbNQLEnvOmr7cOsLDXViTlU9ronFtxApGorSZl5p/VX1LXtBHHj6BA==","signatures":[{"sig":"MEUCIQDZ30HyEOcLLgjOeHBwq5UDkyfwo05lacKMjI0Z0x/MoQIgbY0yY/jVHFEzujxOjCLfZU3Z3/S06A3N8NDRg64B8sc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":216690},"main":"dist/index.js","type":"module","_from":"file:bwhichard-varlock-mcp-0.1.4.tgz","types":"dist/index.d.ts","engines":{"bun":">=1.3.3","node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","ts-src":"./src/index.ts","default":"./dist/index.js"}},"private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest","build":"tsup","start":"node dist/cli.js","test:ci":"vitest --run","lint:fix":"bun run lint --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bwhichard","email":"bwhichard@gmail.com"},"_resolved":"/home/runner/work/varlock/varlock/packages/varlock-mcp/bwhichard-varlock-mcp-0.1.4.tgz","_integrity":"sha512-/4G536X0bVQZjkl2AZoUHIRy7CX/WqbkDbNQLEnvOmr7cOsLDXViTlU9ronFtxApGorSZl5p/VX1LXtBHHj6BA==","repository":{"url":"git+https://github.com/dmno-dev/varlock.git","type":"git","directory":"packages/varlock-mcp"},"_npmVersion":"10.9.7","description":"Local-first, repo-aware MCP server for Varlock.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.3.5","ansis":"^4.2.0","varlock":"1.2.0","@modelcontextprotocol/sdk":"1.23.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"25.3.2","@varlock/tsconfig":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/varlock-mcp_0.1.4_1778527724309_0.019295711935692683","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@bwhichard/varlock-mcp","version":"0.1.5","_id":"@bwhichard/varlock-mcp@0.1.5","maintainers":[{"name":"bwhichard","email":"bwhichard@gmail.com"}],"homepage":"https://github.com/dmno-dev/varlock#readme","bugs":{"url":"https://github.com/dmno-dev/varlock/issues"},"bin":{"varlock-mcp":"dist/cli.js"},"dist":{"shasum":"22ef5fc20a132334ea7d96e682c4723ef171b35d","tarball":"https://registry.npmjs.org/@bwhichard/varlock-mcp/-/varlock-mcp-0.1.5.tgz","fileCount":7,"integrity":"sha512-Wor8HXRcimMoGLiEXNm+I4t+iJqrgBi3x8YTxHZb1n4n0GJ8iXQYW5WnggfBb6qFR2+ACNZLojipJ8PmGcn2+w==","signatures":[{"sig":"MEUCIFSC2Ua2bYvn4zxBqqpX3wu5qsG/SfKw1ybMFbD4EAvQAiEA/tgjXzYg7SWCggkEmf5U/PWw4bfZS0Ga0ySusks2Nec=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":216691},"main":"dist/index.js","type":"module","_from":"file:bwhichard-varlock-mcp-0.1.5.tgz","types":"dist/index.d.ts","engines":{"bun":">=1.3.3","node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","ts-src":"./src/index.ts","default":"./dist/index.js"}},"private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest","build":"tsup","start":"node dist/cli.js","test:ci":"vitest --run","lint:fix":"bun run lint --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bwhichard","email":"bwhichard@gmail.com"},"_resolved":"/home/runner/work/varlock/varlock/packages/varlock-mcp/bwhichard-varlock-mcp-0.1.5.tgz","_integrity":"sha512-Wor8HXRcimMoGLiEXNm+I4t+iJqrgBi3x8YTxHZb1n4n0GJ8iXQYW5WnggfBb6qFR2+ACNZLojipJ8PmGcn2+w==","repository":{"url":"git+https://github.com/dmno-dev/varlock.git","type":"git","directory":"packages/varlock-mcp"},"_npmVersion":"10.9.7","description":"Local-first, repo-aware MCP server for Varlock.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.3.5","ansis":"^4.2.0","varlock":"^1.1.0","@modelcontextprotocol/sdk":"1.23.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"25.3.2","@varlock/tsconfig":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/varlock-mcp_0.1.5_1778528630692_0.5492355060327438","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@bwhichard/varlock-mcp","version":"0.1.6","private":false,"type":"module","repository":{"type":"git","url":"git+https://github.com/dmno-dev/varlock.git","directory":"packages/varlock-mcp"},"main":"dist/index.js","types":"dist/index.d.ts","bin":{"varlock-mcp":"dist/cli.js"},"exports":{".":{"ts-src":"./src/index.ts","types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"tsup","dev":"tsup --watch","start":"node dist/cli.js","test":"vitest","test:ci":"vitest --run","lint":"eslint .","lint:fix":"bun run lint --fix","typecheck":"tsc --noEmit"},"dependencies":{"@modelcontextprotocol/sdk":"1.23.0","ansis":"^4.2.0","varlock":"^1.1.0","zod":"^4.3.5"},"devDependencies":{"@types/node":"25.3.2","@varlock/tsconfig":"0.0.0","tsup":"^8.5.1","typescript":"^5.9.3","vitest":"^4.0.18"},"engines":{"node":">=22","bun":">=1.3.3"},"_id":"@bwhichard/varlock-mcp@0.1.6","description":"Local-first, repo-aware MCP server for Varlock.","bugs":{"url":"https://github.com/dmno-dev/varlock/issues"},"homepage":"https://github.com/dmno-dev/varlock#readme","_integrity":"sha512-o6ij45SDeVHAgd+mU9Xb51B7WE5dsmD+CrQBnl6TyqI65sXe0D+U9jnCtAvkSOgyaxeS7QEcs/YPGp+LT2iQYA==","_resolved":"/home/runner/work/varlock/varlock/packages/varlock-mcp/bwhichard-varlock-mcp-0.1.6.tgz","_from":"file:bwhichard-varlock-mcp-0.1.6.tgz","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-o6ij45SDeVHAgd+mU9Xb51B7WE5dsmD+CrQBnl6TyqI65sXe0D+U9jnCtAvkSOgyaxeS7QEcs/YPGp+LT2iQYA==","shasum":"b08537d04af25c503d624e66dbe82089b1f4d797","tarball":"https://registry.npmjs.org/@bwhichard/varlock-mcp/-/varlock-mcp-0.1.6.tgz","fileCount":7,"unpackedSize":217615,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC1xmXwHhI4VlrYavQ9Dcu+wPIHKUiZcseUiJp7iHpXSwIhAIy5jL1ATjgGWrAbfjo+bLGQjrayoLNJggw03Sho5/HL"}]},"_npmUser":{"name":"bwhichard","email":"bwhichard@gmail.com"},"directories":{},"maintainers":[{"name":"bwhichard","email":"bwhichard@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/varlock-mcp_0.1.6_1778530989132_0.709363148278014"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-11T17:02:59.459Z","modified":"2026-05-11T20:23:09.381Z","0.1.0":"2026-05-11T17:02:59.698Z","0.1.2":"2026-05-11T17:58:44.064Z","0.1.3":"2026-05-11T19:00:55.608Z","0.1.4":"2026-05-11T19:28:44.497Z","0.1.5":"2026-05-11T19:43:50.845Z","0.1.6":"2026-05-11T20:23:09.288Z"},"bugs":{"url":"https://github.com/dmno-dev/varlock/issues"},"homepage":"https://github.com/dmno-dev/varlock#readme","repository":{"type":"git","url":"git+https://github.com/dmno-dev/varlock.git","directory":"packages/varlock-mcp"},"description":"Local-first, repo-aware MCP server for Varlock.","maintainers":[{"name":"bwhichard","email":"bwhichard@gmail.com"}],"readme":"# @bwhichard/varlock-mcp\n\nLocal-first, repo-aware MCP server for Varlock.\n\nThis package is intended to be configured at the *user level* in MCP clients (Cursor, VS Code, Claude Code, Codex, Gemini), but it runs *locally* over stdio.\n\n## Install / Configure (User-Level)\n\nThis is a **local stdio MCP server**: your MCP client launches a local process and communicates over stdin/stdout. The server uses the process working directory as the project root, so no path argument is needed for most clients.\n\n### Claude Code\n\n```bash\nclaude mcp add --scope user varlock-mcp --transport stdio -- bunx @bwhichard/varlock-mcp\n```\n\n### Cursor (`~/.cursor/mcp.json`)\n\n```json\n{\n  “mcpServers”: {\n    “varlock-mcp”: {\n      “command”: “bunx”,\n      “args”: [“@bwhichard/varlock-mcp”]\n    }\n  }\n}\n```\n\n### VS Code (Copilot MCP) (`~/.vscode/mcp.json` or workspace `.vscode/mcp.json`)\n\nVS Code does not set the working directory automatically, so use the `${workspaceFolder}` template variable:\n\n```json\n{\n  “servers”: {\n    “varlock-mcp”: {\n      “type”: “stdio”,\n      “command”: “bunx”,\n      “args”: [“@bwhichard/varlock-mcp”, “--root”, “${workspaceFolder}”]\n    }\n  }\n}\n```\n\n### Codex / Gemini\n\n```json\n{\n  “mcpServers”: {\n    “varlock-mcp”: {\n      “command”: “bunx”,\n      “args”: [“@bwhichard/varlock-mcp”]\n    }\n  }\n}\n```\n\nIf your client does not have `bunx`, use `npx -y @bwhichard/varlock-mcp` instead.\n\n## Run\n\n```bash\n# from a project directory\nbunx @bwhichard/varlock-mcp\n```\n\n## Security\n\nThis MCP server never returns plaintext secret values in tool responses.\n\n## Configuration\n\nOptional config files (JSON):\n\n- User: `~/.config/varlock/mcp.json`\n- Repo: `<project-root>/.varlock/mcp.json` (overrides user config)\n\nSupported keys:\n\n```json\n{\n  \"entryPaths\": [\"./\"], \n  \"publicPrefixes\": [\"PUBLIC_\", \"NEXT_PUBLIC_\", \"VITE_\"]\n}\n```\n\nNotes:\n- `entryPaths` are passed as Varlock entry points (directories or `.env` files).\n- `publicPrefixes` are only used for linting suggestions and schema conversion defaults.\n\n## Tools\n\nAll tools return structured JSON (as a text payload) and **never include resolved values**.\n\n- `schema_discover`: Loads the Varlock graph and returns which sources/files are participating (paths only) and the current env flag if present.\n- `schema_inspect`: Returns schema metadata per key (sensitivity, type hints, requiredness, source label), no values.\n- `schema_doctor`: Best-practice linting for `.env.schema` (sensitivity policy clarity, deprecated decorators, secret-looking tokens in schema/comments, public-prefix drift).\n- `env_validate`: Resolves and validates env; returns per-key status (`ok`/`missing`/`error`) plus error messages, never values.\n- `scan_secrets`: Resolves sensitive values locally and scans files for plaintext occurrences; returns finding locations only (file/line/col + key name).\n- `audit_schema_drift`: Scans code for `process.env.X`/`ENV.X` usage and compares to schema keys; returns missing/unused lists and reference locations.\nFor Varlock documentation search, add the hosted [Varlock Docs MCP](https://varlock.dev/guides/mcp/) as a separate server:\n```bash\nclaude mcp add --scope user --transport http varlock-docs-mcp https://docs.mcp.varlock.dev/mcp\n```\n\n## Wizard: `.env` / `.env.example` → `.env.schema`\n\nThree-step interactive flow:\n\n1) `schema_convert_start`: Provide source env file paths; returns a `sessionId`, global questions, and a schema preview.\n2) `schema_convert_answer`: Submit answers; returns an updated preview and indicates readiness.\n3) `schema_convert_commit`: Writes the `.env.schema` only when `confirm=true`. Uses backups by default and refuses to overwrite unless `overwrite=true`.\n\n## Publishing\n\nPublished via GitHub Actions using an npm automation token (`NPM_TOKEN` repo secret).\n\n- Workflow: `.github/workflows/publish-varlock-mcp.yml`\n- Trigger: push a tag matching `varlock-mcp-v*` (e.g. `varlock-mcp-v0.1.3`)\n","readmeFilename":"README.md"}