{"_id":"clarifyprompt-mcp","_rev":"34-fe397b953e925e68df61a69cb12668e2","name":"clarifyprompt-mcp","dist-tags":{"latest":"1.15.0"},"versions":{"1.0.1":{"name":"clarifyprompt-mcp","version":"1.0.1","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.0.1","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"da8023a56ce653f8ceff430e8c547cd4aff48187","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.0.1.tgz","fileCount":34,"integrity":"sha512-y3oOJoyCtetymGAFgJnurrlElF4WmggQmqzWCfPBC/1QNgssPTdHPdWej8d7tusdg9Yg4rHrj4A5OEkFdqx//g==","signatures":[{"sig":"MEUCIQCWxjZnUJfjolQ+ZB/lMABPubk27MU6X4G9OSq3uZwiVwIgQ5IOoBGGrQneKXj6H3eukxBWWGvHMWODlBLGzigb5MM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116248},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"ac3ba50aa4b2d4382ed066e1d13e16f8f987297a","scripts":{"dev":"tsc --watch","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"MCP server for AI prompt optimization — 58 platforms across 7 categories (image, video, voice, music, code, chat, document)","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.24.0","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.0.1_1772120726202_0.3313012189984288","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"clarifyprompt-mcp","version":"1.1.0","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.1.0","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"7e9cd3a0a81859095bef5fbd6670dabe5c722993","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.1.0.tgz","fileCount":38,"integrity":"sha512-ILYFhuTVKcen6TAqxogydO6mrN9HJtEC4RWzGsCPtPOaNA8q1NRJbMNFULAgVmbXyGTgulGwuR2DqORDwpGeqQ==","signatures":[{"sig":"MEUCIQDVaKT1mfjJ/oggGF7YQ8S0atZqRb8suVCjXSG5DcSq8wIgGkhPp2ePI2o13adnePsFmBvMufNwbEKsMOV67hv+fyA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141398},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"61178d8240dd95516aed15d27c67bdb97a610ec1","scripts":{"dev":"tsc --watch","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"MCP server for AI prompt optimization — 58+ platforms across 7 categories with custom platform registration and instruction files","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.24.0","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.1.0_1773325850511_0.2354562564618754","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"clarifyprompt-mcp","version":"1.1.1","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.1.1","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"f8f414bca927b9f71bd557f05b33d063b0bfdb0a","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.1.1.tgz","fileCount":38,"integrity":"sha512-ino/phX5HTk7bfXxxVcNPWAfK3bkv4NFSDG4bIPm//AB2pJHeJjude46089ffVvpaNsux0HRJmJyc02yvasqGw==","signatures":[{"sig":"MEUCIEPf2o7R4XeXxaqzn2m8KcV3Lv13NX5daW9rd0wm+JB8AiEAnGa9hDYc60oVc2OCV5+GRmOrZXRP631B5JOks1xFf/E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141449},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"8956149650aa6bab41f043f6598cb13d0f9ca672","mcpName":"io.github.lumabyteco/clarifyprompt","scripts":{"dev":"tsc --watch","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"MCP server for AI prompt optimization — 58+ platforms across 7 categories with custom platform registration and instruction files","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.24.0","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.1.1_1773332539097_0.2028836194540442","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"clarifyprompt-mcp","version":"1.1.3","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.1.3","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"7bde05a131bc08f94ebe9585643ff3dbffb275a5","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.1.3.tgz","fileCount":38,"integrity":"sha512-B+YyEPBV/oiUYAbXSssEdDnhzdjNboDaTxLEUJA8RbEi8nfqaXDZ8172Mx29B9s7UZgZmIPsRXHyyHQgCgHpPg==","signatures":[{"sig":"MEYCIQD2kcqZqygzmT1+uILZt9cK9g4tGRpaStwVhgamqFzPHgIhAKdcR3suuXUKUhq8XJJHXAn0hG+TE2oe2vkdMNl/CKjR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141449},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"8956149650aa6bab41f043f6598cb13d0f9ca672","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"MCP server for AI prompt optimization — 58+ platforms across 7 categories with custom platform registration and instruction files","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.24.0","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.1.3_1773333199306_0.51256740836954","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"clarifyprompt-mcp","version":"1.2.0","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.2.0","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"b9886ddda53fd5aec18db3c880f38454648fbdaf","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.2.0.tgz","fileCount":60,"integrity":"sha512-fyRTieca1q642kdMEQH7kawh/r/MECO/dBYct/3vqc2qL1Ond9yu9NmPdipnKzXp9voVaMPx2ZQ5JL4/+NfNnQ==","signatures":[{"sig":"MEUCIQC8DsV7tGWA5kA56z3zX+jpLE1pmvEUXnESNGUIThN3pwIgfriqvqRXuTy++cZM7DvFguxOYKoNQM3609yy7j0V6TY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233212},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"5aa94f7e0a093b089e96e844f83adef8286d03b9","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"Context-aware MCP prompt compiler: 58+ AI platforms across 7 categories, workspace-aware signal gathering (CLAUDE.md / AGENTS.md / .cursorrules), intent resolution, target-model capability hints, local tracing, and custom platforms","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.24.0","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.2.0_1776862105097_0.835993774806502","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"clarifyprompt-mcp","version":"1.2.1","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.2.1","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"81d8f436e4d039daf1e846d242227fb316f4e2d7","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.2.1.tgz","fileCount":61,"integrity":"sha512-eCQVXMkcku7ahKRehuwFdF4Gm0P0V5F53mv4kDwUg/ILryO/MeAnLH5IuX954gUAwr0p3s4sd9QSpzW5uRAbDQ==","signatures":[{"sig":"MEUCIQDu/Rvh6wvV2vDN7UKmmpZU9RN+JN1E9kawuYgHk0rkKAIgXn7LnbeRJnV18vgwdPXqm52fJOnZnhBzURB4yuIgpSM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":249159},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"d59647431c995fa9b5ac9e96cc0cb9f26e99dae4","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"Context-aware MCP prompt compiler: 58+ AI platforms across 7 categories, workspace-aware signal gathering (CLAUDE.md / AGENTS.md / .cursorrules), intent resolution, target-model capability hints, local tracing, and custom platforms","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.24.0","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.2.1_1777019181120_0.051739694050257024","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"clarifyprompt-mcp","version":"1.3.0","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.3.0","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"1989dc18b9ddbbb5845ad2c89f298d3a9812cdb0","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.3.0.tgz","fileCount":80,"integrity":"sha512-uP+C251UeSOWW6OhXQ00M8cECnzAQptrsoAiBAAT52+/b71x/RH8U5eDqSKNHGM6yBsTSAWfmfAXEbLHgYse2w==","signatures":[{"sig":"MEQCIDd8GEwq97OaMRShrn9/6iTFW/GDHrZcIr0SsUXEj2w/AiAuXbz+qWdwhlpg3ljiViYxdl76L5pz/5X4waM0pgj3MA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":356074},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"183354daf7f69cbe4649faed8ced385cdde4b240","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"Context-aware MCP prompt compiler: persistent memory, knowledge packs, explicit token-budget curation, reflective learning, 58+ AI platforms, workspace signals (CLAUDE.md / AGENTS.md / .cursorrules), reasoning-model support. Stop tuning prompts — curate c","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.24.0","sqlite-vec":"^0.1.9","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.3.0_1777029180225_0.5446357430136333","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"clarifyprompt-mcp","version":"1.3.1","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.3.1","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"contributors":[{"url":"https://github.com/a-radwan-20","name":"Ahmed Radwan","email":"ar@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"2a784df175438d0d716ab6f1bb1a3fa4c9d3f696","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.3.1.tgz","fileCount":80,"integrity":"sha512-LrrBB7gyRtH6aaY64MxhKAHgSCLrF9DklmTiULzHLPM9QwvMNDeRoPzAnM82Qg+y/e8lV70kBfhlU0YOpdn6Lw==","signatures":[{"sig":"MEQCIQDqOY4EfCKeYpcTRMBvDsuuITfcj4BuXR/UdfcIflLcDwIfZlLoHKZ0+uVhgwcr4jx4AkAJV5tQRVzGj2UIra94Gw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":358171},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"6c13753f20d4d35eac76d7708b8c31301ea7ee73","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"Context-aware MCP prompt compiler: persistent memory, knowledge packs, explicit token-budget curation, reflective learning, 58+ AI platforms, workspace signals (CLAUDE.md / AGENTS.md / .cursorrules), reasoning-model support. Stop tuning prompts — curate c","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.24.0","sqlite-vec":"^0.1.9","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.3.1_1777031114486_0.9592579823525715","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"clarifyprompt-mcp","version":"1.3.2","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.3.2","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"contributors":[{"url":"https://github.com/a-radwan-20","name":"Ahmed Radwan","email":"ar@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"0067ae29d2308eaf96ef3ccce093b2cf14628a0e","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.3.2.tgz","fileCount":80,"integrity":"sha512-yK36YoQtXdKYKPMOktlfjnOeJWDRgeWPcOh9Orjdgc1IzGy+DmurDGuxuhV0KeI9uqDKCYHV7TJ0p1Dgtqhgdw==","signatures":[{"sig":"MEUCIQDFUQ4CrDQCSF0trQd0REG18VL9p37D2VTXYc7zt5M9OwIgM3c6MI7uAwLMiTPHDYAcnF1FZ8Cv2200AoicMR/2lHE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":361066},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"8a6666a6a7dc3a96704b58d6a7014b90a8298259","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"Context-aware MCP prompt compiler: persistent memory, knowledge packs, explicit token-budget curation, reflective learning, 58+ AI platforms, workspace signals (CLAUDE.md / AGENTS.md / .cursorrules), reasoning-model support. Stop tuning prompts — curate c","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.24.0","sqlite-vec":"^0.1.9","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.3.2_1777115915905_0.38892866641708657","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"clarifyprompt-mcp","version":"1.4.0","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.4.0","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"contributors":[{"url":"https://github.com/a-radwan-20","name":"Ahmed Radwan","email":"ar@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"808769109744a2ac9f12c621f9aa072e8a3acf11","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.4.0.tgz","fileCount":88,"integrity":"sha512-NhOe3oyeObECslVdYnBp/E6PCtUTcf61XYWX81oVkJh0T0IfrtZqrOg2OEvQNAIRJV42qodw+8qPF1e7wu2Nrg==","signatures":[{"sig":"MEMCICjdL1HtktCyYi3SCLNiJywTna0TJ4LZNqXelPD9tMs6Ah8eSnDA8HfOy9y+0zoHyGRHUJtdPUBO/zp/eb/+4s6u","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":433718},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"d973659848fe1469029ef2feb677ebb8d3c52c28","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","eval":"node evals/run.mjs","build":"tsc","start":"node dist/index.js","test:all":"npm run test:integration && npm run test:day2 && npm run test:reasoning && npm run test:wire","test:day2":"node tests/day2-memory-and-curator.mjs","test:wire":"node tests/mcp-wire.mjs","prepublishOnly":"npm run build","test:reasoning":"node tests/reasoning-models.mjs","test:integration":"node tests/integration.mjs"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"Context-aware MCP prompt compiler with a composable pipeline: clarify_with_user → ground_prompt OR optimize_prompt → critique_prompt, all in one call via compose_prompt. Persistent memory, knowledge packs, explicit token-budget curation, reflective learni","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.24.0","sqlite-vec":"^0.1.9","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"js-yaml":"^4.1.1","typescript":"^5.9.2","@types/node":"^22.15.3","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.4.0_1777136448672_0.8911655804970062","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"clarifyprompt-mcp","version":"1.5.0","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.5.0","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"contributors":[{"url":"https://github.com/a-radwan-20","name":"Ahmed Radwan","email":"ar@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"9055aff3a1fae54f2ba991a8ab836d4ec2d463e6","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.5.0.tgz","fileCount":98,"integrity":"sha512-CwIpKON3dxITIAbFUF+oK+oh2kA5aiq+UM9zF1dcS9B6GC+/seCtPmJGV0E43gDZIRNOlVdfkMslZrl44SxBNA==","signatures":[{"sig":"MEUCIDOhdwoyn1E/AkPngzVqVJV/7yr8KLi85GNGfK1Q/ydGAiEA2T76m0zu4NhYDAaw0MxzbTOlomEZLVYS8OR0g6O2KmY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":463431},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"1f5873360beb935edf183491cf3c2baa4a44edab","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","eval":"node evals/run.mjs","build":"tsc","start":"node dist/index.js","test:all":"npm run test:integration && npm run test:day2 && npm run test:reasoning && npm run test:wire","test:day2":"node tests/day2-memory-and-curator.mjs","test:wire":"node tests/mcp-wire.mjs","prepublishOnly":"npm run build","test:reasoning":"node tests/reasoning-models.mjs","test:integration":"node tests/integration.mjs"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"Context-aware MCP prompt compiler with a composable pipeline: clarify_with_user → ground_prompt OR optimize_prompt → critique_prompt, all in one call via compose_prompt. Persistent memory, knowledge packs, explicit token-budget curation, reflective learni","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.24.0","js-yaml":"^4.1.1","sqlite-vec":"^0.1.9","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3","@types/js-yaml":"^4.0.9","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.5.0_1777203971084_0.41493064826095116","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"clarifyprompt-mcp","version":"1.5.1","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.5.1","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"contributors":[{"url":"https://github.com/a-radwan-20","name":"Ahmed Radwan","email":"ar@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"0fc6a93fe9f720b2f16e08977871222b736ca0d4","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.5.1.tgz","fileCount":98,"integrity":"sha512-We9EqkuiRFNjumsB2pjz/tfnVaVyI3Hnb3vgAuVwe1ZkxCeQFAndJL14CW8bF2KJ7cueXrLt5kVpHrXGgJzXXg==","signatures":[{"sig":"MEQCIAW7qXXIURINUq9aStRF19l0i0r+SyTpS366VNwL/F6zAiAjbU96WUacqFqCP5jIr9CTRuHWDW7+/00sW0923TAogQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":468938},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"c8cc1196b1859cc81f2ae6eff6d4ca08425ec01d","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","eval":"node evals/run.mjs","build":"tsc","start":"node dist/index.js","test:all":"npm run test:integration && npm run test:day2 && npm run test:reasoning && npm run test:wire","test:day2":"node tests/day2-memory-and-curator.mjs","test:wire":"node tests/mcp-wire.mjs","prepublishOnly":"npm run build","test:reasoning":"node tests/reasoning-models.mjs","test:integration":"node tests/integration.mjs"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"Context-aware MCP prompt compiler with a composable pipeline: clarify_with_user → ground_prompt OR optimize_prompt → critique_prompt, all in one call via compose_prompt. Persistent memory, knowledge packs, explicit token-budget curation, reflective learni","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.24.0","js-yaml":"^4.1.1","sqlite-vec":"^0.1.9","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3","@types/js-yaml":"^4.0.9","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.5.1_1777205879848_0.17938879118547013","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"clarifyprompt-mcp","version":"1.5.2","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.5.2","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"contributors":[{"url":"https://github.com/a-radwan-20","name":"Ahmed Radwan","email":"ar@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"47bae93762fe1904f8927c7bd866e2da67401574","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.5.2.tgz","fileCount":98,"integrity":"sha512-6mJBafbM6VUQxTXNCh973DUMOHvxsrewtqlyw7BVHpNxf69CPkRWdSPbt4zwcYMrYTIp+kFz/m/dHYPhwBknsw==","signatures":[{"sig":"MEUCIG97mrAr1Vf2LTRbJ+4hNg+ikPCQKD//I3f77xBts60RAiEAsavdhf3qT2msjPljZdpia+y2AUdoA6Ltry2WB+lMPcg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":475863},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"f942ae0cc470fdf85a49d78b1e72c8a9ffe885a4","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","eval":"node evals/run.mjs","build":"tsc","start":"node dist/index.js","test:all":"npm run test:integration && npm run test:day2 && npm run test:reasoning && npm run test:wire","test:day2":"node tests/day2-memory-and-curator.mjs","test:wire":"node tests/mcp-wire.mjs","prepublishOnly":"npm run build","test:reasoning":"node tests/reasoning-models.mjs","test:integration":"node tests/integration.mjs"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"Context-aware MCP prompt compiler with a composable pipeline: clarify_with_user → ground_prompt OR optimize_prompt → critique_prompt, all in one call via compose_prompt. Persistent memory, knowledge packs, explicit token-budget curation, reflective learni","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.24.0","js-yaml":"^4.1.1","sqlite-vec":"^0.1.9","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3","@types/js-yaml":"^4.0.9","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.5.2_1777371824576_0.8082424876121743","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"clarifyprompt-mcp","version":"1.6.0","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.6.0","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"contributors":[{"url":"https://github.com/a-radwan-20","name":"Ahmed Radwan","email":"ar@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"cf14c4d09ce5ea3a720e2621f99fcc0c0fad1727","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.6.0.tgz","fileCount":102,"integrity":"sha512-7gPWD2Jdz1UesnyyyUThEMSkTPtjo4ysVTtA9ifIoPOvRMoAzjr9PkX1HXQ5ZUbEQcbm3inRI9OF7SH+TWfFlQ==","signatures":[{"sig":"MEYCIQCjmQ9yXUOxdN/9I+YfHIWssJvfizP91M4JMY6lZ8LkxgIhAPa779WPp2bXb890d1a9A/RyiPDoA0vkbyTSA/wdGHjJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":502768},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"d1815893b5fe4c5566c23bb7ba589cc1f6978458","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","eval":"node evals/run.mjs","build":"tsc","start":"node dist/index.js","test:all":"npm run test:integration && npm run test:day2 && npm run test:reasoning && npm run test:wire","test:day2":"node tests/day2-memory-and-curator.mjs","test:wire":"node tests/mcp-wire.mjs","prepublishOnly":"npm run build","test:reasoning":"node tests/reasoning-models.mjs","test:integration":"node tests/integration.mjs"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"Context-aware MCP prompt compiler with a composable pipeline: clarify_with_user → ground_prompt OR optimize_prompt → critique_prompt, all in one call via compose_prompt. Persistent memory, knowledge packs, explicit token-budget curation, reflective learni","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.24.0","js-yaml":"^4.1.1","sqlite-vec":"^0.1.9","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3","@types/js-yaml":"^4.0.9","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.6.0_1779729320186_0.6405438491453663","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"clarifyprompt-mcp","version":"1.6.1","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.6.1","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"contributors":[{"url":"https://github.com/a-radwan-20","name":"Ahmed Radwan","email":"ar@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"0fd69822b74ccaa6861d6114fb4131cddfbb1332","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.6.1.tgz","fileCount":102,"integrity":"sha512-Tgw3EPOo/BDDx9N24f5NCoqfHrch08h2kKJHmqDYXGHKTfRkDW2UpED9vjJOIm7A0XHZAymv7FDB/qCWaNG7GQ==","signatures":[{"sig":"MEUCIQCb600XSGAyRHu4uYY2KyBKAcIFVpNj7Wir4AKShlTZ0QIgGXM9SFlwZoP8dta3EN8LOtcsDzaDI1YnVCk/B2/fMdk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":508940},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"45edf8eb59f9752902c1a4f8d09aff4c03523365","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","eval":"node evals/run.mjs","build":"tsc","start":"node dist/index.js","test:all":"npm run test:integration && npm run test:day2 && npm run test:reasoning && npm run test:wire","test:day2":"node tests/day2-memory-and-curator.mjs","test:wire":"node tests/mcp-wire.mjs","prepublishOnly":"npm run build","test:reasoning":"node tests/reasoning-models.mjs","test:integration":"node tests/integration.mjs"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"Context-aware MCP prompt compiler with a composable pipeline: clarify_with_user → ground_prompt OR optimize_prompt → critique_prompt, all in one call via compose_prompt. Persistent memory, knowledge packs, explicit token-budget curation, reflective learni","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.24.0","js-yaml":"^4.1.1","sqlite-vec":"^0.1.9","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3","@types/js-yaml":"^4.0.9","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.6.1_1779811716931_0.6823720495023371","host":"s3://npm-registry-packages-npm-production"}},"1.6.2":{"name":"clarifyprompt-mcp","version":"1.6.2","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.6.2","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"contributors":[{"url":"https://github.com/a-radwan-20","name":"Ahmed Radwan","email":"ar@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"60d7cfa350c03f31f6d2d375f345514db4fb7c67","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.6.2.tgz","fileCount":103,"integrity":"sha512-2tD/nGy/Jbae83xpg9e2bW4EKxLLgkr/cFBrtCfBiBB/PVYjyl6ZTDwlbJzpCymg9f70GMdYYBMqtZgKOrllsA==","signatures":[{"sig":"MEUCIAWM3x7uONtjS7BHmX3Og6mDCidKjC6wd+DHq7U8PaXDAiEA7OeapKSY09fXsrKxi5IkIJ4ilt8N0D3tpPfKQLqlRg8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":523483},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"fb958ea0c6c631f1abeb94cb2dd0ef0ff04d8de3","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","eval":"node evals/run.mjs","build":"tsc","start":"node dist/index.js","matrix":"node evals/matrix.mjs","test:all":"npm run test:integration && npm run test:day2 && npm run test:reasoning && npm run test:wire","test:day2":"node tests/day2-memory-and-curator.mjs","test:wire":"node tests/mcp-wire.mjs","prepublishOnly":"npm run build","test:reasoning":"node tests/reasoning-models.mjs","test:integration":"node tests/integration.mjs"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"Context-aware MCP prompt compiler with a composable pipeline: clarify_with_user → ground_prompt OR optimize_prompt → critique_prompt, all in one call via compose_prompt. Persistent memory, knowledge packs, explicit token-budget curation, reflective learni","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.24.0","js-yaml":"^4.1.1","sqlite-vec":"^0.1.9","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3","@types/js-yaml":"^4.0.9","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.6.2_1779812240603_0.4228196533884945","host":"s3://npm-registry-packages-npm-production"}},"1.6.3":{"name":"clarifyprompt-mcp","version":"1.6.3","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.6.3","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"contributors":[{"url":"https://github.com/a-radwan-20","name":"Ahmed Radwan","email":"ar@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"d6f1236c3d5f4da4efe3042a9edf2f8fe4cc1782","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.6.3.tgz","fileCount":103,"integrity":"sha512-5iHtQ+NiYJ1iVocG/PJMENJj6fpLA6q9js7tUUf49pVGrvaQTUJNTN7M6Z2A8DcTlA3uZwAuGGZ1hMhRaQrmzA==","signatures":[{"sig":"MEQCIFBU62MZWfvmHEQQ1QaReLks1ldVqlFIE0ivNtiHHVcdAiANbreY4xXQwJ7NpJJkdmbCTU2cK08epf3SssMs1ccUNQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":527339},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"c6f1671efa4e94769932ea7e389f47b699019955","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","eval":"node evals/run.mjs","build":"tsc","start":"node dist/index.js","matrix":"node evals/matrix.mjs","test:all":"npm run test:integration && npm run test:day2 && npm run test:reasoning && npm run test:wire","test:day2":"node tests/day2-memory-and-curator.mjs","test:wire":"node tests/mcp-wire.mjs","prepublishOnly":"npm run build","test:reasoning":"node tests/reasoning-models.mjs","test:integration":"node tests/integration.mjs"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"Context-aware MCP prompt compiler with a composable pipeline: clarify_with_user → ground_prompt OR optimize_prompt → critique_prompt, all in one call via compose_prompt. Persistent memory, knowledge packs, explicit token-budget curation, reflective learni","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.24.0","js-yaml":"^4.1.1","sqlite-vec":"^0.1.9","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3","@types/js-yaml":"^4.0.9","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.6.3_1779812949827_0.9888288725144347","host":"s3://npm-registry-packages-npm-production"}},"1.6.4":{"name":"clarifyprompt-mcp","version":"1.6.4","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.6.4","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"contributors":[{"url":"https://github.com/a-radwan-20","name":"Ahmed Radwan","email":"ar@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"ff81f3948857680bc93f5ac5b784c6d477cb89e3","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.6.4.tgz","fileCount":104,"integrity":"sha512-2IRYXUOWWwSUldCRtHTKCVe+0xch+Q4qX/6MuG4IuQ8s11N051tVaKl5WEXokhS+mMHnqDz0shu9zSIqoaVoRA==","signatures":[{"sig":"MEQCIBX1gFvePuCWIkhMu2UKLMVyHAbesOsoPzNs/4dc1xyvAiAr+7JWhRitaoJGQhCIZtYwhsCcoOseyr9juO7oRtEwng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":541505},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"177f8a62f0971dbce1ea585fa753fb96fb69ae48","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","eval":"node evals/run.mjs","build":"tsc","start":"node dist/index.js","matrix":"node evals/matrix.mjs","test:all":"npm run test:integration && npm run test:day2 && npm run test:reasoning && npm run test:wire","test:day2":"node tests/day2-memory-and-curator.mjs","test:wire":"node tests/mcp-wire.mjs","prepublishOnly":"npm run build","test:reasoning":"node tests/reasoning-models.mjs","test:integration":"node tests/integration.mjs"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"Context-aware MCP prompt compiler with a composable pipeline: clarify_with_user → ground_prompt OR optimize_prompt → critique_prompt, all in one call via compose_prompt. Persistent memory, knowledge packs, explicit token-budget curation, reflective learni","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.24.0","js-yaml":"^4.1.1","sqlite-vec":"^0.1.9","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3","@types/js-yaml":"^4.0.9","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.6.4_1779895941671_0.16862497255568543","host":"s3://npm-registry-packages-npm-production"}},"1.6.5":{"name":"clarifyprompt-mcp","version":"1.6.5","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.6.5","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"contributors":[{"url":"https://github.com/a-radwan-20","name":"Ahmed Radwan","email":"ar@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"646c6fd71bab11e757a6aa07654a6c85dad47e24","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.6.5.tgz","fileCount":104,"integrity":"sha512-+QXmyDLz2PCJ+x/NnIIpEckCklnfzgK3+Axw+DBLnD0A648qlnWaFpsodxqcYM8sP+Uem/RpbrP6Q8TkA7cOzw==","signatures":[{"sig":"MEQCIEWQCxsviKiCscIFxdOhO/En78x7qLX9vrpRxdLbKPcEAiAnpH7/VsVbUFNUXNhBo6uitSM7Qz+A8886aep80YzTCA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":546663},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"5b958617d07fbde37a9cad049e7c01a4e8ac5ab2","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","eval":"node evals/run.mjs","build":"tsc","start":"node dist/index.js","matrix":"node evals/matrix.mjs","test:all":"npm run test:integration && npm run test:day2 && npm run test:reasoning && npm run test:wire","test:day2":"node tests/day2-memory-and-curator.mjs","test:wire":"node tests/mcp-wire.mjs","prepublishOnly":"npm run build","test:reasoning":"node tests/reasoning-models.mjs","test:integration":"node tests/integration.mjs"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"Context-aware MCP prompt compiler with a composable pipeline: clarify_with_user → ground_prompt OR optimize_prompt → critique_prompt, all in one call via compose_prompt. Persistent memory, knowledge packs, explicit token-budget curation, reflective learni","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.25.76","js-yaml":"^4.1.1","sqlite-vec":"^0.1.9","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3","@types/js-yaml":"^4.0.9","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.6.5_1780252852254_0.36854690894259323","host":"s3://npm-registry-packages-npm-production"}},"1.6.6":{"name":"clarifyprompt-mcp","version":"1.6.6","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.6.6","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"contributors":[{"url":"https://github.com/a-radwan-20","name":"Ahmed Radwan","email":"ar@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"5702516d4fef9557a2704ab54aaae9fbfd852be2","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.6.6.tgz","fileCount":104,"integrity":"sha512-eBlPyh88vr4ugRUZuaIsDmuh5w0HBrrQAIFfN5mRpnvx6PFGL6o5z6Gb8SV4kRAQdzDnHWzWF4/kfCsRJ0j8cQ==","signatures":[{"sig":"MEYCIQDIHAy2n3mt5DjjV9xu3Km+O3WmeLEB2SQ10cGgz7nOhQIhALpsP+SOJusmFpIHuM1CbV6/o93GEwFRUfNY9xx6W8Ew","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":551708},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"432425972e080f18fc2c6eabba65f2e6e3a60c8d","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","eval":"node evals/run.mjs","build":"tsc","start":"node dist/index.js","matrix":"node evals/matrix.mjs","test:all":"npm run test:integration && npm run test:day2 && npm run test:reasoning && npm run test:wire","test:day2":"node tests/day2-memory-and-curator.mjs","test:wire":"node tests/mcp-wire.mjs","prepublishOnly":"npm run build","test:reasoning":"node tests/reasoning-models.mjs","test:integration":"node tests/integration.mjs"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"Context-aware MCP prompt compiler with a composable pipeline: clarify_with_user → ground_prompt OR optimize_prompt → critique_prompt, all in one call via compose_prompt. Persistent memory, knowledge packs, explicit token-budget curation, reflective learni","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.25.76","js-yaml":"^4.1.1","sqlite-vec":"^0.1.9","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3","@types/js-yaml":"^4.0.9","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.6.6_1780253351601_0.470645472567629","host":"s3://npm-registry-packages-npm-production"}},"1.6.7":{"name":"clarifyprompt-mcp","version":"1.6.7","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.6.7","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"contributors":[{"url":"https://github.com/a-radwan-20","name":"Ahmed Radwan","email":"ar@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"b23a0d5862c66e65bdba142b7da9b34860b98f37","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.6.7.tgz","fileCount":104,"integrity":"sha512-J4xyLt7o680X8JZn1SYBeJxDuA1HVsiG6QdGCaBH20NT7hcpJXUu6OlMybtLlk8t5GGmhPnt9ykc5qOBt6hgcA==","signatures":[{"sig":"MEUCIQCM9zfscW/eb5GQ8jHfBbXa/S0zekubren3ZlGga9Ro7wIgS/CgL/M1a57bfIZWzsgQ8pqObpjS+LX9Z83XnjqLNNA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":554635},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"62bda1dc07d1249b322c507e6fa8a7159904cfb6","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","eval":"node evals/run.mjs","build":"tsc","start":"node dist/index.js","matrix":"node evals/matrix.mjs","test:all":"npm run test:integration && npm run test:day2 && npm run test:reasoning && npm run test:wire","test:day2":"node tests/day2-memory-and-curator.mjs","test:wire":"node tests/mcp-wire.mjs","prepublishOnly":"npm run build","test:reasoning":"node tests/reasoning-models.mjs","test:integration":"node tests/integration.mjs"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"Context-aware MCP prompt compiler with a composable pipeline: clarify_with_user → ground_prompt OR optimize_prompt → critique_prompt, all in one call via compose_prompt. Persistent memory, knowledge packs, explicit token-budget curation, reflective learni","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.25.76","js-yaml":"^4.1.1","sqlite-vec":"^0.1.9","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3","@types/js-yaml":"^4.0.9","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.6.7_1780255012049_0.4163922243418572","host":"s3://npm-registry-packages-npm-production"}},"1.6.8":{"name":"clarifyprompt-mcp","version":"1.6.8","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.6.8","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"contributors":[{"url":"https://github.com/a-radwan-20","name":"Ahmed Radwan","email":"ar@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"886f81fe11d7076f8f364b86a96a9566d140ecb8","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.6.8.tgz","fileCount":104,"integrity":"sha512-lh6lwhWSH3Sx+BdOS4HBEFh944aQLUWLd88Bh6vK29Z0SRRKkDLyAd0QMS6GtW07tbsRRM8iD8D07bh+xrUtDA==","signatures":[{"sig":"MEUCIENE8zOOsvY3CAwHE8HG02hU2oTEH52pl89+aTFtE35+AiEA8K+MQctZCf9NghL3AAMufgJ52/QL4ANlLlsA19llL14=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":558662},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"87a9ec5e7008ea595762b7aaba4fdeb488154dc9","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","eval":"node evals/run.mjs","build":"tsc","start":"node dist/index.js","matrix":"node evals/matrix.mjs","test:all":"npm run test:integration && npm run test:day2 && npm run test:reasoning && npm run test:wire","test:day2":"node tests/day2-memory-and-curator.mjs","test:wire":"node tests/mcp-wire.mjs","prepublishOnly":"npm run build","test:reasoning":"node tests/reasoning-models.mjs","test:integration":"node tests/integration.mjs"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"Context-aware MCP prompt compiler with a composable pipeline: clarify_with_user → ground_prompt OR optimize_prompt → critique_prompt, all in one call via compose_prompt. Persistent memory, knowledge packs, explicit token-budget curation, reflective learni","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.25.76","js-yaml":"^4.1.1","sqlite-vec":"^0.1.9","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3","@types/js-yaml":"^4.0.9","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.6.8_1780304850417_0.3990506304300774","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"clarifyprompt-mcp","version":"1.7.0","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.7.0","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"contributors":[{"url":"https://github.com/a-radwan-20","name":"Ahmed Radwan","email":"ar@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"51f50970fbcf39ca2548f80cb544f3e1d804b460","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.7.0.tgz","fileCount":104,"integrity":"sha512-zYCsKOPq/eCCAcre7wg9LQSE+/xAcaVRoz9oAn4LyUfQa4OC0PGWLoAjpOWw31k0lw8Brs8uPyIkvJAGzKL+Ng==","signatures":[{"sig":"MEUCIQCY1lnisdE/PjWuAJ9GxQYMnvqWVHdFvMSwEQ9hOjpLkAIgcEsqgwOFCt3kbKh1mTHRrofewo4/ArarsiFG348Jahk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":570699},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"ceb4f18f292101955b0c3371708bef968abdde7a","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","eval":"node evals/run.mjs","build":"tsc","start":"node dist/index.js","matrix":"node evals/matrix.mjs","test:all":"npm run test:integration && npm run test:day2 && npm run test:reasoning && npm run test:wire","test:day2":"node tests/day2-memory-and-curator.mjs","test:wire":"node tests/mcp-wire.mjs","prepublishOnly":"npm run build","test:reasoning":"node tests/reasoning-models.mjs","test:integration":"node tests/integration.mjs"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"Context-aware MCP prompt compiler with a composable pipeline: clarify_with_user → ground_prompt OR optimize_prompt → critique_prompt, all in one call via compose_prompt. Persistent memory, knowledge packs, explicit token-budget curation, reflective learni","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.25.76","js-yaml":"^4.1.1","sqlite-vec":"^0.1.9","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3","@types/js-yaml":"^4.0.9","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.7.0_1781284199652_0.2340265135586057","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"clarifyprompt-mcp","version":"1.7.1","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.7.1","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"contributors":[{"url":"https://github.com/a-radwan-20","name":"Ahmed Radwan","email":"ar@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"3453cf43e2c42e1383b20ada2a7e737e08ae12ca","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.7.1.tgz","fileCount":104,"integrity":"sha512-t8EQhwMaZFtjS4rquZSthQJ2VwjPb8uu1F5c56W3rXpzDYQZfn8tySY+JaZ0UYzjCo8/FADfeyp8ED/yvX/riA==","signatures":[{"sig":"MEUCIQDf4i/jgQ6tz9sZtJALUGwt45R6dbg9LnsIVCe+ptNqFgIgfmpnAl+Ho61h8oq/AlxSYUJy9dzDg6Qd/k3iSz8UEok=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":578897},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"a979ea3dd38077b80b98ede69dec3d68898a0536","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","eval":"node evals/run.mjs","build":"tsc","start":"node dist/index.js","matrix":"node evals/matrix.mjs","test:all":"npm run test:integration && npm run test:day2 && npm run test:reasoning && npm run test:thinking && npm run test:wire","test:day2":"node tests/day2-memory-and-curator.mjs","test:wire":"node tests/mcp-wire.mjs","test:thinking":"node tests/llm-thinking-channel.mjs","prepublishOnly":"npm run build","test:reasoning":"node tests/reasoning-models.mjs","test:integration":"node tests/integration.mjs"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"Context-aware MCP prompt compiler with a composable pipeline: clarify_with_user → ground_prompt OR optimize_prompt → critique_prompt, all in one call via compose_prompt. Persistent memory, knowledge packs, explicit token-budget curation, reflective learni","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.25.76","js-yaml":"^4.1.1","sqlite-vec":"^0.1.9","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3","@types/js-yaml":"^4.0.9","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.7.1_1781434290274_0.21206613067129787","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"clarifyprompt-mcp","version":"1.8.0","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.8.0","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"contributors":[{"url":"https://github.com/a-radwan-20","name":"Ahmed Radwan","email":"ar@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"714b7b7e75316cd56363278520d86371fe0d7c77","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.8.0.tgz","fileCount":104,"integrity":"sha512-2+1jaMR0yKLmZI9hDVHHkUzIZ6wDqHtk01q1q5J+4VQ+Oq1mNOvZ/90uEVaaZW4s0IXwOINDSVOZjVTAMOgstA==","signatures":[{"sig":"MEUCIQCRFHUx23LMX/HAVM3NWo+gcgQC62Mi/aa1UAtnPNLJigIgEmLs0oeWnOJvby/CNdyIiDjL2QW3DqoTMu4AUhwZIVQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":592208},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"1d831d8cba2798e15182de7538f1822396992da3","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","eval":"node evals/run.mjs","build":"tsc","start":"node dist/index.js","matrix":"node evals/matrix.mjs","test:all":"npm run test:integration && npm run test:day2 && npm run test:reasoning && npm run test:thinking && npm run test:wire && npm run test:resources","test:day2":"node tests/day2-memory-and-curator.mjs","test:wire":"node tests/mcp-wire.mjs","test:thinking":"node tests/llm-thinking-channel.mjs","prepublishOnly":"npm run build","test:reasoning":"node tests/reasoning-models.mjs","test:resources":"node tests/mcp-resources.mjs","test:integration":"node tests/integration.mjs"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"Context-aware MCP prompt compiler with a composable pipeline: clarify_with_user → ground_prompt OR optimize_prompt → critique_prompt, all in one call via compose_prompt. Persistent memory, knowledge packs, explicit token-budget curation, reflective learni","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.25.76","js-yaml":"^4.1.1","sqlite-vec":"^0.1.9","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3","@types/js-yaml":"^4.0.9","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.8.0_1781529110531_0.5950150089121375","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"clarifyprompt-mcp","version":"1.9.0","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.9.0","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"contributors":[{"url":"https://github.com/a-radwan-20","name":"Ahmed Radwan","email":"ar@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"3bc1ff85dafa9b5519e8b65c3c558fcb0a37e636","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.9.0.tgz","fileCount":106,"integrity":"sha512-baBM1sD+ECcI7dBHmGMsWsSm2hnY5YGR5i3TdSUJjfVJRZFQX/b8tO+0f8q2ExazffSkHHuhIGrD3tf4pklYew==","signatures":[{"sig":"MEYCIQDy0VuddvRY8x7Pz2fQ+oqHbPKAxpLvC0KUOkPh9fhUUwIhAPqDiInZrT0gdouBIPJKLRlB5WdF4Xe/ySXkQjcobCyw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":604048},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"a31d7a123f10d8ce11580f95a3392b05cdc55502","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","eval":"node evals/run.mjs","build":"tsc","start":"node dist/index.js","matrix":"node evals/matrix.mjs","test:all":"npm run test:integration && npm run test:day2 && npm run test:reasoning && npm run test:thinking && npm run test:elicit && npm run test:wire && npm run test:resources","test:day2":"node tests/day2-memory-and-curator.mjs","test:wire":"node tests/mcp-wire.mjs","test:elicit":"node tests/elicitation.mjs","test:thinking":"node tests/llm-thinking-channel.mjs","prepublishOnly":"npm run build","test:reasoning":"node tests/reasoning-models.mjs","test:resources":"node tests/mcp-resources.mjs","test:integration":"node tests/integration.mjs"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"Context-aware MCP prompt compiler with a composable pipeline: clarify_with_user → ground_prompt OR optimize_prompt → critique_prompt, all in one call via compose_prompt. Persistent memory, knowledge packs, explicit token-budget curation, reflective learni","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.25.76","js-yaml":"^4.2.0","sqlite-vec":"^0.1.9","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3","@types/js-yaml":"^4.0.9","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.9.0_1781711359943_0.8446219662905339","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"clarifyprompt-mcp","version":"1.10.0","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.10.0","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"contributors":[{"url":"https://github.com/a-radwan-20","name":"Ahmed Radwan","email":"ar@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"7b7eab45358f0b934a052a0e0cf0bfaf6962ce8b","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.10.0.tgz","fileCount":106,"integrity":"sha512-cs0hqyadLe5bsK0PtBLXqcpjAhOsVXX6++t7EifqRH4sL59P1xvPwS4GqyDZgpAC9z44L5g6iy+X6Al4bvjHVg==","signatures":[{"sig":"MEQCIE8QbaKjthHZEozUuAUu3T1DEwfWNQ6Tk6z0r9i8qbxPAiBkm5+UcTabfaiehgrvsHk2IdVIrFCuoAy2dLJXFsXYFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":613555},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"5a3a03819d363432fc2033db1a9feb247e5bf3c6","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","eval":"node evals/run.mjs","build":"tsc","start":"node dist/index.js","matrix":"node evals/matrix.mjs","test:all":"npm run test:integration && npm run test:day2 && npm run test:reasoning && npm run test:thinking && npm run test:elicit && npm run test:cancel && npm run test:wire && npm run test:resources","test:day2":"node tests/day2-memory-and-curator.mjs","test:wire":"node tests/mcp-wire.mjs","test:cancel":"node tests/cancellation.mjs","test:elicit":"node tests/elicitation.mjs","test:thinking":"node tests/llm-thinking-channel.mjs","prepublishOnly":"npm run build","test:reasoning":"node tests/reasoning-models.mjs","test:resources":"node tests/mcp-resources.mjs","test:integration":"node tests/integration.mjs"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"Context-aware MCP prompt compiler with a composable pipeline: clarify_with_user → ground_prompt OR optimize_prompt → critique_prompt, all in one call via compose_prompt. Persistent memory, knowledge packs, explicit token-budget curation, reflective learni","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.25.76","js-yaml":"^4.2.0","sqlite-vec":"^0.1.9","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3","@types/js-yaml":"^4.0.9","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.10.0_1781774136216_0.8764189941904332","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"clarifyprompt-mcp","version":"1.11.0","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.11.0","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"contributors":[{"url":"https://github.com/a-radwan-20","name":"Ahmed Radwan","email":"ar@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"c23fe762d05639567ba40cc296310af41c8498f7","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.11.0.tgz","fileCount":108,"integrity":"sha512-r7npqlxcEjlT2dwYvD2kuv0XNXeZ1O9B6hG+qdo5hOvxk/JH+IXZ0Zmaz2JRm6UGHrdEgkpyuuKRZQmkXHeEwg==","signatures":[{"sig":"MEYCIQCwB8WVunzh9NI2aQVPRJZvcmv/kL/OKKpRRp9PVgV5ggIhAJw8t7Q95gy69CT/Blt0W0mRM5RVdiLoLfd+5UGSMCi2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628018},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"7745b0b70ad3558a691723e5aa0f4a342bd31f38","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","eval":"node evals/run.mjs","build":"tsc","start":"node dist/index.js","matrix":"node evals/matrix.mjs","test:all":"npm run test:integration && npm run test:day2 && npm run test:reasoning && npm run test:thinking && npm run test:elicit && npm run test:cancel && npm run test:wire && npm run test:resources && npm run test:http","test:day2":"node tests/day2-memory-and-curator.mjs","test:http":"node tests/http-transport.mjs","test:wire":"node tests/mcp-wire.mjs","test:cancel":"node tests/cancellation.mjs","test:elicit":"node tests/elicitation.mjs","test:thinking":"node tests/llm-thinking-channel.mjs","prepublishOnly":"npm run build","test:reasoning":"node tests/reasoning-models.mjs","test:resources":"node tests/mcp-resources.mjs","test:integration":"node tests/integration.mjs"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"Context-aware MCP prompt compiler with a composable pipeline: clarify_with_user → ground_prompt OR optimize_prompt → critique_prompt, all in one call via compose_prompt. Persistent memory, knowledge packs, explicit token-budget curation, reflective learni","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.25.76","js-yaml":"^4.2.0","sqlite-vec":"^0.1.9","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3","@types/js-yaml":"^4.0.9","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.11.0_1781859510165_0.8361536899744626","host":"s3://npm-registry-packages-npm-production"}},"1.12.0":{"name":"clarifyprompt-mcp","version":"1.12.0","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.12.0","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"contributors":[{"url":"https://github.com/a-radwan-20","name":"Ahmed Radwan","email":"ar@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"b42760c9d54b39237b4c2e3ce8a3532e817cd3b9","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.12.0.tgz","fileCount":116,"integrity":"sha512-vLHcxa34OXRFAlowUPwbdo8O6mEGSoEdHB4/n353YWemZ5O6RqbdUbmMh3wJ/L1QKxHreJco+lb8PS6d/LJikg==","signatures":[{"sig":"MEQCIBFYy8XcNtRGLmmzdvII3qZwPTZRxXWst5WkIde12HdsAiBmbacu6PWFdrSreIOg9J7wD77tblut8S5onskCAhB84Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":663988},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"d1491329ff4b7fa71aa86438b9fd5480659160ea","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","eval":"node evals/run.mjs","build":"tsc","start":"node dist/index.js","matrix":"node evals/matrix.mjs","test:a2a":"node tests/a2a-transport.mjs","test:all":"npm run test:integration && npm run test:day2 && npm run test:reasoning && npm run test:thinking && npm run test:elicit && npm run test:cancel && npm run test:wire && npm run test:resources && npm run test:http && npm run test:a2a","test:day2":"node tests/day2-memory-and-curator.mjs","test:http":"node tests/http-transport.mjs","test:wire":"node tests/mcp-wire.mjs","test:cancel":"node tests/cancellation.mjs","test:elicit":"node tests/elicitation.mjs","test:thinking":"node tests/llm-thinking-channel.mjs","prepublishOnly":"npm run build","test:reasoning":"node tests/reasoning-models.mjs","test:resources":"node tests/mcp-resources.mjs","test:integration":"node tests/integration.mjs"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"Context-aware MCP prompt compiler with a composable pipeline: clarify_with_user → ground_prompt OR optimize_prompt → critique_prompt, all in one call via compose_prompt. Persistent memory, knowledge packs, explicit token-budget curation, reflective learni","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.25.76","js-yaml":"^4.2.0","sqlite-vec":"^0.1.9","@a2a-js/sdk":"^0.3.13","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3","@types/js-yaml":"^4.0.9","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.12.0_1782116528530_0.4001524077603793","host":"s3://npm-registry-packages-npm-production"}},"1.12.1":{"name":"clarifyprompt-mcp","version":"1.12.1","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.12.1","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"contributors":[{"url":"https://github.com/a-radwan-20","name":"Ahmed Radwan","email":"ar@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"7022204a266453de624a4e4daf54c7eb41ab00b1","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.12.1.tgz","fileCount":118,"integrity":"sha512-3ZC0njzME37GCHdoy3OlhImbKrj1lvCqFGYDfzL1kRX2n5YLdmntohv6XRuPBJXE21oEuANOd1UeWxn+SyYKzQ==","signatures":[{"sig":"MEYCIQDn5cKsXHS4OEXFYNTf2f5Sa6bUvlM7A3jzNSu/QIuSvAIhAIL7W+RrWrztR5St7Z6dREQ7CNIPGBcIPkj9RL+ApAyK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":685869},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"414d64404e1b33a3c4fbc2c2becca90af3371d89","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","eval":"node evals/run.mjs","build":"tsc","start":"node dist/index.js","matrix":"node evals/matrix.mjs","test:a2a":"node tests/a2a-transport.mjs","test:all":"npm run test:integration && npm run test:day2 && npm run test:reasoning && npm run test:thinking && npm run test:elicit && npm run test:cancel && npm run test:wire && npm run test:resources && npm run test:http && npm run test:a2a","test:day2":"node tests/day2-memory-and-curator.mjs","test:http":"node tests/http-transport.mjs","test:wire":"node tests/mcp-wire.mjs","test:cancel":"node tests/cancellation.mjs","test:elicit":"node tests/elicitation.mjs","test:thinking":"node tests/llm-thinking-channel.mjs","prepublishOnly":"npm run build","test:reasoning":"node tests/reasoning-models.mjs","test:resources":"node tests/mcp-resources.mjs","test:integration":"node tests/integration.mjs"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.5.1","description":"Context-aware MCP prompt compiler with a composable pipeline: clarify_with_user → ground_prompt OR optimize_prompt → critique_prompt, all in one call via compose_prompt. Persistent memory, knowledge packs, explicit token-budget curation, reflective learni","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^3.25.76","js-yaml":"^4.2.0","sqlite-vec":"^0.1.9","@a2a-js/sdk":"^0.3.13","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3","@types/js-yaml":"^4.0.9","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.12.1_1782133948274_0.8914704679683456","host":"s3://npm-registry-packages-npm-production"}},"1.13.0":{"name":"clarifyprompt-mcp","version":"1.13.0","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.13.0","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"contributors":[{"url":"https://github.com/a-radwan-20","name":"Ahmed Radwan","email":"ar@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"a0fdbeb70b273274ecbd21c1ae200a1792797e35","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.13.0.tgz","fileCount":118,"integrity":"sha512-sw0kX16tM3uRPCfAcf415oM0JtvX289t+Zpbvu47qCb8yRCcaQO8zmFywkO7n4N/4N+z164d5RNK7Kdw7ih3yw==","signatures":[{"sig":"MEYCIQDLIxuPQRp7bOrwB3C+MrwoFnYkZzgiHdtLGShUlFEo/gIhAO4aamF7xwG+VneqOlYr88d/GTlMm7PZFq1AdEfPYssh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":693730},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"8b37d8aff417e1b10534d6631d2a4f30c95e9138","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","eval":"node evals/run.mjs","build":"tsc","start":"node dist/index.js","matrix":"node evals/matrix.mjs","test:a2a":"node tests/a2a-transport.mjs","test:all":"npm run test:integration && npm run test:day2 && npm run test:reasoning && npm run test:thinking && npm run test:elicit && npm run test:cancel && npm run test:wire && npm run test:resources && npm run test:http && npm run test:a2a","test:day2":"node tests/day2-memory-and-curator.mjs","test:http":"node tests/http-transport.mjs","test:wire":"node tests/mcp-wire.mjs","test:cancel":"node tests/cancellation.mjs","test:elicit":"node tests/elicitation.mjs","test:thinking":"node tests/llm-thinking-channel.mjs","prepublishOnly":"npm run build","test:reasoning":"node tests/reasoning-models.mjs","test:resources":"node tests/mcp-resources.mjs","test:integration":"node tests/integration.mjs"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.17.0","description":"Context-aware MCP prompt compiler with a composable pipeline: clarify_with_user → ground_prompt OR optimize_prompt → critique_prompt, all in one call via compose_prompt. Persistent memory, knowledge packs, explicit token-budget curation, reflective learni","directories":{},"_nodeVersion":"26.4.0","dependencies":{"zod":"^3.25.76","js-yaml":"^4.2.0","sqlite-vec":"^0.1.9","@a2a-js/sdk":"^0.3.13","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^22.15.3","@types/js-yaml":"^4.0.9","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.13.0_1783077049721_0.36938289625794574","host":"s3://npm-registry-packages-npm-production"}},"1.14.0":{"name":"clarifyprompt-mcp","version":"1.14.0","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.14.0","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"contributors":[{"url":"https://github.com/a-radwan-20","name":"Ahmed Radwan","email":"ar@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"fd98139a2e19ae9369382ad3377a7b57f06b2273","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.14.0.tgz","fileCount":119,"integrity":"sha512-tn7zG2KKFNidjBV3pTlvu0643YMh6+xQ/YOdOBRU32hl4+cLgvFiQqFRB6NY6iZdQkirpYGEV5Y944BilxkwZQ==","signatures":[{"sig":"MEUCIQCcrNNXyHWrPkMs2fFZoLazMdc6+J3fMB9T6/uAYVpFHwIgC1PQ1uAoFwu4y7qQp8NYnEJKZs+ZCASbrY/87pUcrQ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1015808},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"a23da22a2590b7ac174a77737f18e65800a1060b","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","eval":"node evals/run.mjs","build":"tsc && node scripts/build-panel.mjs","start":"node dist/index.js","matrix":"node evals/matrix.mjs","test:a2a":"node tests/a2a-transport.mjs","test:all":"npm run test:integration && npm run test:day2 && npm run test:reasoning && npm run test:thinking && npm run test:elicit && npm run test:cancel && npm run test:wire && npm run test:resources && npm run test:http && npm run test:a2a && npm run test:apps","test:apps":"node tests/apps.mjs","test:day2":"node tests/day2-memory-and-curator.mjs","test:http":"node tests/http-transport.mjs","test:wire":"node tests/mcp-wire.mjs","test:cancel":"node tests/cancellation.mjs","test:elicit":"node tests/elicitation.mjs","test:thinking":"node tests/llm-thinking-channel.mjs","prepublishOnly":"npm run build","test:reasoning":"node tests/reasoning-models.mjs","test:resources":"node tests/mcp-resources.mjs","test:integration":"node tests/integration.mjs"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.17.0","description":"Context-aware MCP prompt compiler with a composable pipeline: clarify_with_user → ground_prompt OR optimize_prompt → critique_prompt, all in one call via compose_prompt. Persistent memory, knowledge packs, explicit token-budget curation, reflective learni","directories":{},"_nodeVersion":"26.4.0","dependencies":{"zod":"^3.25.76","js-yaml":"^4.2.0","sqlite-vec":"^0.1.9","@a2a-js/sdk":"^0.3.13","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.4"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1","typescript":"^5.9.2","@types/node":"^22.15.3","@types/js-yaml":"^4.0.9","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.14.0_1783543906153_0.502485773043664","host":"s3://npm-registry-packages-npm-production"}},"1.14.1":{"name":"clarifyprompt-mcp","version":"1.14.1","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"author":{"url":"https://github.com/LumabyteCo","name":"Lumabyte Co."},"license":"Apache-2.0","_id":"clarifyprompt-mcp@1.14.1","maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"contributors":[{"url":"https://github.com/a-radwan-20","name":"Ahmed Radwan","email":"ar@lumabyte.co"}],"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"bin":{"clarifyprompt-mcp":"dist/index.js"},"dist":{"shasum":"1e36f749b0622be981becaf5f7f4499af8679f66","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.14.1.tgz","fileCount":119,"integrity":"sha512-7hHTdL3RrrbS4U7gaNOM9bIzHPKFbDX7z5DKUU0ghTo3Fsg4EgsulXB8V+xO+SCoc9IlfIBuXNGqIX6T3xLeSw==","signatures":[{"sig":"MEUCIQCCrlsbnNhKGS5zTEGtLC1NxxqXSv0eza627/eDTpDD+QIgZZ+ZRJMy4HSiJydo4f9+auO8IUuAzWVzybRQdwCiS3Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1024886},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"4972ab18f4786857e0b29d497b5fc2e676d79cc7","mcpName":"io.github.LumabyteCo/clarifyprompt","scripts":{"dev":"tsc --watch","eval":"node evals/run.mjs","build":"tsc && node scripts/build-panel.mjs","start":"node dist/index.js","matrix":"node evals/matrix.mjs","test:a2a":"node tests/a2a-transport.mjs","test:all":"npm run test:integration && npm run test:day2 && npm run test:reasoning && npm run test:thinking && npm run test:elicit && npm run test:cancel && npm run test:wire && npm run test:resources && npm run test:http && npm run test:a2a && npm run test:apps","test:apps":"node tests/apps.mjs","test:day2":"node tests/day2-memory-and-curator.mjs","test:http":"node tests/http-transport.mjs","test:wire":"node tests/mcp-wire.mjs","test:cancel":"node tests/cancellation.mjs","test:elicit":"node tests/elicitation.mjs","test:thinking":"node tests/llm-thinking-channel.mjs","prepublishOnly":"npm run build","test:reasoning":"node tests/reasoning-models.mjs","test:resources":"node tests/mcp-resources.mjs","test:integration":"node tests/integration.mjs"},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"repository":{"url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git","type":"git"},"_npmVersion":"11.17.0","description":"Context-aware MCP prompt compiler with a composable pipeline: clarify_with_user → ground_prompt OR optimize_prompt → critique_prompt, all in one call via compose_prompt. Persistent memory, knowledge packs, explicit token-budget curation, reflective learni","directories":{},"_nodeVersion":"26.4.0","dependencies":{"zod":"^3.25.76","js-yaml":"^4.2.0","sqlite-vec":"^0.1.9","@a2a-js/sdk":"^0.3.13","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.29.0","@modelcontextprotocol/ext-apps":"^1.7.4"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1","typescript":"^5.9.2","@types/node":"^22.15.3","@types/js-yaml":"^4.0.9","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/clarifyprompt-mcp_1.14.1_1784041283109_0.48658009919966605","host":"s3://npm-registry-packages-npm-production"}},"1.15.0":{"name":"clarifyprompt-mcp","version":"1.15.0","mcpName":"io.github.LumabyteCo/clarifyprompt","description":"Context-aware MCP prompt compiler with a composable pipeline: clarify_with_user → ground_prompt OR optimize_prompt → critique_prompt, all in one call via compose_prompt. Persistent memory, knowledge packs, explicit token-budget curation, reflective learni","type":"module","bin":{"clarifyprompt-mcp":"dist/index.js"},"main":"./dist/index.js","scripts":{"build":"tsc && node scripts/build-panel.mjs","start":"node dist/index.js","dev":"tsc --watch","prepublishOnly":"npm run build","test:integration":"node tests/integration.mjs","test:day2":"node tests/day2-memory-and-curator.mjs","test:reasoning":"node tests/reasoning-models.mjs","test:thinking":"node tests/llm-thinking-channel.mjs","test:elicit":"node tests/elicitation.mjs","test:cancel":"node tests/cancellation.mjs","test:wire":"node tests/mcp-wire.mjs","test:resources":"node tests/mcp-resources.mjs","test:http":"node tests/http-transport.mjs","test:a2a":"node tests/a2a-transport.mjs","test:apps":"node tests/apps.mjs","test:all":"npm run test:integration && npm run test:day2 && npm run test:reasoning && npm run test:thinking && npm run test:elicit && npm run test:cancel && npm run test:wire && npm run test:resources && npm run test:http && npm run test:a2a && npm run test:apps","eval":"node evals/run.mjs","matrix":"node evals/matrix.mjs"},"dependencies":{"@a2a-js/sdk":"^0.3.13","@modelcontextprotocol/ext-apps":"^1.7.4","@modelcontextprotocol/sdk":"^1.29.0","better-sqlite3":"^12.9.0","js-yaml":"^4.2.0","sqlite-vec":"^0.1.9","zod":"^3.25.76"},"devDependencies":{"@types/better-sqlite3":"^7.6.13","@types/js-yaml":"^4.0.9","@types/node":"^22.15.3","esbuild":"^0.28.1","typescript":"^5.9.2"},"keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"repository":{"type":"git","url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git"},"homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"author":{"name":"Lumabyte Co.","url":"https://github.com/LumabyteCo"},"contributors":[{"name":"Ahmed Radwan","email":"ar@lumabyte.co","url":"https://github.com/a-radwan-20"}],"license":"Apache-2.0","engines":{"node":">=20"},"gitHead":"316f4896d721357fa0fc132c9ea23164120f9214","types":"./dist/index.d.ts","_id":"clarifyprompt-mcp@1.15.0","_nodeVersion":"26.4.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-LM6ERxAgom6q6OJ3xP4DK9QtxtRu/pFn36ZuJEH3LSNwmxleDuu3OONdNx2n0oD6mz4NAhKDt+aIGbMbhM3Asg==","shasum":"5516c895712b5722a40be0e499a246a507de5a25","tarball":"https://registry.npmjs.org/clarifyprompt-mcp/-/clarifyprompt-mcp-1.15.0.tgz","fileCount":119,"unpackedSize":1037216,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD7oAB+YVt01VqZO0mjImkY10pTQP7EwRtfZU/ig50mRQIgCzmygUSauJnTAZHYwqbuGaiOg0W8S9cnR832KuEfhOI="}]},"_npmUser":{"name":"lumabyte","email":"hello@lumabyte.co"},"directories":{},"maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/clarifyprompt-mcp_1.15.0_1784048863207_0.5881990328234494"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-26T15:45:26.201Z","modified":"2026-07-14T17:07:43.505Z","1.0.1":"2026-02-26T15:45:26.402Z","1.1.0":"2026-03-12T14:30:50.669Z","1.1.1":"2026-03-12T16:22:19.271Z","1.1.3":"2026-03-12T16:33:19.451Z","1.2.0":"2026-04-22T12:48:25.249Z","1.2.1":"2026-04-24T08:26:21.240Z","1.3.0":"2026-04-24T11:13:00.377Z","1.3.1":"2026-04-24T11:45:14.692Z","1.3.2":"2026-04-25T11:18:36.060Z","1.4.0":"2026-04-25T17:00:48.830Z","1.5.0":"2026-04-26T11:46:11.224Z","1.5.1":"2026-04-26T12:18:00.085Z","1.5.2":"2026-04-28T10:23:44.801Z","1.6.0":"2026-05-25T17:15:20.345Z","1.6.1":"2026-05-26T16:08:37.130Z","1.6.2":"2026-05-26T16:17:20.740Z","1.6.3":"2026-05-26T16:29:10.034Z","1.6.4":"2026-05-27T15:32:21.839Z","1.6.5":"2026-05-31T18:40:52.424Z","1.6.6":"2026-05-31T18:49:11.788Z","1.6.7":"2026-05-31T19:16:52.220Z","1.6.8":"2026-06-01T09:07:30.616Z","1.7.0":"2026-06-12T17:09:59.865Z","1.7.1":"2026-06-14T10:51:30.434Z","1.8.0":"2026-06-15T13:11:50.696Z","1.9.0":"2026-06-17T15:49:20.087Z","1.10.0":"2026-06-18T09:15:36.412Z","1.11.0":"2026-06-19T08:58:30.316Z","1.12.0":"2026-06-22T08:22:08.675Z","1.12.1":"2026-06-22T13:12:28.466Z","1.13.0":"2026-07-03T11:10:49.884Z","1.14.0":"2026-07-08T20:51:46.342Z","1.14.1":"2026-07-14T15:01:23.245Z","1.15.0":"2026-07-14T17:07:43.420Z"},"bugs":{"url":"https://github.com/LumabyteCo/clarifyprompt-mcp/issues"},"author":{"name":"Lumabyte Co.","url":"https://github.com/LumabyteCo"},"license":"Apache-2.0","homepage":"https://github.com/LumabyteCo/clarifyprompt-mcp#readme","keywords":["mcp","model-context-protocol","prompt-engineering","prompt-optimization","context-engineering","intent-detection","ai","midjourney","dall-e","stable-diffusion","sora","runway","elevenlabs","suno","claude","chatgpt","gemini","deepseek","cursor","copilot"],"repository":{"type":"git","url":"git+https://github.com/LumabyteCo/clarifyprompt-mcp.git"},"description":"Context-aware MCP prompt compiler with a composable pipeline: clarify_with_user → ground_prompt OR optimize_prompt → critique_prompt, all in one call via compose_prompt. Persistent memory, knowledge packs, explicit token-budget curation, reflective learni","contributors":[{"name":"Ahmed Radwan","email":"ar@lumabyte.co","url":"https://github.com/a-radwan-20"}],"maintainers":[{"name":"lumabyte","email":"hello@lumabyte.co"}],"readme":"# ClarifyPrompt MCP\n\n[![npm version](https://img.shields.io/npm/v/clarifyprompt-mcp.svg)](https://www.npmjs.com/package/clarifyprompt-mcp)\n[![ghcr.io](https://img.shields.io/badge/ghcr.io-clarifyprompt--mcp-2496ED?logo=docker&logoColor=white)](https://github.com/LumabyteCo/clarifyprompt-mcp/pkgs/container/clarifyprompt-mcp)\n[![evals](https://github.com/LumabyteCo/clarifyprompt-mcp/actions/workflows/evals.yml/badge.svg?branch=main)](https://github.com/LumabyteCo/clarifyprompt-mcp/actions/workflows/evals.yml)\n[![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Node.js](https://img.shields.io/badge/node-%3E%3D18-brightgreen.svg)](https://nodejs.org/)\n[![Listed on Glama](https://img.shields.io/badge/Listed%20on-Glama-blueviolet)](https://glama.ai/mcp/servers/LumabyteCo/clarifyprompt-mcp)\n\nA **context-aware MCP prompt compiler** that transforms vague prompts into platform-optimized prompts for 60+ AI platforms across 7 categories — grounded in your workspace signals (CLAUDE.md, AGENTS.md, .cursorrules, package.json), resolved intent, and the capabilities of the target model.\n\nSend a raw prompt. ClarifyPrompt gathers the right context, resolves what you're actually trying to do, and returns a version specifically optimized for Midjourney, DALL-E, Sora, Runway, Higgsfield, ElevenLabs, Claude, ChatGPT, Cursor, or any of the 60+ supported platforms — with the right syntax, parameters, structure, and grounding.\n\n> **New in 1.15.0:** **Nano Banana** (Google Gemini 2.5 Flash Image) is now a **built-in image platform** — `optimize_prompt(platform: \"nano-banana\")` compiles image prompts in its native style (natural-language scene direction, photographic terms, edit-preserving-identity phrasing, in-image text). Plus **latest-model compatibility across every provider**: `claude-sonnet-5`, `gpt-5`/o-series, and Gemini reject `temperature` and/or `max_tokens`; the client now sends the right parameters (proactively for known reasoning ids, and learns the rest from a `400`). Verified live against Anthropic, OpenAI, Gemini, and Ollama Cloud. See [CHANGELOG.md](./CHANGELOG.md).\n>\n> **New in 1.14.1:** **Portable-by-default text output** — a `chat`/`document`/`code` prompt with no explicit platform now stays platform-neutral instead of quietly defaulting to Claude's idioms (XML tags); name a platform to opt into vendor-specific tuning. Plus the MCP Apps compose panel now shows a `for <platform>` badge and a clean **Your prompt → Optimized** before/after (with a `show changes` toggle) instead of an always-on diff. See [CHANGELOG.md](./CHANGELOG.md).\n>\n> **New in 1.14.0:** **An interactive compose panel via MCP Apps.** In hosts that speak the `io.modelcontextprotocol/ui` extension (Claude Desktop, ChatGPT, Cursor, VS Code, …), `compose_prompt` renders a live panel: original-vs-optimized view, all six **critique scores**, the pipeline **stages**, and **Accept / Revise** actions — Accept records the outcome into ClarifyPrompt's memory loop, Revise sends your feedback back into the chat. One self-contained `ui://` resource; hosts without the extension see zero change. See [CHANGELOG.md](./CHANGELOG.md).\n>\n> **New in 1.13.0:** **Plain-language rewrites.** Optimized prompts now stick to common, everyday words instead of drifting into formal vocabulary (\"use\", never \"utilize\") — specificity comes from concrete details, not fancier synonyms. `critique_prompt` gained a 6th default dimension, **`plain_language`**, so `auto_revise` loops correct register drift automatically. Also fixed: an explicit `mode` (e.g. `simple`) is no longer silently dropped for small local models under compact system-prompt shaping. See [CHANGELOG.md](./CHANGELOG.md).\n\n## How It Works\n\nClarifyPrompt does two things a plain prompt template can't. Every output below is a **real, unedited capture** from `optimize_prompt` run against this repo (see [Provenance](#provenance) at the end of this section).\n\n**1 — It knows each platform.** Same raw prompt, different target, completely different output:\n\n```text\nYou write:    \"a dragon flying over a castle at sunset\"\n\n→ Midjourney  A colossal, majestic dragon with shimmering scales soaring over a towering\n              medieval stone castle, dramatic sunset sky with vibrant orange and deep purple\n              hues, cinematic fantasy concept art, volumetric lighting, highly detailed\n              --ar 16:9 --v 6.1 --s 250 --q 2\n\n→ DALL-E      A majestic dragon with glowing crimson scales soars over a towering medieval\n              stone castle, silhouetted against a vibrant orange and purple sunset sky.\n              Rendered in a high-fantasy digital art style with dramatic, warm lighting and\n              highly detailed textures, wide aspect ratio.\n\n→ Nano Banana A majestic dragon with deep crimson scales and a leathery, bat-like wingspan\n              glides through the warm, golden-hour sky just above a towering medieval castle\n              made of weathered grey stone. ... Frame this as a wide cinematic landscape shot\n              using a 24mm lens at f/8 for deep depth of field, camera positioned at a\n              slightly elevated three-quarter angle... Aspect ratio 16:9.\n```\n\nMidjourney gets `--ar/--v/--s/--q` flags; DALL-E and Nano Banana get flag-free natural language — and Nano Banana layers in photographic direction (lens, f-stop, camera angle) and explicit mood, its documented style. Same idea, each platform's native dialect.\n\n**2 — It knows what you're working on.** This is the part a template can't fake. Drop a vague one-liner while editing `src/transport.ts` *in this very repo*, and the engine grounds it in your real workspace — `package.json`, git state, the active file — and resolves intent **before** it shapes the output:\n\n```text\nYou write:    \"add a configurable request timeout to the http transport\"\n              · active file: src/transport.ts   · resolved intent: production-code\n              · grounded in: active-file · workspace-meta · git-state · environment ·\n                target-model · platform-hints\n\n→ Cursor      Implement a configurable request timeout for the HTTP transport in\n              `src/transport.ts`.\n              Requirements:\n              1. Add a new environment variable `CLARIFYPROMPT_HTTP_TIMEOUT` … (default 30000 ms)\n              2. Apply this timeout to all incoming requests in the streamable-http transport\n              …\n              5. Preserve existing behavior for stdio and a2a transports\n              …\n              The implementation should be added to the streamable-http section of\n              `startTransport()`.\n              (excerpted — the full rewrite has 7 numbered requirement groups)\n```\n\nNothing in that one-line prompt mentioned the `CLARIFYPROMPT_HTTP_*` naming convention, the `startTransport()` entry point, or the stdio/a2a transports it must preserve — the engine read those from the active file and `package.json` and folded them in. That's the difference between *rephrasing a prompt* and *compiling it against context*.\n\n**3 — It can run the whole pipeline.** clarify → ground/optimize → critique → revise, in one `compose_prompt` call — see **Previously in 1.4.0 — the composable pipeline** below.\n\n> <a name=\"provenance\"></a>**Provenance.** Image outputs captured via `glm-5.2:cloud`, the grounded code output via `qwen3-coder:480b-cloud` — both [Ollama](https://ollama.com) cloud models served over Ollama's OpenAI-compatible endpoint (`LLM_API_URL=http://localhost:11434/v1`), run through `optimize_prompt` against this repo on 2026-06-22 (the Nano Banana capture added 2026-07-03, same `glm-5.2:cloud` model). ClarifyPrompt is model-agnostic (any OpenAI-compatible API, local or hosted); outputs are model-dependent — yours will differ in wording, not in structure.\n\n## What's new in 1.15.0\n\n**Nano Banana, built in.** Google's Gemini 2.5 Flash Image (\"Nano Banana\") is now a first-class image platform — `optimize_prompt(category: \"image\", platform: \"nano-banana\")` compiles your idea into its native prompting style: full-sentence scene direction (not keyword piles), photographic terminology for camera/lens/depth, explicit lighting, edit-phrasing that preserves subject identity, multi-reference character consistency, and reliable in-image text. Like every image platform, ClarifyPrompt compiles the prompt; you send it to the model.\n\n**Latest-model compatibility, every provider.** Thinking-enabled models reject parameters clarifyprompt always sent: `claude-sonnet-5` and OpenAI reasoning models reject `temperature`; `gpt-5` / o-series also reject `max_tokens` (they require `max_completion_tokens`). Every call to them used to fail and degrade to the original prompt. Now the client sends the right body — **proactively** for well-known reasoning ids (no wasted round-trip) and, for anything the hints don't recognize (including future models), it **learns from the `400` and retries**. Models that accept the standard parameters are byte-identical. Verified live against Anthropic (`claude-sonnet-5`), OpenAI (`gpt-5`), Gemini (`gemini-flash-latest`), and Ollama Cloud (`glm-5.2:cloud`). Reasoning models think a lot — bump `LLM_TIMEOUT_MS` (the 30s default is often too short).\n\n## What's new in 1.14.1\n\n**Portable by default.** When you optimize a text prompt (`chat`, `document`, `code`) **without naming a platform**, ClarifyPrompt now returns platform-neutral output — clean, portable structure that works in any assistant — instead of quietly defaulting to Claude's idioms (its `<task>`/`<context>` XML tags). Name a platform (`platform: \"claude\"`, `\"chatgpt\"`, … any of the 60) to opt into that platform's specific tuning. Creative categories (image/video/voice/music) are unchanged: their output needs a concrete platform format, so the flagship default (Midjourney, Runway, …) still applies.\n\n**Clearer compose panel.** The MCP Apps panel now shows a `for <platform>` (or `general purpose`) badge, renders your original prompt as a labeled **Your prompt** block above the optimized output, and shows the optimized prompt plainly — with a `show changes` toggle for the word-level diff — instead of an always-on diff.\n\n## What's new in 1.14.0\n\n**`compose_prompt` now has a face.** ClarifyPrompt ships an [MCP Apps](https://github.com/modelcontextprotocol/ext-apps) panel (extension `io.modelcontextprotocol/ui`) that supporting hosts render inline next to the tool result:\n\n- **Original vs optimized, as a word-level diff** — see exactly what the compiler changed.\n- **Critique, visualized** — all six dimensions (clarity, specificity, intent_alignment, format_fitness, length_appropriateness, plain_language) as score bars, with the verdict and the per-call `stages` audit trail as badges.\n- **Accept** — one click records `save_outcome(accepted)` from the panel, feeding the few-shot memory loop, and quietly tells the model the prompt was accepted.\n- **Revise…** — type what should change; the panel sends it back into the chat so the model re-composes.\n- **Clarification-aware** — when the pre-clarify stage stops the chain with questions, the panel renders them (with suggested answers) instead of a diff.\n\nZero-risk rollout: the panel is one self-contained HTML resource (`ui://clarifyprompt/compose-panel.html`, inline CSS/JS — the extension sandbox blocks external requests) linked from `compose_prompt`'s `_meta.ui`. Hosts without the extension ignore it entirely; the text + `structuredContent` output is byte-identical. Runs on the existing SDK ^1.29 floor. New deterministic `npm run test:apps` battery locks the wiring.\n\nAlso new: the eval harness gained a **`max_reading_grade`** check — a deterministic Flesch–Kincaid ceiling that locks 1.13.0's plain-language behavior as a measurable gate (formal-register slop scores ~20+; plain rewrites ~3–6).\n\n## What's new in 1.13.0\n\n**Plain-language rewrites, end to end.** LLMs handle common, everyday wording more reliably than formal synonyms of the same meaning — and small local models, ClarifyPrompt's default targets, benefit the most. This release bakes that into every stage that shapes output wording:\n\n- **The optimizer prefers common words.** A new core principle in the shared system prompt (\"USE COMMON WORDS\") applies to all 7 category strategies and both `optimize_prompt` and `ground_prompt`: never swap in a rarer word where a common one carries the same meaning. Detail means more information, not fancier words — specificity, structure, and constraints are untouched.\n- **`critique_prompt` gained a 6th default dimension: `plain_language`.** It penalizes needlessly formal or rare vocabulary where a simpler word would do. Because the rewrite pass applies every suggestion from dimensions scoring below 7, `auto_revise` loops now correct register drift for free. Custom `criteria` overrides are unaffected.\n- **Fixed: explicit `mode` no longer silently dropped for small local models.** Compact system-prompt shaping used to trim the mode instructions entirely — so `mode: \"simple\"` had no effect on 3B-class models. Every mode now survives compact shaping as a one-line rule.\n- **Two new eval fixtures** guard the behavior: `31-plain-language-vocabulary` (optimized output must not contain formal-register words) and `32-shape-compact-keeps-mode` (the mode line reaches small models).\n\n## What's new in 1.12.1\n\nThe real fix for issue [#3](https://github.com/LumabyteCo/clarifyprompt-mcp/issues/3): **thinking-channel models now reliably produce optimized prompts** instead of intermittently returning empty content. Both `gpt-oss:20b-cloud` and `glm-5.2:cloud` went from empty ~40% of runs to **0%**.\n\nRe-investigating from scratch overturned the documented root cause. It was **never** \"Ollama's `/v1` shim drops the harmony final channel.\" These models spend their `max_tokens` budget on the **thinking channel first** and never reach the final channel — so `content` comes back `\"\"` (worse at higher reasoning effort). Two levers, applied together because different families honor different ones:\n\n- **A `max_tokens` floor (8192) for detected reasoning models** — the *universal* lever. It attacks the root cause directly, so it works regardless of which thinking knob a family respects. It's a ceiling, not a target: short answers finish early, so no added latency.\n- **`reasoning_effort: \"low\"`** — for families that respect it (gpt-oss), also trimming latency/cost. Tune with **`LLM_REASONING_EFFORT`** (`low` | `medium` | `high`).\n\nThe levers are genuinely family-specific: **gpt-oss** honors `reasoning_effort` but ignores Ollama's `think`; **glm** is the exact opposite — it ignores `reasoning_effort`, so only the budget floor saves it.\n\n**Detection is robust, not a hardcoded model list** (which would rot as new models ship). \"Is this a thinking model?\" is answered, cached per model, by: (1) **the runtime itself** — Ollama's `/api/show` reports a `thinking` capability (this is how `minimax-m3:cloud` is detected, with no name match); (2) **response-learning** — any reasoning trace, or empty-content-with-tokens, marks that model thereafter (works for any provider); (3) a small name hint as last resort. Non-reasoning models stay byte-identical, and the name-agnostic empty-content retry is the final backstop. Validated on `gpt-oss:20b-cloud`, `glm-5.2:cloud`, and `minimax-m3:cloud` (all 0% empty on the first call).\n\n> The previously-proposed \"switch to Ollama's native `/api/chat`\" was a **dead end** — `/api/chat` with `think:false` *still* returns empty content for gpt-oss (it ignores it), and it would have added a fragile second code path.\n\n## What's new in 1.12.0\n\nStep #7 — the final step — of the [MCP modernization roadmap](./docs/audits/mcp-completeness-2026-05.md): ClarifyPrompt now speaks **A2A (Agent-to-Agent)**, so other agents can call it to compile prompts. **stdio stays the default; nothing about existing setups changes.**\n\nSet `CLARIFYPROMPT_TRANSPORT=a2a` and ClarifyPrompt comes up as a discoverable A2A peer on Node's built-in `http` (the only new dependency is the official `@a2a-js/sdk`, which itself pulls just `uuid`):\n\n| Endpoint | Purpose |\n|---|---|\n| `GET /.well-known/agent-card.json` | **Agent card** — discovery: identity, capabilities, the `compile-prompt-for-platform` skill |\n| `POST /a2a` | A2A **JSON-RPC 2.0**: `message/send`, `message/stream` (SSE), `tasks/get`, `tasks/cancel`, … |\n| `GET /health` | Liveness probe |\n\n```bash\nCLARIFYPROMPT_TRANSPORT=a2a CLARIFYPROMPT_HTTP_PORT=3000 npx clarifyprompt-mcp\n# → card:  http://127.0.0.1:3000/.well-known/agent-card.json\n# → a2a:   POST http://127.0.0.1:3000/a2a   (message/send · message/stream)\n```\n\nThe whole roadmap pays off here — one incoming A2A message flows through the same compose pipeline, and the primitives built in earlier steps map straight onto A2A semantics:\n\n- **Compile** — a `message/send` with the raw prompt (plain text, or JSON `{ prompt, platform?, category?, … }`) returns a task whose **artifact** carries the optimized prompt (text) plus the full structured compose result (data).\n- **Streaming** (1.10.0 progress → A2A) — `message/stream` emits `status-update` events as each pipeline stage runs, then the artifact, over **SSE**.\n- **Cancellation** (1.10.0 AbortSignal → A2A) — `tasks/cancel` aborts the in-flight compose within milliseconds and reports a terminal `canceled` state.\n- **Clarification** (1.9.0 elicitation → A2A) — clarify is **off by default** for one-shot peers; opt in with `pre_clarify: 'auto' | 'always'` and an ambiguous prompt pauses the task in A2A's first-class **`input-required`** state with the questions (readable text + structured data). Answer on the same task and it compiles.\n\nConfigure the public base URL advertised in the card with `CLARIFYPROMPT_A2A_BASE_URL` (handy behind a proxy); port/host are shared with `streamable-http`. New deterministic `npm run test:a2a` battery drives card discovery, a live compile, the clarify round-trip, and SSE streaming.\n\n## What's new in 1.11.0\n\nStep #6 of the [MCP modernization roadmap](./docs/audits/mcp-completeness-2026-05.md): a pluggable **transport factory** — ClarifyPrompt can now serve over **Streamable HTTP**, the runway toward A2A and remote MCP hosts. **stdio stays the default; nothing about existing setups changes.**\n\n### Transports\n\nSet `CLARIFYPROMPT_TRANSPORT`:\n\n| Value | Behaviour |\n|---|---|\n| `stdio` (default) | One server over stdin/stdout — exactly as before |\n| `streamable-http` | MCP Streamable HTTP over Node's built-in `http` (no new deps): stateful sessions (`mcp-session-id`), SSE streaming, a `/health` probe |\n| `a2a` | Serve as an **A2A (Agent-to-Agent)** peer — agent card, JSON-RPC + SSE (see 1.12.0 above) |\n\nHTTP knobs (in `streamable-http` / `a2a` mode): `CLARIFYPROMPT_HTTP_PORT` (3000), `CLARIFYPROMPT_HTTP_HOST` (`127.0.0.1` — localhost-only by default), `CLARIFYPROMPT_HTTP_PATH` (`/mcp`, streamable-http only).\n\n```bash\nCLARIFYPROMPT_TRANSPORT=streamable-http CLARIFYPROMPT_HTTP_PORT=3000 npx clarifyprompt-mcp\n# → POST http://127.0.0.1:3000/mcp  ·  GET http://127.0.0.1:3000/health\n```\n\nTool/resource registration moved into an exported `createServer()` factory: stdio gets one server, **streamable-http gets one per session** (the SDK-recommended, GHSA-safe pattern — never shares a server across HTTP clients). New deterministic `npm run test:http` battery drives a full HTTP session.\n\n## What's new in 1.10.0\n\nStep #5 of the [MCP modernization roadmap](./docs/audits/mcp-completeness-2026-05.md), stable core: **`compose_prompt` is cancellable and reports live progress**. Model-agnostic, opt-in, fully back-compat.\n\n### Cancellation\n\nAn `AbortSignal` is plumbed through the entire LLM path (`simpleGenerate` → `chat` → `fetch`, combined with the per-call timeout) and every engine stage. When a client sends `notifications/cancelled` for a `compose_prompt` call, the in-flight model request aborts immediately and the revise loop stops at the next stage boundary — instead of running every iteration to completion. The signal reaches `fetch` regardless of which model/provider is configured.\n\n### Progress\n\nInclude a `progressToken` in the `compose_prompt` request `_meta` and the server emits `notifications/progress` at each stage (clarify / optimize / ground / critique) with a monotonic counter and a human message like `optimizing prompt [iter 2/3]`. Hosts can show a live status on a long multi-iteration compose. No token → no notifications, zero overhead.\n\n### Why not MCP tasks (yet)\n\nRoadmap #5 named the MCP **tasks** API. It's still `experimental/` in the SDK (\"may change without notice\"), its reference is ~600 lines, and no current client speaks the `tasks/*` protocol — so a full implementation would be unusable off-by-default code today. The real value (cancellable + progress-reporting compose) is delivered here on **stable** primitives; the experimental async-task wrapper is deferred to land with #7 (A2A), which the `AbortSignal` groundwork here already sets up. New deterministic `npm run test:cancel` battery locks the behavior.\n\n## What's new in 1.9.0\n\nStep #4 of the [MCP modernization roadmap](./docs/audits/mcp-completeness-2026-05.md): **`clarify_with_user` can elicit answers through the host's native form UI**. Opt-in, fully back-compat.\n\n### Interactive clarification\n\nPass `elicit: true`. On a client that supports MCP elicitation, the clarifying questions become a real form:\n\n- each question is a field, `options` become enum dropdowns, and each `suggestedAnswer` is the field default (one-click accept);\n- the user answers inline; the engine returns `answers: [{ question, dimension, answer, usedSuggested }]` with `elicited: true`.\n\nWithout `elicit`, on a non-capable client, or if the round-trip errors, the tool returns the same raw-questions JSON it always has — every existing caller is unaffected. `decline` / `cancel` are surfaced via `elicitationAction`.\n\nThis turns clarification from \"here's a JSON blob of questions, you render it\" into a first-class interactive moment in hosts like Claude Desktop. The mapping lives in a small pure module (`src/engine/clarification/elicit.ts`), reusable by `compose_prompt`'s pre-clarify stage later. New deterministic `npm run test:elicit` battery (pure helpers + a live mock-client round-trip) locks it.\n\n## What's new in 1.8.0\n\nStep #3 of the [MCP modernization roadmap](./docs/audits/mcp-completeness-2026-05.md): the engine's read surfaces become **browseable resource templates** with **argument autocompletion**. No tool or engine behavior changes.\n\n### Resource templates\n\nFour templates join the static `clarifyprompt://categories`, each backed by an existing engine getter:\n\n| URI template | What it reads |\n|---|---|\n| `clarifyprompt://platforms/{category}/{id}` | One platform's full config — `resources/list` enumerates all 60+ as individual URIs |\n| `clarifyprompt://traces/{date}` | Optimization-trace summary index for a UTC day |\n| `clarifyprompt://packs/{id}` | One loaded knowledge pack's metadata |\n| `clarifyprompt://memory/facts/{scope}` | Live remembered facts under a scope |\n\nMCP hosts with a resource browser (Claude Desktop, Cursor) now get a navigable tree instead of a single static blob.\n\n### Autocomplete\n\n`completion/complete` resolves the template variables: `{category}` → the 7 category ids, `{id}` → platform ids scoped by the chosen `{category}`, `{date}` → days with traces, pack ids, memory scopes. (MCP completion applies to prompt args + resource-template variables only — not tool inputs; ClarifyPrompt registers no prompts, so it lives on the templates.)\n\n### Capabilities\n\nThe server now advertises `resources` (with templates) and `completions` at `initialize`. New deterministic `npm run test:resources` battery locks the surface.\n\n## What's new in 1.7.1\n\nPatch fixing [#3](https://github.com/LumabyteCo/clarifyprompt-mcp/issues/3): a **silent empty optimized prompt** from models whose answer didn't land in `content`.\n\n- **Reads all three thinking-channel field names** (`reasoning` / `thinking` / `reasoning_content`) — fixes DeepSeek / qwen-thinking and similar.\n- **Retries once, then fails loudly** when content is empty regardless of any thinking field. This covers the real issue #3 case: gpt-oss harmony output over Ollama's `/v1` shim generates tokens (`completion_tokens > 0`) but returns `content: \"\"` with no thinking field. The engine now degrades to the original prompt + a surfaced `error` instead of returning blank.\n- **Genuinely recovering** gpt-oss harmony output (via Ollama's native `/api/chat`) was tracked as a follow-up — **resolved in 1.12.1**, which proved the `/api/chat` path a dead end and fixed the actual root cause (a `max_tokens` floor + `reasoning_effort` for reasoning models; see the 1.12.1 notes above).\n- **New deterministic `npm run test:thinking`** battery locks the regression with mocked responses (no live cloud dependency).\n\nVerified: `test:thinking`, reasoning battery (gpt-oss degrades loudly; the genuine reasoner `kimi-k2-thinking:cloud` still returns real content), integration, day2, evals, wire.\n\n## What's new in 1.7.0\n\nStep #2 of the [MCP modernization roadmap](./docs/audits/mcp-completeness-2026-05.md): the entire tool surface migrated off the deprecated `server.tool()` shorthand (removed in SDK 2.0) onto `server.registerTool()`. **No engine behavior changes; full back-compat.**\n\n### What hosts get\n\n- **Titles** — every tool has a human-readable display name (\"Forget a fact\", not `memory_forget`).\n- **Behavior annotations** — all 23 tools declare `readOnlyHint` / `destructiveHint` / `idempotentHint` / `openWorldHint`. The three destructive tools (`memory_forget`, `unload_pack`, `unregister_platform`) are flagged for confirmation UIs; the seven read-only inspectors are flagged safe-to-call-freely; the seven tools that reach the network (LLM / embeddings / web search) carry `openWorldHint: true`.\n- **Structured output** — every tool declares an `outputSchema` and returns `structuredContent` alongside the JSON text. Schemas are permissive by design (all-optional, passthrough) — they document the shape without ever rejecting engine output.\n\n### Back-compat\n\nText content is byte-identical for every tool — including the three array-returning `list_*` tools, whose text stays a bare array while `structuredContent` wraps it in an object per the MCP spec. Error returns unchanged. Verified: wire 7/7, integration 9/9, day2, 26/27 evals with zero output-validation errors.\n\n### Found during verification\n\n[#3](https://github.com/LumabyteCo/clarifyprompt-mcp/issues/3) — cloud `gpt-oss` thinking-channel responses can yield an empty `optimizedPrompt` (remote API change exposing a pre-existing field-name gap in `client.ts`; fix targeted for 1.7.1).\n\n## What's new in 1.6.8\n\nHousekeeping release closing the loops the 1.6.5→1.6.7 cascade opened. **No engine code, MCP tool surface, platform, or env-var changes.**\n\n### Changed\n\n- **CI matrix now tests Node 24** (current active LTS, EOL Apr 2028) alongside 18/20/22 across Ubuntu + macOS. The matrix previously tested two EOL Node versions but not the current LTS at all. Verified before merge that the native deps (`better-sqlite3` + `sqlite-vec`) load and function on Node 24.16.0 in a toolchain-free `node:24-slim` container. `engines` stays `>=18` — maximum compatibility, and we test what we claim.\n- **Publish runner moved Node 20 → 22**, keeping an EOL runtime off the release-critical path (matches the Dockerfile base).\n\n### Process\n\n- **New ship-check `CP-13 — lockfile regeneration safety`** encodes the lesson from the 1.6.5→1.6.6→1.6.7 cascade: a single `npm install --package-lock-only` silently dropped 4 of 5 `sqlite-vec` platform binaries (broke Linux CI) *and* pulled a within-caret `better-sqlite3` bump that dropped Node 20 prebuilds (broke the Docker build). The check mandates full `npm install` on dep changes, a lockfile diff for dropped platform deps + native-dep version jumps, and a local slim-Docker load gate. Dogfooded on this release.\n\n## What's new in 1.6.7\n\nDockerfile patch. **No engine code, MCP tool surface, platform, or env-var changes.**\n\n### Fixed\n\n- **`CI / docker build` failed on 1.6.6** with `npm error gyp ERR! find Python`. Root cause: `better-sqlite3@12.10.0` ([released 2026-05](https://github.com/WiseLibs/better-sqlite3/releases/tag/v12.10.0)) explicitly removed prebuilt binaries for Node.js v20 and v23 because Node 20 reached EOL in April 2026. The 1.6.6 lockfile regen pulled 12.10.0 within the `^12.9.0` caret, and `node:20-slim` doesn't have Python + a C++ toolchain to compile from source. Bumped the Dockerfile base to `node:22-slim` — current active LTS, still has working prebuilts.\n- The non-Docker CI build matrix (Node 18 / 20 / 22 across macOS + Ubuntu) still passes because regular runners can compile-from-source as fallback. Only the slim Docker image stumbles.\n\n### Verified locally\n\n`docker build` → green. Container can `require('better-sqlite3')` + `require('sqlite-vec')` cleanly. All 5 `sqlite-vec` platform binaries still in `package-lock.json` (1.6.6's fix held).\n\n## What's new in 1.6.6\n\nLockfile + harness patch following 1.6.5. **No engine code, MCP tool surface, platform, or env-var changes.** Ships the MCP-completeness audit doc.\n\n### Fixed\n\n- **`package-lock.json` lost 4 of 5 `sqlite-vec` platform binaries during the 1.6.5 SDK bump.** My local `npm install --package-lock-only` retained only the maintainer's `sqlite-vec-darwin-arm64` binary. `npm ci` on CI's Ubuntu runners failed with `no such module: vec0` because `sqlite-vec-linux-x64` wasn't in the lock. End-user `npm install clarifyprompt-mcp@1.6.5` was **never affected** (the npm tarball doesn't ship a lockfile; users resolve platforms at install time). Regenerated with full `npm install` so all 5 platforms (`darwin-arm64`, `darwin-x64`, `linux-arm64`, `linux-x64`, `windows-x64`) are back.\n- **Eval harness HTML report writer crashed on ERRORED entries** (`evals/run.mjs:729`). The pre-existing renderer assumed every non-skipped, non-filtered run had an `evaluation.checks` field, but errored runs carry an `error` field instead. Added an explicit errored-status branch — the harness now degrades gracefully and exits cleanly even when fixtures error.\n\n### Bundled docs\n\n- **[`docs/audits/mcp-completeness-2026-05.md`](./docs/audits/mcp-completeness-2026-05.md)** — diagnostic audit of the engine's MCP surface against the current SDK + spec. Tool-by-tool registration table, resource gap analysis, SDK feature delta (1.12 → 1.29 → 2.0-alpha), capability declarations, transport refactor sketch, A2A feasibility note, and a sequenced 7-step modernization roadmap. The artifact behind next-session planning. No engine changes prescribed inline.\n\n### Numbers\n\n- 5 sqlite-vec platforms in lockfile (was 1). `npm audit --production`: 0 vulnerabilities (unchanged). Tools: 23 (unchanged). Eval fixtures: 30 (unchanged).\n\n## What's new in 1.6.5\n\nSecurity patch. **No engine code changes, no MCP tool surface changes, no platform changes, no env-var changes.**\n\n### Fixed\n\n- **CVE-2026-0621** — ReDoS in `@modelcontextprotocol/sdk`'s `UriTemplate` regex (patched in SDK `1.25.2`). The previous `^1.12.1` floor *allowed* vulnerable resolutions on stale npm caches; bumped to `^1.29.0` so the floor itself is patched.\n- **GHSA-345p-7cg4-v4c7** — Shared server/transport instances leak cross-client response data (patched in SDK `1.26.0`). Not exploitable in practice for ClarifyPrompt (one host = one server instance) but the vulnerable code is now out of the dependency graph entirely.\n- **7 transitive vulnerabilities** (2 moderate, 5 high) in the SDK's bundled HTTP-transport substack (`hono`, `express-rate-limit`, `fast-uri`, `ip-address`, `path-to-regexp`, `qs`, `@hono/node-server`). Cleared via `npm audit fix`. Never affected runtime — ClarifyPrompt is stdio-only and doesn't load the HTTP transport — but they were noise in users' `npm audit` reports and made the install look unsafe.\n\n### Numbers\n\n- `npm audit --production` → **0 vulnerabilities** (was 2 SDK CVEs + 7 transitive).\n- `package-lock.json`: **net −336 lines** (the old caret was pulling in heavy unused HTTP-transport ancillaries; the fix swapped them for slimmer alternates).\n- Tools: 23 (unchanged). Platforms: 60+ (unchanged). Eval fixtures: 30 (unchanged).\n- Wire test + integration battery + day2 + reasoning + 29/30 evals pass against the new floor on local Ollama. The one eval fail (`analyzer-creative-media`) is a pre-existing qwen-coder-7b classifier flake — verified SDK-independent by stash-reverting and re-running.\n\n### Why the floor bump matters\n\n`^1.12.1` was misleading documentation — caret resolution was actually pulling SDK `1.27.1` for any fresh `npm install` since early 2026. The floor bump aligns the declared baseline with what `npm` was already doing for most users while guaranteeing the floor for users on stale caches. It also positions us for the eventual `2.0.0-alpha` migration when that line stabilizes (the modern SDK deprecates `.tool()` / `.prompt()` / `.resource()` shorthand registration in favor of `registerTool()` / `registerPrompt()` / `registerResource()` with title + outputSchema + annotations).\n\n## What's new in 1.6.4\n\nDocs + process patch. **No engine, MCP tool, or platform changes** — but a meaningful cleanup of the pack-distribution model.\n\n### Pack registry consolidated back into the engine repo\n\n`LumabyteCo/clarifyprompt-packs` (the separate community-pack registry created in `1.3` with the right principle but at the wrong scale) has been **archived**. Its three starter packs already lived in this repo's [`packs/`](./packs/) folder; the registry was meant to be the canonical home but in practice everything always shipped from here via the npm tarball. The drift caught up: `higgsfield-creative-handbook` shipped in `1.6.2` and never made it to the registry, even though the registry's own README told users to fetch packs from there.\n\nNet result of 1.6.4:\n\n- **Single source of truth.** `packs/*.md` knowledge packs + `packs/platforms/*.yaml` platform configs all live in `clarifyprompt-mcp` and ship in the npm tarball.\n- **New top-level [Knowledge packs](#knowledge-packs) section** in this README explains the loading model (`load_knowledge_pack({source: \"<url-or-path>\", scope: ...})`), the three starter packs + Higgsfield, the scope semantics, and how to contribute.\n- **New [`packs/README.md`](./packs/README.md)** — pack authoring guide (frontmatter schema, chunk boundaries, quality bar). Lifted from the archived registry so the content isn't lost.\n- **Tombstone redirect on the archived repo.** Anyone visiting `clarifyprompt-packs` lands on a banner pointing here.\n\n### When does the split come back?\n\nWhen there's a forcing function: a community PR queue on packs alone, pack count >20, or divergent licensing/governance. Until then the maintenance cost of keeping two repos in sync wasn't paying for an audience that hadn't materialized.\n\n### Numbers\n\n- **Tools:** 23 (unchanged).\n- **Platforms:** 60+ (unchanged).\n- **Bundled knowledge packs:** 4 (`anthropic-brand-voice`, `higgsfield-creative-handbook`, `nextjs-14-best-practices`, `sox-compliance`) — same as 1.6.2/1.6.3, just newly canonical.\n- **Eval fixtures:** 30 (unchanged).\n- **Tarball size:** unchanged from 1.6.3.\n\n## What's new in 1.6.3\n\nPatch. The 1.6.2 CI tag-push run surfaced two real issues — fixed here without changing any engine code.\n\n### Fixed\n\n- **`evals/fixtures/28-context-includes-git-state.yaml`** previously asserted `git_branch_present: true`, but GitHub Actions checks out in detached-HEAD mode where `bundle.git.branch` is correctly `undefined` (only the SHA + recent commits are populated). Relaxed to assert `bundle_has_git: true` only — that's what's actually invariant across local + CI environments.\n- **`evals/fixtures/17-critique-strong-prompt-accepts.yaml`** asserted `verdict: accept` + `overall_score_min: 7` on a strong prompt. gpt-4o-mini's judge calibrates stricter than qwen2.5-coder:7b's, and occasionally returned a malformed `overall` field that the parser defaulted to 0 → verdict=reject. The fixture's *real intent* is to verify engine wiring (5+ dimensions, the standard dimension names present, no harness error) — not to compare judge calibration across models. Dropped the verdict + tight score assertions; kept the wiring-level checks.\n- **README Glama badge** swapped from inline `<img>` (sometimes broken via GitHub's camo proxy) to a shields.io text-link badge that's stable across all rendering surfaces.\n\n### Notes\n\n- **No engine code changes.** No new MCP tools (still 23). No platform changes (still 60+). No env-var changes.\n- **Eval baselines unchanged on local Ollama.** This is a CI-specific hardening — local runs against qwen-coder-7b produced the same results before and after.\n- **The CI publish-gate failure that appeared on the v1.6.2 tag push** was downstream of the eval failure (`Wait for evals workflow` step blocked publish). Now that the underlying fixtures don't false-fail on gpt-4o-mini + detached-HEAD CI, the publish gate clears too.\n\n## What's new in 1.6.2\n\nPatch. Two additive ships, both no-code-changes from the engine's perspective:\n\n### Higgsfield creative-handbook knowledge pack\n\n`packs/higgsfield-creative-handbook.md` — a community-style markdown pack documenting Higgsfield's actual conventions: model-selection rules (which of the 13 models for which use case), Soul ID character-training workflow, camera-move vocabulary, prompt-structure pattern (long-form prose, not keyword tags), multi-reference editing, Marketing Studio modes, common pitfalls (don't translate Midjourney flags verbatim), output specs.\n\nLoad it explicitly:\n\n```\nload_knowledge_pack source=\"https://raw.githubusercontent.com/LumabyteCo/clarifyprompt-mcp/main/packs/higgsfield-creative-handbook.md\"\n```\n\n…or, since it ships in the npm tarball, point at the installed copy. The Context Curator grounds Higgsfield-targeted prompts in this pack's chunks automatically via semantic retrieval. See the [Knowledge packs](#knowledge-packs) section for the full loading + scoping model.\n\n### `npm run matrix` — multi-model eval matrix runner\n\n`evals/matrix.mjs` runs `npm run eval` sequentially against N models and stitches the results into one side-by-side HTML (`evals/matrix.html` by default). Lights up the model-class-gated fixtures (`shape-small-local-model` / `shape-mid-tier-model` / `shape-reasoning-model`) that single-model runs skip, and exposes deltas like \"qwen-7b fails analyzer-creative-media but gpt-4o-mini passes it\" in a glance.\n\n```bash\nnpm run matrix -- --models qwen2.5-coder:7b-instruct-q4_K_M,gpt-oss:20b-cloud,glm-5.2:cloud\n```\n\nOutputs a dark-themed table — rows = fixtures, columns = models, cells = pass / fail / skip / errored with tooltips showing which checks failed.\n\nCompanion fix: `evals/run.mjs` gains a `--json-out <path>` flag that writes structured per-model results (matrix.mjs uses it; CI agents can use it too).\n\n### Numbers\n\n- **No tool surface change.** Still 23 MCP tools.\n- **No platform count change.** 60+ platforms (`packs/platforms/*.yaml` unchanged).\n- **30 → 30 fixtures** (no new fixtures; matrix is tooling, not coverage).\n- **Tarball grows ~10 KB** for the knowledge pack. `evals/matrix.mjs` is NOT in the tarball — it's a maintainer/contributor tool, not a runtime artifact.\n\n## What's new in 1.6.1\n\nPatch release. Adds **[Higgsfield](https://higgsfield.ai)** as a target platform in both `image` and `video` categories. No code changes — pure YAML platform-pack additions and one eval fixture.\n\nHiggsfield is a multi-model creative platform that exposes its own MCP server at `https://mcp.higgsfield.ai/mcp`. Inside one connection you get:\n\n- **Image**: Soul 2.0, Soul Cinema, Soul Cast (character-consistent), Flux 2, Seedream 5, Nano Banana Pro, GPT Image 2\n- **Video**: Cinema Studio, Sora 2, Veo 3.1, Kling 3.0, WAN 2.6, Seedance 2.0\n- **Workflows**: Soul ID character training, Lipsync Studio, UGC Factory, Marketing Studio, virality_predictor\n\nThe 1.6.1 ClarifyPrompt platform entries surface Higgsfield's model identifiers and prompt-style conventions (long-form natural-language prose; composition + lighting + textures + mood; up to 4K images / 15 s video / Soul ID for character consistency) as syntax hints to the curator.\n\n**Recommended pattern:** install both `clarifyprompt-mcp` AND Higgsfield's MCP in your client (Claude Desktop / Cursor / AI Butler / Claude Code). Use `optimize_prompt(platform: 'higgsfield', ...)` or `compose_prompt(platform: 'higgsfield', ...)` to compile, then pass the compiled prompt to Higgsfield's `generate_image` / `generate_video` tool. MCPs compose at the client; ClarifyPrompt stays at the \"compile\" layer.\n\n29 → 30 eval fixtures. Same MCP tool surface as 1.6.0 (23 tools, 1 resource). No env-var changes.\n\n## What's new in 1.6.0\n\nFour targeted additions across the engine's four pillars (memory / agentic / models / context), each shipped behind real eval fixtures. **3 new MCP tools** (23 total). Fully back-compat with 1.5.x — no removed tools, no removed fields, no required env-var changes.\n\n### Memory — explicit fact CRUD (`memory_remember`, `memory_forget`, `memory_list_facts`)\n\nBefore 1.6, facts only entered persistent memory via *reflection on `save_outcome`* — implicit, LLM-extracted, after-the-fact. 1.6 adds the explicit path:\n\n- **`memory_remember`** — directly insert a `(subject, predicate, object)` triple with explicit confidence. Source tagged `user:explicit`. Auto-embedded for future semantic retrieval.\n- **`memory_forget`** — soft-delete (bi-temporal `invalidated_at`) a fact by id. Idempotent: re-forgetting an already-invalidated fact is a no-op and returns `success: false` cleanly.\n- **`memory_list_facts`** — list live facts in a scope (default `user`), optionally filtered by predicate. Sorted by most-recently-observed.\n\nThis closes the obvious UX gap where the engine could only learn from *outcomes* — now users can say \"remember I prefer X\" directly.\n\n### Agentic — `compose_prompt`'s new `max_iterations` revise loop\n\n`compose_prompt` used to revise *once* (the critique's `improvedPrompt` replaced the optimization, if the verdict wasn't `accept`). 1.6 adds a loop:\n\n```json\n{ \"prompt\": \"...\", \"post_critique\": true, \"auto_revise\": true, \"max_iterations\": 3 }\n```\n\nEach iteration after the first re-runs `optimize` + `critique` on the previous iteration's improved prompt. Stops at `verdict=accept`, no improvedPrompt to feed back, or the cap. `pre_clarify` only runs once (no point re-asking on a rewrite). The response includes a new `iterations` field showing how many fired. Hard cap of 5 to prevent cost runaways.\n\n### Models — per-stage model routing\n\nEach compose stage can now target a different model:\n\n```json\n{\n  \"prompt\": \"...\",\n  \"clarify_model\": \"qwen2.5-coder:7b-instruct-q4_K_M\",\n  \"optimize_model\": \"claude-sonnet-5\",\n  \"critique_model\": \"gpt-4o-mini\"\n}\n```\n\nRun clarify on a cheap local model, optimize on the big-budget frontier model, critique on the cheap judge. The override flows through every layer — `optimization.metadata.model` and `critique.judgeModel` in the response reflect the actual model that ran each stage.\n\n### Context — git-state + environment signals\n\nTwo new signal collectors feed the Context Curator:\n\n- **`bundle.git`** — current branch, short SHA, dirty flag, last 5 commit titles. Lets the engine ground prompts in \"what you're iterating on\" without you spelling it out. Detected via `git rev-parse` / `git status` / `git log`; fails soft when cwd isn't a repo.\n- **`bundle.environment`** — `nowIso` / `weekday` / `timezone` (IANA from `Intl.DateTimeFormat`). Helps with time-sensitive prompts (\"send this email tomorrow\"). Pure JS, never fails.\n\nBoth are low-utility candidates in the curator (won't dominate budget) but surface as grounding sources when relevant.\n\n### Eval coverage\n\n23 → **29 fixtures** (6 new):\n- 24 `memory-remember-persists` / 25 `memory-forget-invalidates` — Me1 CRUD round-trip\n- 26 `compose-loop-iterates` — A1 loop infrastructure (new `iterations_min` / `iterations_max` checks)\n- 27 `compose-per-stage-models-honored` — M1 per-stage routing (new `optimization_model_eq` / `critique_model_eq` checks)\n- 28 `context-includes-git-state` / 29 `context-includes-environment-time` — C1 + C4 signals (new `bundle_has_git` / `bundle_has_environment` / `git_branch_present` checks)\n\nLocal baseline on `qwen2.5-coder:7b`: **25 passed / 1 failed / 3 skipped / 97% avg**. The lone failure remains the persistent `analyzer-creative-media` model-class signal (untouched).\n\n## What's new in 1.5.2\n\nThe first release where CI's eval gate (against `gpt-4o-mini`) drove the diff. Three real fixes that the gate caught the moment we wired in the `OPENAI_API_KEY` secret:\n\n- **Memory store now supports any embedding dimension** ([#2](https://github.com/LumabyteCo/clarifyprompt-mcp/issues/2)). The persistent vec table was hardcoded to 768 dims (the nomic-embed-text default), so anyone configuring `EMBED_MODEL=text-embedding-3-small` (1536), `voyage-3` (1024), `embed-english-v3.0` (1024), or any non-768 model would hit `Dimension mismatch: expected 768, got N` on the first `memory_search` call. The store now derives the table name from the embedder's actual dimension and creates the dim-specific table at boot. Existing 768-dim installs are unaffected.\n- **`LLM_TIMEOUT_MS` env-var override** on the LLM client. Default stays at 30s; users on slow hosted models can bump it. The eval workflow uses 120s for `gpt-4o-mini`.\n- **Eval harness hardened** — no longer crashes when a tool throws an exception (the SDK returns plain-text error responses; the harness used to `JSON.parse` them and die). One bad fixture no longer tanks the whole run.\n- **Live evals badge.** The `evals.yml` workflow runs on every push to main. The `[![evals]](...)` badge at the top of this README is its real-time status. Currently green at 20/0/3 · 100% on `gpt-4o-mini`.\n\nNo new MCP tools. No env-var surface changes (only an added optional `LLM_TIMEOUT_MS`). Fully back-compat with 1.5.x.\n\n## What's new in 1.5.1\n\nA patch release on top of 1.5.0. Pure docs + ship-process improvements; **runtime behavior is identical to 1.5.0**.\n\n- **README marketing surfaces refreshed** — the 1.5.0 release shipped with the README still on 1.4.0 in three places (headline blockquote, \"What's new in X\" heading, \"cumulative through X\" annotation). Every other version surface (`package.json`, `package-lock.json`, `server.json`, `src/index.ts`, `CHANGELOG`) was correct, but the prose drifted because nothing automated touched it. 1.5.1 fixes that.\n- **Two new ship-check audits** — `CP-11` (README marketing-surface coherence) hard-fails if any of the three above don't reference the current `package.json#version`. `CP-12` (Platform-pack format validity) parses every `packs/platforms/*.yaml` and asserts schema validity. CP-11 was promoted to the user-scoped (cross-project) ship-check skill the same day, so future projects benefit too.\n- **No code changes.** No new MCP tools. No new env vars. Same tarball anatomy as 1.5.0 plus a few hundred bytes of CHANGELOG.\n\n## What's new in 1.5.0\n\n**Built-in platforms become declarative.** The 58+ hardcoded TypeScript platform arrays move to `packs/platforms/*.yaml` — adding a built-in platform is now a YAML edit, not a TS edit. The TypeScript layer becomes a runtime loader with a hardcoded fallback table. Malformed YAML can never soft-brick the server.\n\n```\npacks/platforms/\n  chat.yaml       9 platforms\n  code.yaml       9\n  document.yaml   8\n  image.yaml     10\n  music.yaml      4\n  video.yaml     11\n  voice.yaml      7\n  README.md      contributor docs\n```\n\nTo add a new built-in platform: append an entry to the relevant category file, run `npm run build`, open a PR. No TS edit required. Custom-platform-via-runtime (`register_platform`) still works identically for user-installed platforms.\n\n- **Memory-layer eval coverage.** The eval harness now supports `setup: [{tool, args}, ...]` — a list of MCP tool calls executed BEFORE the main `input`. Two new fixtures use it: one loads a knowledge pack inline and verifies the chunk surfaces in `grounding.sources` after the embed → store → retrieve → curate → ground pipeline; the other proves vector-search ranking quality. **23 fixtures total** (was 20 in 1.4.0).\n- **Test infrastructure modernization.** The integration + Day-2 test batteries used to assert literal version strings (`1.3.0`, `16 tools`) and broke on every bump. Now they read `EXPECTED_VERSION` from `package.json` and assert presence of a tool *set* rather than a tool *count*. Future bumps don't break the tests.\n- **Adoption materials.** `docs/adoption/` ships with copy/paste-ready Show HN body, Reddit posts, Twitter thread, awesome-mcp-servers PR template, and catalog submission specs (mcp.so, Smithery, mcp-get, PulseMCP, modelcontextprotocol/servers).\n- **One new runtime dep:** `js-yaml` promoted from devDependency for the platform loader (~200 KB).\n- **Same MCP tool surface as 1.4.** 20 tools, 1 resource. No new tools; no removed tools; result shapes unchanged.\n\n## Previously in 1.4.0 — the composable pipeline\n\nFour core operations as first-class MCP tools that compose. Use any tool standalone, or run the whole chain in one call:\n\n```\n  ┌─────────────┐     ┌─────────────────────┐     ┌──────────────┐\n  │  clarify    │ →   │  ground OR optimize │ →   │   critique   │\n  │  (optional) │     │       (core)        │     │  (optional)  │\n  └─────────────┘     └─────────────────────┘     └──────────────┘\n\n  one call = compose_prompt(prompt, [sources], post_critique, auto_revise, ...)\n```\n\n- **`clarify_with_user`** — Given an ambiguous draft, returns 1–3 targeted clarifying questions, each with a `suggested_answer` you can accept verbatim, optional 2–4 quick-pick `options`, and a `dimension` tag (audience/scope/format/length/tone/constraints/goal/platform). Short-circuits with `clarificationNeeded: false` on confident, well-formed prompts so it pipelines cleanly in front of `optimize_prompt` without a per-call latency tax.\n- **`ground_prompt`** — The strict, retrieval-augmented variant of `optimize_prompt`. Caller-provided sources are pinned at the **highest** priority — above project rules, above pinned instructions — and tracked individually in the trace as `user-source:N`. Strict mode: zero non-empty sources → error, no silent fall-through. Per-source body cap (4000 chars) so a single huge paste can't dominate the budget.\n- **`critique_prompt`** — LLM-as-judge. Scores a candidate prompt 0–10 across 5 default dimensions (clarity, specificity, intent_alignment, format_fitness, length_appropriateness) — or your own criteria — with per-dimension rationale + concrete suggestions, an overall score, and a verdict (`accept` / `revise` / `reject`). Below `revise_threshold` (default 7.0) it also returns an `improvedPrompt` you can drop in. Use it pre-flight (\"is this prompt good enough for the expensive model?\"), postmortem (\"was the prompt the cause?\"), or to A/B-pick the best of N optimization variants.\n- **`compose_prompt`** — One MCP call runs the canonical pipeline. Auto-decides the ground vs. optimize branch from whether you passed `sources`. `pre_clarify: 'auto' | 'always' | 'never'`. `post_critique: true` adds a judge pass. `auto_revise: true` replaces `final_prompt` with the rewrite when the verdict isn't `accept`. Returns a per-stage `stages` audit array so the caller sees exactly what ran.\n- **Eval harness v0** — Deterministic regression tests under `evals/`. 20 YAML fixtures cover analyzer, shape, intent-overlay, grounding, clarify, critique, ground, and compose surfaces. `npm run eval` produces a console summary + self-contained dark-themed HTML report. Multi-model matrix is just bash: run `LLM_MODEL=... npm run eval -- --report-path evals/report-X.html` per model.\n- **CI-gated evals (opt-in)** — When `OPENAI_API_KEY` is set as a repo secret, the eval harness runs in CI against `gpt-4o-mini` as a release gate. Off by default; nothing leaves your machine without the secret.\n- **5 new MCP tools** (20 total). `optimize_prompt` also gains a `userProvidedSources` injection point — both `ground_prompt` and `compose_prompt` use it under the hood, but it's available directly if you want explicit control without the strict-mode validation.\n\n> Carried over from 1.3: persistent memory + knowledge packs + reflective learning. The curator continues to score and fit grounding sources into the target model's remaining window. `explain_last_curation` still gives you a per-call breakdown of selected vs. rejected candidates with reasons.\n\n## What's in the box (cumulative through 1.15.0)\n\n- **Context Engine** — auto-gathers workspace rules (`CLAUDE.md`, `AGENTS.md`, `.cursorrules`, `.clinerules`, `clarify.md`), detects frameworks and languages from `package.json` and sibling manifests, tracks an active file excerpt, and maintains a per-session ring buffer of recent optimizations **and their outcomes**.\n- **Unified `PromptAnalyzer`** — one LLM call produces `{ category, intent, recommendedMode, confidence }` together. 10 intents: `production-code`, `brand-voice`, `stakeholder-comm`, `data-extract`, `creative-media`, `technical-spec`, `analysis`, `quick-draft`, `exploration`, `unknown`. Intent beats surface keywords on ambiguity.\n- **Target-model-aware prompt shaping** — system prompt, `maxTokens`, and `temperature` adapt to the downstream LLM's context window and the resolved intent. Small local models get a compact prompt; Claude/GPT-4/Gemini get the full richness.\n- **Grounding Context (single, priority-ordered)** — user pinned instructions → project rules → active file → prior accepted examples → web search → workspace metadata → target-model hints → custom platform instructions → built-in syntax hints. No more parallel context silos.\n- **Session retrieval (save_outcome)** — the caller reports `accepted | edited | rejected` per optimization; similar accepted outputs in the same session get injected as few-shot examples into future similar prompts. Backed by persistent memory (SQLite + sqlite-vec), so accepted outcomes survive restarts.\n- **Local JSONL tracing** — every optimization writes a structured trace line (now with `shape`, `groundingSources`, `error` fields) to `$CLARIFYPROMPT_HOME/traces/YYYY-MM-DD.jsonl`. **Nothing is uploaded.** Toggle via `CLARIFYPROMPT_TRACE=off`.\n- **Unified `$CLARIFYPROMPT_HOME`** — one env var for everything ClarifyPrompt writes. Legacy `CLARIFYPROMPT_CONFIG_DIR` / `CLARIFYPROMPT_DATA_DIR` still work (deprecation hint, silenceable).\n- **Three transports** — `stdio` (default), `streamable-http` (MCP over Node `http`, stateful sessions + `/health`), and `a2a` (an **Agent-to-Agent** peer: agent card, JSON-RPC `message/send` + SSE `message/stream`, task cancellation, `input-required` clarification). One `CLARIFYPROMPT_TRANSPORT` env var; stdio behavior is byte-identical to before.\n- **60+ platforms, 7 categories, custom platforms** — the original core is unchanged and fully backward-compatible.\n- **Any LLM, any provider.** One code path works with **any OpenAI-compatible API** — Ollama (local + cloud), LM Studio, vLLM, OpenAI, Google Gemini, xAI Grok, Groq, Mistral, DeepSeek, Cohere, Perplexity, Together, Fireworks, OpenRouter — plus **Anthropic Claude** directly. Reasoning models (`o1/o3/o4`, `deepseek-reasoner`, `gpt-oss`, `*-thinking`) are auto-detected and given a larger token budget so they actually produce content. [See 15+ pre-configured provider examples below](#provider-examples).\n- **Apache-2.0, forever.** Open-source core, no relicensing.\n\n## Quick Start\n\n### With Docker\n\nPull the published image from GitHub Container Registry (multi-arch: `amd64` + `arm64`, with signed provenance + SBOM):\n\n```bash\ndocker pull ghcr.io/lumabyteco/clarifyprompt-mcp:latest\n```\n\nAll config is passed at **run time** — nothing is baked into the image, so the image is safe to share and contains no secrets:\n\n```bash\n# stdio (for MCP hosts that launch the container)\ndocker run --rm -i \\\n  -e LLM_API_URL=http://host.docker.internal:11434/v1 \\\n  -e LLM_MODEL=qwen2.5:7b \\\n  -e CLARIFYPROMPT_HOME=/data \\\n  -v clarifyprompt-data:/data \\\n  ghcr.io/lumabyteco/clarifyprompt-mcp:latest\n\n# or serve over HTTP / A2A\ndocker run --rm -p 3000:3000 \\\n  -e CLARIFYPROMPT_TRANSPORT=a2a -e CLARIFYPROMPT_HTTP_HOST=0.0.0.0 \\\n  -e LLM_API_URL=http://host.docker.internal:11434/v1 -e LLM_MODEL=qwen2.5:7b \\\n  ghcr.io/lumabyteco/clarifyprompt-mcp:latest\n```\n\n> Mount a volume at `CLARIFYPROMPT_HOME` to persist memory, traces, and packs across runs. Pass `LLM_API_KEY` / `EMBED_API_KEY` as `-e` env vars (or `--env-file`) at run time — never bake them into an image.\n\n### With Claude Desktop\n\nAdd to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"clarifyprompt\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"clarifyprompt-mcp\"],\n      \"env\": {\n        \"LLM_API_URL\": \"http://localhost:11434/v1\",\n        \"LLM_MODEL\": \"qwen2.5:7b\"\n      }\n    }\n  }\n}\n```\n\n### With Claude Code\n\n```bash\nclaude mcp add clarifyprompt -- npx -y clarifyprompt-mcp\n```\n\nSet the environment variables in your shell before launching:\n\n```bash\nexport LLM_API_URL=http://localhost:11434/v1\nexport LLM_MODEL=qwen2.5:7b\n```\n\n### With Cursor\n\nAdd to your `.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"clarifyprompt\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"clarifyprompt-mcp\"],\n      \"env\": {\n        \"LLM_API_URL\": \"http://localhost:11434/v1\",\n        \"LLM_MODEL\": \"qwen2.5:7b\"\n      }\n    }\n  }\n}\n```\n\n### With AI Butler\n\n[AI Butler](https://github.com/LumabyteCo/aibutler) is a self-hosted\npersonal AI agent runtime — single Go binary, multi-channel chat, MCP\necosystem hub. Drop ClarifyPrompt into its `mcp.servers` config and\nthe agent picks up all 23 tools as native capabilities, callable from\nany channel (web chat, terminal, Telegram, Slack, etc.). AI Butler\ndiscovers tools dynamically via MCP's `tools/list`, so adding /\nremoving tools in ClarifyPrompt updates the agent's surface\nautomatically — no config edits needed on the butler side.\n\nEdit `~/.aibutler/config.yaml`:\n\n```yaml\nconfigurations:\n  mcp:\n    servers:\n      - name: clarifyprompt\n        command: clarifyprompt-mcp\n        env:\n          LLM_API_URL: \"http://localhost:11434/v1\"\n          LLM_MODEL: \"qwen3-vl:8b\"\n```\n\nRestart AI Butler. The boot log confirms the tools are wired in:\n\n![AI Butler boot log: mcp: connected to clarifyprompt, 1/1 servers connected, then \"Ready. Press Ctrl+C to stop.\" Verified live integration.](docs/screenshots/aibutler/01-boot-log.png)\n\nThe agent enumerates the full surface on request — every tool prefixed\nwith `clarifyprompt.`:\n\n![AI Butler webchat showing the agent listing the clarifyprompt tools with one-line descriptions](docs/screenshots/aibutler/02-tool-listing.png)\n\n> 📸 **Screenshots above are from a 1.2-era integration (11 tools).**\n> Current `1.6.x` exposes **23 tools** — `optimize_prompt`,\n> `clarify_with_user`, `ground_prompt`, `critique_prompt`,\n> `compose_prompt`, plus the management / inspection / memory\n> tools (`memory_search`, `memory_remember`, `memory_forget`,\n> `memory_list_facts`, knowledge-pack tools, traces, custom\n> platforms, etc.). AI Butler picks them up automatically via the\n> MCP `tools/list` discovery; no config changes needed.\n\n#### Drive the Context Engine end-to-end\n\nYou can preview what the engine *would* gather (without running the\noptimization) using `inspect_context`:\n\n![Context Engine preview — analyzer output (Category=code, Intent=production-code, Recommended Mode=detailed, Confidence=Medium), session history, and the priority-ordered grounding stack the engine would merge into the system prompt. Closing takeaway about a language mismatch the engine detected between workspace (JS) and prompt (TypeScript).](docs/screenshots/aibutler/03-inspect-context.png)\n\nThen run the actual optimizer for any of the 60+ supported platforms:\n\n![optimize_prompt response — Midjourney-shaped optimized prompt for \"a dragon flying over a castle at sunset\" with --ar 16:9 and --v 6 parameters, plus the analysis section showing Resolved Intent=\"creative-media\", Mode Source, and the grounding sources used](docs/screenshots/aibutler/04-optimize-image.png)\n\nEvery optimization gets a single JSONL line in\n`~/.clarifyprompt/traces/YYYY-MM-DD.jsonl` — strictly local, never\nuploaded. The `list_traces` tool turns that into a queryable summary\nwith replay support via `get_trace`:\n\n![list_traces table — trace ID, intent, input preview, platform, latency for recent optimizations. Below the table: a 3-point explanation of what tracing gives — privacy (local-only), observability (every optimization recorded), replay (use trace ID + get_trace to re-fetch the full system prompt)](docs/screenshots/aibutler/05-list-traces.png)\n\nThe full integration walkthrough — including all 11 tools driven from\nchat, configuration options, and natural-language usage examples —\nis in the AI Butler docs:\n**[Integrate an MCP Server](https://docs.aibutler.dev/ecosystem/integrate-mcp/)**.\n\n## Configuration & the compose panel\n\nEverything you need to run the full pipeline and (in supporting hosts) see the interactive result panel.\n\n### The model that does the work\n\nClarifyPrompt calls **one** OpenAI-compatible or Anthropic endpoint, set via env:\n\n```bash\nLLM_API_URL=http://localhost:11434/v1     # Ollama shown; any OpenAI-compatible URL works\nLLM_API_KEY=                              # empty for local Ollama; a key for hosted providers\nLLM_MODEL=qwen2.5:7b                      # the model that rewrites and judges\n```\n\nOutput is **model-dependent** — the *structure* (a platform's syntax, the critique dimensions) is consistent across models; the exact wording and scores vary by model.\n\n### Run the whole pipeline in one call\n\n```jsonc\ncompose_prompt({\n  \"prompt\": \"write a product update email about our new dashboard\",\n  \"platform\": \"claude\",     // target a platform's tuning; omit for portable, neutral output\n  \"pre_clarify\": \"never\",   // \"auto\" | \"always\" | \"never\"\n  \"post_critique\": true     // adds the LLM-as-judge pass (verdict + the six score dimensions)\n})\n```\n\nReturns `{ optimization: { id, sessionId, originalPrompt, platform, … }, finalPrompt, critique: { verdict, overallScore, dimensions[] }, stages[] }`.\n\n### Targeting a platform\n\n`platform:` (on `optimize_prompt` or `compose_prompt`) selects a platform's tuning — e.g. `midjourney`, `dall-e`, `sora`, `suno`, `claude`, `chatgpt`, `cursor` (58 built-in + any you register). For chat, the platforms **are** the models (`claude`, `chatgpt`, `gemini`, `llama`, `deepseek`, …). **Text categories** (`chat`/`document`/`code`) produce portable, platform-neutral output when you *omit* `platform` — name one to opt into that platform's specific idioms.\n\n### Per-stage models (e.g. a stronger model as the critic)\n\n`compose_prompt` can route each stage to a different model *name*:\n\n```jsonc\ncompose_prompt({\n  \"prompt\": \"…\",\n  \"optimize_model\": \"qwen2.5:14b\",   // rewrite on a cheaper model\n  \"critique_model\": \"gpt-4o\",        // judge on a stronger one\n  \"clarify_model\":  \"qwen2.5:7b\"\n})\n```\n\n> **Important:** all per-stage names hit the **same `LLM_API_URL`** — the override changes only the model *name*, not the endpoint. So with `LLM_API_URL` pointed at Ollama, every per-stage model must be an Ollama model; pointed at OpenAI, every model must be an OpenAI model. To genuinely **mix providers** (e.g. a local model to optimize + `gpt-4o` to critique), point `LLM_API_URL` at a gateway that serves both names — OpenRouter, a LiteLLM proxy, or any OpenAI-compatible router. (`optimize_prompt` on its own has no per-call model override; it uses `LLM_MODEL`.)\n\n### The interactive compose panel (MCP Apps)\n\nIn hosts that support the `io.modelcontextprotocol/ui` extension — Claude Desktop, Cursor, VS Code, … — `compose_prompt` renders a live panel next to the result: your original prompt, the optimized output (with a *show changes* diff toggle), a `for <platform>` / `general purpose` badge, the six critique score bars, and **Accept** / **Revise** actions. Accept records the outcome via `save_outcome` (feeding the few-shot memory loop); Revise sends your feedback back into the chat. Hosts without the extension are unaffected — they get the same text + `structuredContent` result and no panel.\n\n## Supported Platforms (58+ built-in, unlimited custom)\n\n| Category | Platforms | Default |\n|----------|-----------|---------|\n| **Image** (11) | Midjourney, DALL-E 3, Stable Diffusion, Flux, Ideogram, Leonardo AI, Adobe Firefly, Grok Aurora, Google Imagen 3, Recraft, **Higgsfield** | Midjourney |\n| **Video** (12) | Sora, Runway Gen-3, Pika Labs, Kling AI, Luma, Minimax/Hailuo, Google Veo 2, Wan, HeyGen, Synthesia, CogVideoX, **Higgsfield** | Runway |\n| **Chat** (9) | Claude, ChatGPT, Gemini, Llama, DeepSeek, Qwen, Kimi, GLM, Minimax | Claude |\n| **Code** (9) | Claude, ChatGPT, Cursor, GitHub Copilot, Windsurf, DeepSeek Coder, Qwen Coder, Codestral, Gemini | Claude |\n| **Document** (8) | Claude, ChatGPT, Gemini, Jasper, Copy.ai, Notion AI, Grammarly, Writesonic | Claude |\n| **Voice** (7) | ElevenLabs, OpenAI TTS, Fish Audio, Sesame, Google TTS, PlayHT, Kokoro | ElevenLabs |\n| **Music** (4) | Suno AI, Udio, Stable Audio, MusicGen | Suno |\n\n## Tools\n\n### `optimize_prompt`\n\nThe main tool. Optimizes a prompt for a specific AI platfo","readmeFilename":"README.md"}