{"_id":"splay-mcp","_rev":"27-0af815b0dc15c39f1021a4572e1aad5a","name":"splay-mcp","dist-tags":{"latest":"0.10.0"},"versions":{"0.1.0":{"name":"splay-mcp","version":"0.1.0","keywords":["mcp","screenshot","playwright","design","gallery","claude"],"license":"MIT","_id":"splay-mcp@0.1.0","maintainers":[{"name":"ruucm","email":"ruucm.a@gmail.com"}],"homepage":"https://github.com/ruucm/workspace-splay#readme","bugs":{"url":"https://github.com/ruucm/workspace-splay/issues"},"bin":{"splay-mcp":"dist/cli.js"},"dist":{"shasum":"95cd5ff782adca6c1cd52392c286b319d4746250","tarball":"https://registry.npmjs.org/splay-mcp/-/splay-mcp-0.1.0.tgz","fileCount":8,"integrity":"sha512-98hMjdOb/yyRfitzZTPTOR4Z4JVVDg+oI/FUPRh4j6YvSqsvuXS0fpZcWH1koyf75tc19aZrt8GG8VdiPCRgVg==","signatures":[{"sig":"MEUCIQCFBOvXONYyyDP890/xVmOK/FQF6jxESqXn14eBuvoR/wIgN+ju4cwtuMKpy+59vYUhPTv4oczgewU7zdt0+ENXVAY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":144777},"type":"module","engines":{"node":">=20.9.0"},"exports":{".":"./dist/index.js"},"gitHead":"11a5d667711ee822a1bfcd4ac3a527bfec158e3f","scripts":{"build":"tsup","check-types":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"ruucm","email":"ruucm.a@gmail.com"},"repository":{"url":"git+https://github.com/ruucm/workspace-splay.git","type":"git","directory":"_outputs/website/packages/mcp"},"_npmVersion":"11.17.0","description":"로컬에서 바이브 코딩한 화면을 자동으로 스크린샷 찍어 Splay 갤러리에 모아주는 MCP 서버","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^4.4.3","sharp":"^0.34.5","playwright-core":"^1.58.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"6.0.3","@types/node":"^25.9.1","@repo/capture":"workspace:*","@repo/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/splay-mcp_0.1.0_1785290625176_0.7121791528395507","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"splay-mcp","version":"0.1.1","keywords":["mcp","screenshot","playwright","design","gallery","claude"],"license":"MIT","_id":"splay-mcp@0.1.1","maintainers":[{"name":"ruucm","email":"ruucm.a@gmail.com"}],"homepage":"https://github.com/ruucm/workspace-splay#readme","bugs":{"url":"https://github.com/ruucm/workspace-splay/issues"},"bin":{"splay-mcp":"dist/cli.js"},"dist":{"shasum":"a1366c010f5392c8d5e6b5ae3d9da994d828978f","tarball":"https://registry.npmjs.org/splay-mcp/-/splay-mcp-0.1.1.tgz","fileCount":8,"integrity":"sha512-xQExTzSIFyRbD0f5TL66GeHxe7wkN1vG5UcOqE+vAxN30i8AY9Axm3D5l1A760h1V9achS+N6Pf2AOxo/4YqJQ==","signatures":[{"sig":"MEUCIB2peeLVYO0A8X+rKJH4U+JPKrLxnXp7h1QQXQoBXLz2AiEAljDwMuOrJ6QMF68dLsTZE+WgvjZ2NvGxQMpgVpTELYQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":139079},"type":"module","engines":{"node":">=20.9.0"},"exports":{".":"./dist/index.js"},"gitHead":"11a5d667711ee822a1bfcd4ac3a527bfec158e3f","scripts":{"build":"tsup","check-types":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"ruucm","email":"ruucm.a@gmail.com"},"repository":{"url":"git+https://github.com/ruucm/workspace-splay.git","type":"git","directory":"_outputs/website/packages/mcp"},"_npmVersion":"11.17.0","description":"MCP server that screenshots the screens you build locally and collects them in one shared gallery","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^4.4.3","sharp":"^0.34.5","playwright-core":"^1.58.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"6.0.3","@types/node":"^25.9.1","@repo/capture":"workspace:*","@repo/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/splay-mcp_0.1.1_1785291330529_0.5281132246157212","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"splay-mcp","version":"0.1.2","keywords":["mcp","screenshot","playwright","design","gallery","claude"],"license":"MIT","_id":"splay-mcp@0.1.2","maintainers":[{"name":"ruucm","email":"ruucm.a@gmail.com"}],"homepage":"https://github.com/ruucm/workspace-splay#readme","bugs":{"url":"https://github.com/ruucm/workspace-splay/issues"},"bin":{"splay-mcp":"dist/cli.js"},"dist":{"shasum":"c344a03af28840ac9293ba7051a95fadea50ce51","tarball":"https://registry.npmjs.org/splay-mcp/-/splay-mcp-0.1.2.tgz","fileCount":8,"integrity":"sha512-SmmWF0IjX1Uc2D9Wy+m/B5Or92egBzhx4JaK1GQd6JpOi2KxWyS0aeOABMnMj7nI1lwLqJdsB6STpppXpp8QGw==","signatures":[{"sig":"MEQCICWuQ/1NHxAW1wuFvZ2knDtxXMAOPcMbOc91cpRWRIXXAiAiljREYAsYDvivF+NuFjwG012PhfqohIJNt9yfZLo4og==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":139319},"type":"module","engines":{"node":">=20.9.0"},"exports":{".":"./dist/index.js"},"gitHead":"78372ce4029ae87f7fe4c7e6ae0e21cc95b99c1e","scripts":{"build":"tsup","check-types":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"ruucm","email":"ruucm.a@gmail.com"},"repository":{"url":"git+https://github.com/ruucm/workspace-splay.git","type":"git","directory":"_outputs/website/packages/mcp"},"_npmVersion":"11.17.0","description":"MCP server that screenshots the screens you build locally and collects them in one shared gallery","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^4.4.3","sharp":"^0.34.5","playwright-core":"^1.58.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"6.0.3","@types/node":"^25.9.1","@repo/capture":"workspace:*","@repo/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/splay-mcp_0.1.2_1785292553094_0.03874874263766137","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"splay-mcp","version":"0.2.0","keywords":["mcp","screenshot","playwright","design","gallery","claude"],"license":"MIT","_id":"splay-mcp@0.2.0","maintainers":[{"name":"ruucm","email":"ruucm.a@gmail.com"}],"homepage":"https://github.com/ruucm/workspace-splay#readme","bugs":{"url":"https://github.com/ruucm/workspace-splay/issues"},"bin":{"splay-mcp":"dist/cli.js"},"dist":{"shasum":"8c31c9ccf8018c7a61387a6ab879694f1c86ada7","tarball":"https://registry.npmjs.org/splay-mcp/-/splay-mcp-0.2.0.tgz","fileCount":8,"integrity":"sha512-rkvulmnW/z5w1jnKq2FSUio1IizTSLYadzA/l3+mkfJdvSkxQHAjMCoBT1HSqpdXfVhhBniHjlyXEIKwrtcvoQ==","signatures":[{"sig":"MEUCIQDaytoS46Nj3mDflmpbn4h2+ut27T7FITBnagcJmAFRpQIgdqLbjGO1Q+XSj5JzquGGSkJScNOh4gtpJUOM4/yt51Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":166811},"type":"module","engines":{"node":">=20.9.0"},"exports":{".":"./dist/index.js"},"gitHead":"8aac7cd1de131bbff99ddb957d024431798177db","scripts":{"build":"tsup","check-types":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"ruucm","email":"ruucm.a@gmail.com"},"repository":{"url":"git+https://github.com/ruucm/workspace-splay.git","type":"git","directory":"_outputs/website/packages/mcp"},"_npmVersion":"11.17.0","description":"MCP server that screenshots the screens you build locally and collects them in one shared gallery","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^4.4.3","sharp":"^0.34.5","playwright-core":"^1.58.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"6.0.3","@types/node":"^25.9.1","@repo/capture":"workspace:*","@repo/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/splay-mcp_0.2.0_1785373708558_0.854212454296597","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"splay-mcp","version":"0.3.0","keywords":["mcp","screenshot","playwright","design","gallery","claude"],"license":"MIT","_id":"splay-mcp@0.3.0","maintainers":[{"name":"ruucm","email":"ruucm.a@gmail.com"}],"homepage":"https://github.com/ruucm/workspace-splay#readme","bugs":{"url":"https://github.com/ruucm/workspace-splay/issues"},"bin":{"splay-mcp":"dist/cli.js"},"dist":{"shasum":"6abbea6b8df7ef3dc6ffe7e24ad0dc86526af4d3","tarball":"https://registry.npmjs.org/splay-mcp/-/splay-mcp-0.3.0.tgz","fileCount":8,"integrity":"sha512-y6pEoL5jzt1mdE7iykjPgSHqGAH09SQitaAQCnEUY8JUjulQKd2AuLz7aOtcaMSzSl6/HVHVEz7L+53KqMYvqg==","signatures":[{"sig":"MEUCICRmTip1wSY0UQSwj1/tF90Tm7OeTL//eUpfIDXCcPDiAiEAvSkRWGbySXGwRL5S8rb+hfOBl7sE3EEBE4FsmkIl7xE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":210399},"type":"module","engines":{"node":">=20.9.0"},"exports":{".":"./dist/index.js"},"gitHead":"4a8234edfcfb595710bdc69fefd4da270ec8d8a3","scripts":{"build":"tsup","check-types":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"ruucm","email":"ruucm.a@gmail.com"},"repository":{"url":"git+https://github.com/ruucm/workspace-splay.git","type":"git","directory":"_outputs/website/packages/mcp"},"_npmVersion":"11.17.0","description":"MCP server that screenshots the screens you build locally and collects them in one shared gallery","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^4.4.3","sharp":"^0.34.5","undici":"^8.9.0","playwright-core":"^1.58.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"6.0.3","@types/node":"^25.9.1","@repo/capture":"workspace:*","@repo/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/splay-mcp_0.3.0_1785395434240_0.37975255944935227","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"splay-mcp","version":"0.4.0","keywords":["mcp","screenshot","playwright","design","gallery","claude"],"license":"MIT","_id":"splay-mcp@0.4.0","maintainers":[{"name":"ruucm","email":"ruucm.a@gmail.com"}],"homepage":"https://github.com/ruucm/workspace-splay#readme","bugs":{"url":"https://github.com/ruucm/workspace-splay/issues"},"bin":{"splay-mcp":"dist/cli.js"},"dist":{"shasum":"110eaae36c5c112edae7b09f8cc4ec95becb7d4c","tarball":"https://registry.npmjs.org/splay-mcp/-/splay-mcp-0.4.0.tgz","fileCount":8,"integrity":"sha512-72gT0kgfzGK1lSx42xoQG/BGWHlhBDuGyi72Mo9NERst2txrX+8ggVrDIEeq2x1kmcmVC6KxfM2NGAEk/pofMg==","signatures":[{"sig":"MEUCIQCvukTwbeTk519lCtpaZgGnc6n0c//aHNU/ayvhqVZw8wIgVObsNaJNJ3Rzsyb2J4hU1k8NLrAjbpLJtTjNf6fdFVk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":234709},"type":"module","engines":{"node":">=20.9.0"},"exports":{".":"./dist/index.js"},"gitHead":"9c556534abb604046d21f60d2a2a9fc503c3caa2","scripts":{"build":"tsup","check-types":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"ruucm","email":"ruucm.a@gmail.com"},"repository":{"url":"git+https://github.com/ruucm/workspace-splay.git","type":"git","directory":"_outputs/website/packages/mcp"},"_npmVersion":"11.17.0","description":"MCP server that screenshots the screens you build locally and collects them in one shared gallery","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^4.4.3","sharp":"^0.34.5","undici":"^8.9.0","playwright-core":"^1.58.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"6.0.3","@types/node":"^25.9.1","@repo/capture":"workspace:*","@repo/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/splay-mcp_0.4.0_1785477321607_0.9568185885540428","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"splay-mcp","version":"0.5.0","keywords":["mcp","screenshot","playwright","design","gallery","claude"],"license":"MIT","_id":"splay-mcp@0.5.0","maintainers":[{"name":"ruucm","email":"ruucm.a@gmail.com"}],"homepage":"https://github.com/ruucm/workspace-splay#readme","bugs":{"url":"https://github.com/ruucm/workspace-splay/issues"},"bin":{"splay-mcp":"dist/cli.js"},"dist":{"shasum":"d5d2df06e7a6a9abfc7b029ae47ef944c9e5210b","tarball":"https://registry.npmjs.org/splay-mcp/-/splay-mcp-0.5.0.tgz","fileCount":8,"integrity":"sha512-C4LAnQDVPL1h401EQGlp1+wRpehOhHy8aq6Gu6WhTPM1kOCyIi2CRSdrZbh6AP88UMsl90inP5LkbjkMj4wQaA==","signatures":[{"sig":"MEUCIA3Whr57GaCdl4FmydUpe9CUwfprVL1ICNyoimI/UeFAAiEA0PC6nja9JbYT5c+BJueXVxl1oDlizGIBHoOmD4LN+Zw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":250458},"type":"module","engines":{"node":">=20.9.0"},"exports":{".":"./dist/index.js"},"gitHead":"6486a33ea369c5da90426dabd0c20a9017f79399","scripts":{"build":"tsup","check-types":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"ruucm","email":"ruucm.a@gmail.com"},"repository":{"url":"git+https://github.com/ruucm/workspace-splay.git","type":"git","directory":"_outputs/website/packages/mcp"},"_npmVersion":"11.17.0","description":"MCP server that screenshots the screens you build locally and collects them in one shared gallery","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^4.4.3","sharp":"^0.34.5","undici":"^8.9.0","playwright-core":"^1.58.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"6.0.3","@types/node":"^25.9.1","@repo/capture":"workspace:*","@repo/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/splay-mcp_0.5.0_1785479741467_0.6464094656365695","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"splay-mcp","version":"0.5.1","keywords":["mcp","screenshot","playwright","design","gallery","claude"],"license":"MIT","_id":"splay-mcp@0.5.1","maintainers":[{"name":"ruucm","email":"ruucm.a@gmail.com"}],"homepage":"https://github.com/ruucm/workspace-splay#readme","bugs":{"url":"https://github.com/ruucm/workspace-splay/issues"},"bin":{"splay-mcp":"dist/cli.js"},"dist":{"shasum":"15eb99ffd05154d7e9a11eb0c54f985794da060a","tarball":"https://registry.npmjs.org/splay-mcp/-/splay-mcp-0.5.1.tgz","fileCount":8,"integrity":"sha512-WO2JrDdg7kOj3cvzuFGb7ZbvS+ZKfLUBkt6w01221JooIvV5xqYNc3XUsnMYlaKiesyVdRIBzCHLOJiCmNVdTA==","signatures":[{"sig":"MEQCIBIZ1Z6W4LlmxOUiqw12PEg5tAbVxa47WjAgDOAX4t78AiBE9chPLi5OjomU4yzBdZ2Pz9f7yWVQ9OxC7Wzklldh1Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":253012},"type":"module","engines":{"node":">=20.9.0"},"exports":{".":"./dist/index.js"},"gitHead":"19fd97ad61f7de96a6b6592bdf2c861ca9873700","scripts":{"build":"tsup","check-types":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"ruucm","email":"ruucm.a@gmail.com"},"repository":{"url":"git+https://github.com/ruucm/workspace-splay.git","type":"git","directory":"_outputs/website/packages/mcp"},"_npmVersion":"11.17.0","description":"MCP server that screenshots the screens you build locally and collects them in one shared gallery","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^4.4.3","sharp":"^0.34.5","undici":"^8.9.0","playwright-core":"^1.58.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"6.0.3","@types/node":"^25.9.1","@repo/capture":"workspace:*","@repo/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/splay-mcp_0.5.1_1785486034409_0.16291434317218156","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"splay-mcp","version":"0.5.2","keywords":["mcp","screenshot","playwright","design","gallery","claude"],"license":"MIT","_id":"splay-mcp@0.5.2","maintainers":[{"name":"ruucm","email":"ruucm.a@gmail.com"}],"homepage":"https://github.com/ruucm/workspace-splay#readme","bugs":{"url":"https://github.com/ruucm/workspace-splay/issues"},"bin":{"splay-mcp":"dist/cli.js"},"dist":{"shasum":"146b891e4056793cd8cda5de02bfa76e9afbe052","tarball":"https://registry.npmjs.org/splay-mcp/-/splay-mcp-0.5.2.tgz","fileCount":8,"integrity":"sha512-9f01HJu66Ev41ri8juWv0hlXYHS2zvvijE4iR8k+3WZ3X4g3SwV3z5pbEv9GujXcnSKbuslivVVRLGxF55TV5w==","signatures":[{"sig":"MEQCICgXCNEPr5dYKx0fY4jJY3XRozyDrJJ9CH4WOWwG0sg9AiBI/dcmf+9yOzCqDj8tclOaemHwo2pJlTTx5ypL9pxhYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":257412},"type":"module","engines":{"node":">=20.9.0"},"exports":{".":"./dist/index.js"},"gitHead":"f0811208b963f9ab8c011c5e6d9797d129ad0600","scripts":{"build":"tsup","check-types":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"ruucm","email":"ruucm.a@gmail.com"},"repository":{"url":"git+https://github.com/ruucm/workspace-splay.git","type":"git","directory":"_outputs/website/packages/mcp"},"_npmVersion":"11.17.0","description":"MCP server that screenshots the screens you build locally and collects them in one shared gallery","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^4.4.3","sharp":"^0.34.5","undici":"^8.9.0","playwright-core":"^1.58.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"6.0.3","@types/node":"^25.9.1","@repo/capture":"workspace:*","@repo/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/splay-mcp_0.5.2_1785486654017_0.7700312352844803","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"splay-mcp","version":"0.5.3","keywords":["mcp","screenshot","playwright","design","gallery","claude"],"license":"MIT","_id":"splay-mcp@0.5.3","maintainers":[{"name":"ruucm","email":"ruucm.a@gmail.com"}],"homepage":"https://github.com/ruucm/workspace-splay#readme","bugs":{"url":"https://github.com/ruucm/workspace-splay/issues"},"bin":{"splay-mcp":"dist/cli.js"},"dist":{"shasum":"e073bc4912e57565f706d40c877cc500144496df","tarball":"https://registry.npmjs.org/splay-mcp/-/splay-mcp-0.5.3.tgz","fileCount":8,"integrity":"sha512-zKdl+qkXS3mK4dbaC8OenMDuh34MUmUNJF2s9ikptSKIeEgAbgKCtBfCe1U84ki3azVzzFvnrObw9yILt49Sxg==","signatures":[{"sig":"MEQCIHmWBWm3uW4Bpb0muooRFj1fVotNIZ/8MB+OgkpWYzpoAiBRroMvgNP1DpJXjhT7vf/cYdLbMhm6kvj34DOpp/xOqw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":263346},"type":"module","engines":{"node":">=20.9.0"},"exports":{".":"./dist/index.js"},"gitHead":"c87e5f4b38b3306440fa0f40d111c9a25a345d86","scripts":{"build":"tsup","check-types":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"ruucm","email":"ruucm.a@gmail.com"},"repository":{"url":"git+https://github.com/ruucm/workspace-splay.git","type":"git","directory":"_outputs/website/packages/mcp"},"_npmVersion":"11.17.0","description":"MCP server that screenshots the screens you build locally and collects them in one shared gallery","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^4.4.3","sharp":"^0.34.5","undici":"^8.9.0","playwright-core":"^1.58.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"6.0.3","@types/node":"^25.9.1","@repo/capture":"workspace:*","@repo/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/splay-mcp_0.5.3_1785488158679_0.5368073165525307","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"splay-mcp","version":"0.5.4","keywords":["mcp","screenshot","playwright","design","gallery","claude"],"license":"MIT","_id":"splay-mcp@0.5.4","maintainers":[{"name":"ruucm","email":"ruucm.a@gmail.com"}],"homepage":"https://github.com/ruucm/workspace-splay#readme","bugs":{"url":"https://github.com/ruucm/workspace-splay/issues"},"bin":{"splay-mcp":"dist/cli.js"},"dist":{"shasum":"277947b24e32abb0e113bf4753057f91c02825b1","tarball":"https://registry.npmjs.org/splay-mcp/-/splay-mcp-0.5.4.tgz","fileCount":8,"integrity":"sha512-+ts8DzZ/1X+hZdNuhstF2ee+TxrPhmXi0rdyfuqQAdA70uMeMtNHdSg0ItA8MSuTCZox4YIbitJU1BvMCDYcSQ==","signatures":[{"sig":"MEUCIQDhpltJC21QjcahD6NHKdrSlRWsUEaiMdFNUavhtGQdOwIgd5TUvlcEJhpPfmKayGLuwyOBGBKArM3odaH5MZ2EK60=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":264151},"type":"module","engines":{"node":">=20.9.0"},"exports":{".":"./dist/index.js"},"gitHead":"85802237a76790769005743a3c875b04cbddfd3d","scripts":{"build":"tsup","check-types":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"ruucm","email":"ruucm.a@gmail.com"},"repository":{"url":"git+https://github.com/ruucm/workspace-splay.git","type":"git","directory":"_outputs/website/packages/mcp"},"_npmVersion":"11.17.0","description":"MCP server that screenshots the screens you build locally and collects them in one shared gallery","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^4.4.3","sharp":"^0.34.5","undici":"^8.9.0","playwright-core":"^1.58.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"6.0.3","@types/node":"^25.9.1","@repo/capture":"workspace:*","@repo/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/splay-mcp_0.5.4_1785490656001_0.9155180074517046","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"splay-mcp","version":"0.5.5","keywords":["mcp","screenshot","playwright","design","gallery","claude"],"license":"MIT","_id":"splay-mcp@0.5.5","maintainers":[{"name":"ruucm","email":"ruucm.a@gmail.com"}],"homepage":"https://github.com/ruucm/workspace-splay#readme","bugs":{"url":"https://github.com/ruucm/workspace-splay/issues"},"bin":{"splay-mcp":"dist/cli.js"},"dist":{"shasum":"a14c6503a5d02bbec971351f7a6d6a64dd886705","tarball":"https://registry.npmjs.org/splay-mcp/-/splay-mcp-0.5.5.tgz","fileCount":8,"integrity":"sha512-MLsMX9BDQc7+T9F4AUjnBIn01iVTuuQDkg7gNUdOs35KRtui/Ekyn1onDCt0iSFOhAGQIn3aTxnc6GNHElr70A==","signatures":[{"sig":"MEYCIQDvFeXg7KjeslIpnrciixZGwDPQyW4PD2jlvd1i7ekA2AIhAJLbMZwD8VJq+KYxroHq3xkrCK3QsdJ1Mhqq1MvLl6LE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":267941},"type":"module","engines":{"node":">=20.9.0"},"exports":{".":"./dist/index.js"},"gitHead":"a9a862442cfb62c0b076e96fd7bf0d7c7b3224ea","scripts":{"build":"tsup","check-types":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"ruucm","email":"ruucm.a@gmail.com"},"repository":{"url":"git+https://github.com/ruucm/workspace-splay.git","type":"git","directory":"_outputs/website/packages/mcp"},"_npmVersion":"11.17.0","description":"MCP server that screenshots the screens you build locally and collects them in one shared gallery","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^4.4.3","sharp":"^0.34.5","undici":"^8.9.0","playwright-core":"^1.58.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"6.0.3","@types/node":"^25.9.1","@repo/capture":"workspace:*","@repo/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/splay-mcp_0.5.5_1785490822297_0.643093977561324","host":"s3://npm-registry-packages-npm-production"}},"0.5.6":{"name":"splay-mcp","version":"0.5.6","keywords":["mcp","screenshot","playwright","design","gallery","claude"],"license":"MIT","_id":"splay-mcp@0.5.6","maintainers":[{"name":"ruucm","email":"ruucm.a@gmail.com"}],"homepage":"https://github.com/ruucm/workspace-splay#readme","bugs":{"url":"https://github.com/ruucm/workspace-splay/issues"},"bin":{"splay-mcp":"dist/cli.js"},"dist":{"shasum":"7618bef73daca81a74542767a1e7f6d9e68cb488","tarball":"https://registry.npmjs.org/splay-mcp/-/splay-mcp-0.5.6.tgz","fileCount":8,"integrity":"sha512-SldVpJirIYtaeRxbDTpqJHsVpiV7jcgITi+mJmItxjPhao+l5jx8pAfoUlc+H8VD42JOo45AHcWqzCnV/YBL/A==","signatures":[{"sig":"MEUCIHYkV/qHJgnKFra0lRb397cAEAIq5epzW86IFiG2GO32AiEA0GetnydraAIlyituM2wv6xCvFhlVsvrTqwRZpK9V1Dc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":269275},"type":"module","engines":{"node":">=20.9.0"},"exports":{".":"./dist/index.js"},"gitHead":"acfbd8b5616e4fa0c4edbb37e2069c9e8f5e7602","scripts":{"build":"tsup","check-types":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"ruucm","email":"ruucm.a@gmail.com"},"repository":{"url":"git+https://github.com/ruucm/workspace-splay.git","type":"git","directory":"_outputs/website/packages/mcp"},"_npmVersion":"11.17.0","description":"MCP server that screenshots the screens you build locally and collects them in one shared gallery","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^4.4.3","sharp":"^0.34.5","undici":"^8.9.0","playwright-core":"^1.58.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"6.0.3","@types/node":"^25.9.1","@repo/capture":"workspace:*","@repo/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/splay-mcp_0.5.6_1785502804197_0.3291464982362857","host":"s3://npm-registry-packages-npm-production"}},"0.5.7":{"name":"splay-mcp","version":"0.5.7","keywords":["mcp","screenshot","playwright","design","gallery","claude"],"license":"MIT","_id":"splay-mcp@0.5.7","maintainers":[{"name":"ruucm","email":"ruucm.a@gmail.com"}],"homepage":"https://github.com/ruucm/workspace-splay#readme","bugs":{"url":"https://github.com/ruucm/workspace-splay/issues"},"bin":{"splay-mcp":"dist/cli.js"},"dist":{"shasum":"9168d77ed3c0daceae8f174758115740815b1b58","tarball":"https://registry.npmjs.org/splay-mcp/-/splay-mcp-0.5.7.tgz","fileCount":8,"integrity":"sha512-IQSmVEJuobDbbiiHViU3dJ2oe0UAZly9mon+gbFoPPMSJvY6phnueV1fVjrP3VWd8dgL7g+2yX8LobfaPTh4nA==","signatures":[{"sig":"MEQCIQDEFGpz7RvXCfRhzYXXJ1n697XGYczRB58Uol/YTyFj8gIfYR6vi64RrW2He/sbifW1R2ntz4BbHtZLsnCQqmJMmw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":271670},"type":"module","engines":{"node":">=20.9.0"},"exports":{".":"./dist/index.js"},"gitHead":"1067019b5ad3d5205ab1b8c7d7ecd18d8f75e47f","scripts":{"build":"tsup","check-types":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"ruucm","email":"ruucm.a@gmail.com"},"repository":{"url":"git+https://github.com/ruucm/workspace-splay.git","type":"git","directory":"_outputs/website/packages/mcp"},"_npmVersion":"11.17.0","description":"MCP server that screenshots the screens you build locally and collects them in one shared gallery","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^4.4.3","sharp":"^0.34.5","undici":"^8.9.0","playwright-core":"^1.58.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"6.0.3","@types/node":"^25.9.1","@repo/capture":"workspace:*","@repo/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/splay-mcp_0.5.7_1785509327599_0.28021593980462534","host":"s3://npm-registry-packages-npm-production"}},"0.5.8":{"name":"splay-mcp","version":"0.5.8","keywords":["mcp","screenshot","playwright","design","gallery","claude"],"license":"MIT","_id":"splay-mcp@0.5.8","maintainers":[{"name":"ruucm","email":"ruucm.a@gmail.com"}],"homepage":"https://github.com/ruucm/workspace-splay#readme","bugs":{"url":"https://github.com/ruucm/workspace-splay/issues"},"bin":{"splay-mcp":"dist/cli.js"},"dist":{"shasum":"5be14c78e14d1b29295a928cd270f1751d81c457","tarball":"https://registry.npmjs.org/splay-mcp/-/splay-mcp-0.5.8.tgz","fileCount":8,"integrity":"sha512-kyDPjC6RiBZFjbk8oLlkeVX6LHAdIGA8JNS1v626bSjcmLVEl5Dtyb9Iobdtt7mo2zX+bmtVqncgO6hm1FP0PA==","signatures":[{"sig":"MEYCIQDObAMN8b9i+xUcZaTQINrPVv9yxLeGmumUKQHsMJQumQIhAP+mpKqV2IA94SNndgRfRT15lkXylxbBk/1ltmouiC7N","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":279326},"type":"module","engines":{"node":">=20.9.0"},"exports":{".":"./dist/index.js"},"gitHead":"9d921e732c6f055b38e9de1fd4a86e7fa956c230","scripts":{"build":"tsup","check-types":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"ruucm","email":"ruucm.a@gmail.com"},"repository":{"url":"git+https://github.com/ruucm/workspace-splay.git","type":"git","directory":"_outputs/website/packages/mcp"},"_npmVersion":"11.17.0","description":"MCP server that screenshots the screens you build locally and collects them in one shared gallery","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^4.4.3","sharp":"^0.34.5","undici":"^8.9.0","playwright-core":"^1.58.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"6.0.3","@types/node":"^25.9.1","@repo/capture":"workspace:*","@repo/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/splay-mcp_0.5.8_1785541312865_0.15362665630022887","host":"s3://npm-registry-packages-npm-production"}},"0.5.9":{"name":"splay-mcp","version":"0.5.9","keywords":["mcp","screenshot","playwright","design","gallery","claude"],"license":"MIT","_id":"splay-mcp@0.5.9","maintainers":[{"name":"ruucm","email":"ruucm.a@gmail.com"}],"homepage":"https://github.com/ruucm/workspace-splay#readme","bugs":{"url":"https://github.com/ruucm/workspace-splay/issues"},"bin":{"splay-mcp":"dist/cli.js"},"dist":{"shasum":"75abb858d78ada6a71d01a0e3bc51363e348ff44","tarball":"https://registry.npmjs.org/splay-mcp/-/splay-mcp-0.5.9.tgz","fileCount":8,"integrity":"sha512-Pg/W5REEo/3NFzVxzuWf3oSQh0Y1Z6/NVF67ujohFXoZhVRzRNujmgO6KU5n4RkoBgtxmf6xmW8FU3d8vVbx+w==","signatures":[{"sig":"MEUCID9fB9900OnSNRySNhPCKUuXEZnFTDV9xEBfGC/DCWUdAiEArnY0818svcM4As+RBRQ6PXzqsTLJd1mQ1B48A2TRVcI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":281197},"type":"module","engines":{"node":">=20.9.0"},"exports":{".":"./dist/index.js"},"gitHead":"ea6513b5a38ebecd2d00c7459cb31b2d51c3d39a","scripts":{"build":"tsup","check-types":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"ruucm","email":"ruucm.a@gmail.com"},"repository":{"url":"git+https://github.com/ruucm/workspace-splay.git","type":"git","directory":"_outputs/website/packages/mcp"},"_npmVersion":"11.17.0","description":"MCP server that screenshots the screens you build locally and collects them in one shared gallery","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^4.4.3","sharp":"^0.34.5","undici":"^8.9.0","playwright-core":"^1.58.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"6.0.3","@types/node":"^25.9.1","@repo/capture":"workspace:*","@repo/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/splay-mcp_0.5.9_1785541956973_0.6364885544706635","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"splay-mcp","version":"0.6.0","keywords":["mcp","screenshot","playwright","design","gallery","claude"],"license":"MIT","_id":"splay-mcp@0.6.0","maintainers":[{"name":"ruucm","email":"ruucm.a@gmail.com"}],"homepage":"https://github.com/ruucm/workspace-splay#readme","bugs":{"url":"https://github.com/ruucm/workspace-splay/issues"},"bin":{"splay-mcp":"dist/cli.js"},"dist":{"shasum":"379856d1084af76db64e99cb0865df6c44be963e","tarball":"https://registry.npmjs.org/splay-mcp/-/splay-mcp-0.6.0.tgz","fileCount":8,"integrity":"sha512-ghZRohzQFwjemoA4L+1SQNmwH+LPeMjfZbtBRqyGBJfcT1MOqGMSVHwYf1u8CiaTyAetQJ5kqxzRTUULNbz6og==","signatures":[{"sig":"MEQCIFyiTCcZOz/8n0bfvkTuQbYNrnsXctkHGYVLqa+fgLMrAiArAzNJwM7Tr2G0lNCVNXz3Jixe+yNxIadtouQMfL7YXg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":291679},"type":"module","engines":{"node":">=20.9.0"},"exports":{".":"./dist/index.js"},"gitHead":"d3f5b573a0a9546b5dd5b5d5fb3201e445d18ca3","scripts":{"build":"tsup","check-types":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"ruucm","email":"ruucm.a@gmail.com"},"repository":{"url":"git+https://github.com/ruucm/workspace-splay.git","type":"git","directory":"_outputs/website/packages/mcp"},"_npmVersion":"11.17.0","description":"MCP server that screenshots the screens you build locally and collects them in one shared gallery","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^4.4.3","sharp":"^0.34.5","undici":"^8.9.0","playwright-core":"^1.58.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"6.0.3","@types/node":"^25.9.1","@repo/capture":"workspace:*","@repo/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/splay-mcp_0.6.0_1785544155642_0.04111256320863976","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"splay-mcp","version":"0.6.1","keywords":["mcp","screenshot","playwright","design","gallery","claude"],"license":"MIT","_id":"splay-mcp@0.6.1","maintainers":[{"name":"ruucm","email":"ruucm.a@gmail.com"}],"homepage":"https://github.com/ruucm/workspace-splay#readme","bugs":{"url":"https://github.com/ruucm/workspace-splay/issues"},"bin":{"splay-mcp":"dist/cli.js"},"dist":{"shasum":"6f00d96f4cd26a27b9fb3243437bc85a1b2ee201","tarball":"https://registry.npmjs.org/splay-mcp/-/splay-mcp-0.6.1.tgz","fileCount":8,"integrity":"sha512-5BLfupS/r01/p36fGJhle60r1tBghqkhiKetZe0oRiZ12Bt6UQMcMX48htQJMy+SswBqrzWHAumrBxzXaGIaNA==","signatures":[{"sig":"MEUCIQDo5s8CdO0YDEHF3Zt2pKKkErP7nTzmDx3ZG2A/NyyPXwIgShPTGvajW0nuQ/RrtT3Z4SH+7gsZgqHjH4G5A/l8XXU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":305805},"type":"module","engines":{"node":">=20.9.0"},"exports":{".":"./dist/index.js"},"gitHead":"c69de70f0b93cf0b116b7a4360ab0c6176159bef","scripts":{"build":"tsup","check-types":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"ruucm","email":"ruucm.a@gmail.com"},"repository":{"url":"git+https://github.com/ruucm/workspace-splay.git","type":"git","directory":"_outputs/website/packages/mcp"},"_npmVersion":"11.17.0","description":"MCP server that screenshots the screens you build locally and collects them in one shared gallery","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^4.4.3","sharp":"^0.34.5","undici":"^8.9.0","playwright-core":"^1.58.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"6.0.3","@types/node":"^25.9.1","@repo/capture":"workspace:*","@repo/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/splay-mcp_0.6.1_1785940990058_0.5661614029441449","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"splay-mcp","version":"0.6.2","keywords":["mcp","screenshot","playwright","design","gallery","claude"],"license":"MIT","_id":"splay-mcp@0.6.2","maintainers":[{"name":"ruucm","email":"ruucm.a@gmail.com"}],"homepage":"https://github.com/ruucm/workspace-splay#readme","bugs":{"url":"https://github.com/ruucm/workspace-splay/issues"},"bin":{"splay-mcp":"dist/cli.js"},"dist":{"shasum":"1eadfded5e9e98924e25f5b447f264857876e441","tarball":"https://registry.npmjs.org/splay-mcp/-/splay-mcp-0.6.2.tgz","fileCount":8,"integrity":"sha512-ZaW8D6+0lo23xEDKT0FEapsJh3Slvm6FazYUx/3IbdBgmitnVl6crspG7jqaP3jpQv6Hf+7y0YWai8jr26EUfA==","signatures":[{"sig":"MEUCIQDstTRvuA69joKh7UBFs4P9/n+LiLYjOZkP806R7IB8zwIgGI7/PEwN39LEh9jfopfmkpRb2GNSvCkuzn+PfA6Ar3s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":308178},"type":"module","engines":{"node":">=20.9.0"},"exports":{".":"./dist/index.js"},"gitHead":"c69de70f0b93cf0b116b7a4360ab0c6176159bef","scripts":{"build":"tsup","check-types":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"ruucm","email":"ruucm.a@gmail.com"},"repository":{"url":"git+https://github.com/ruucm/workspace-splay.git","type":"git","directory":"_outputs/website/packages/mcp"},"_npmVersion":"11.17.0","description":"MCP server that screenshots the screens you build locally and collects them in one shared gallery","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^4.4.3","sharp":"^0.34.5","undici":"^8.9.0","playwright-core":"^1.58.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"6.0.3","@types/node":"^25.9.1","@repo/capture":"workspace:*","@repo/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/splay-mcp_0.6.2_1785978275652_0.4407836122680082","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"splay-mcp","version":"0.6.3","keywords":["mcp","screenshot","playwright","design","gallery","claude"],"license":"MIT","_id":"splay-mcp@0.6.3","maintainers":[{"name":"ruucm","email":"ruucm.a@gmail.com"}],"homepage":"https://github.com/ruucm/workspace-splay#readme","bugs":{"url":"https://github.com/ruucm/workspace-splay/issues"},"bin":{"splay-mcp":"dist/cli.js"},"dist":{"shasum":"2158b3094d955f20ee4a621910a9d9ad02f76bc9","tarball":"https://registry.npmjs.org/splay-mcp/-/splay-mcp-0.6.3.tgz","fileCount":8,"integrity":"sha512-9rGSiWGt9bIngcfwvTekl8SdMqkDoZkvmfKC8U0ysv9DNqatNs2tgY8Hsw3s68y59znHdci8UfTcl9Y+0yw93g==","signatures":[{"sig":"MEYCIQCW52bor8xtc3z3M03GpC22TBkLgSIDNG7nekCXD3kmgAIhAMLDHmUUXsOwDbn+p0s8paQXD1VIx0dQZ11+Nth4op8D","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":310851},"type":"module","engines":{"node":">=20.9.0"},"exports":{".":"./dist/index.js"},"gitHead":"5b1ef47c3730f76b5f3355c9dee97df6c25080dc","scripts":{"build":"tsup","check-types":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"ruucm","email":"ruucm.a@gmail.com"},"repository":{"url":"git+https://github.com/ruucm/workspace-splay.git","type":"git","directory":"_outputs/website/packages/mcp"},"_npmVersion":"11.17.0","description":"MCP server that screenshots the screens you build locally and collects them in one shared gallery","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^4.4.3","sharp":"^0.34.5","undici":"^8.9.0","playwright-core":"^1.58.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"6.0.3","@types/node":"^25.9.1","@repo/capture":"workspace:*","@repo/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/splay-mcp_0.6.3_1785978922637_0.11182129997870671","host":"s3://npm-registry-packages-npm-production"}},"0.6.4":{"name":"splay-mcp","version":"0.6.4","keywords":["mcp","screenshot","playwright","design","gallery","claude"],"license":"MIT","_id":"splay-mcp@0.6.4","maintainers":[{"name":"ruucm","email":"ruucm.a@gmail.com"}],"homepage":"https://github.com/ruucm/workspace-splay#readme","bugs":{"url":"https://github.com/ruucm/workspace-splay/issues"},"bin":{"splay-mcp":"dist/cli.js"},"dist":{"shasum":"d2429627e8cbd347c55c90d9230d351137975007","tarball":"https://registry.npmjs.org/splay-mcp/-/splay-mcp-0.6.4.tgz","fileCount":8,"integrity":"sha512-FbOrEWn7MHLpWA7ydcXv5s5Q3KRdPMwE3q02hlTSHz64eBnLXzp5GJo2BwTnkEoH14rJqTMKgcQMEvVwyqgMEA==","signatures":[{"sig":"MEUCIC2OnxoVu4ZQRVjzUAahI6e1jsSSHeUqWbfOYBMD+VdaAiEAuMZ5cvjqlDVcM2hwIBgjJcYlNDkcC0YA0lbBw7vUlJQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":314480},"type":"module","engines":{"node":">=20.9.0"},"exports":{".":"./dist/index.js"},"gitHead":"12cc5976ae5f66c1364570b5d5240bdb81b355e3","scripts":{"build":"tsup","check-types":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"ruucm","email":"ruucm.a@gmail.com"},"repository":{"url":"git+https://github.com/ruucm/workspace-splay.git","type":"git","directory":"_outputs/website/packages/mcp"},"_npmVersion":"11.17.0","description":"MCP server that screenshots the screens you build locally and collects them in one shared gallery","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^4.4.3","sharp":"^0.34.5","undici":"^8.9.0","playwright-core":"^1.58.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"6.0.3","@types/node":"^25.9.1","@repo/capture":"workspace:*","@repo/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/splay-mcp_0.6.4_1785979582035_0.9238646482357795","host":"s3://npm-registry-packages-npm-production"}},"0.6.5":{"name":"splay-mcp","version":"0.6.5","keywords":["mcp","screenshot","playwright","design","gallery","claude"],"license":"MIT","_id":"splay-mcp@0.6.5","maintainers":[{"name":"ruucm","email":"ruucm.a@gmail.com"}],"homepage":"https://github.com/ruucm/workspace-splay#readme","bugs":{"url":"https://github.com/ruucm/workspace-splay/issues"},"bin":{"splay-mcp":"dist/cli.js"},"dist":{"shasum":"d3c67e63054a46c2d6951846b994e1ad7290c30f","tarball":"https://registry.npmjs.org/splay-mcp/-/splay-mcp-0.6.5.tgz","fileCount":8,"integrity":"sha512-eyMvN8kmvnyGzaL6sWtkDeRfrIdgKo3RKezmBi7Ki8wvA/PY6zuvIDFKT1sAUxuopCbTDH4Y+/9U+Igpzkn83Q==","signatures":[{"sig":"MEQCIFjjHlbvGERcC6qPBfBAP29ItISjgtuad2Xc6Pk6klX0AiAwy8CpGrzdGjSBqI1RFVu10FoUeyvd2doSJaW1YU5bWw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":322766},"type":"module","engines":{"node":">=20.9.0"},"exports":{".":"./dist/index.js"},"gitHead":"ce35893a382dc0ce72b753a9fe5b3b6a3eb63171","scripts":{"build":"tsup","check-types":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"ruucm","email":"ruucm.a@gmail.com"},"repository":{"url":"git+https://github.com/ruucm/workspace-splay.git","type":"git","directory":"_outputs/website/packages/mcp"},"_npmVersion":"11.17.0","description":"MCP server that screenshots the screens you build locally and collects them in one shared gallery","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^4.4.3","sharp":"^0.34.5","undici":"^8.9.0","playwright-core":"^1.58.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"6.0.3","@types/node":"^25.9.1","@repo/capture":"workspace:*","@repo/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/splay-mcp_0.6.5_1785980732342_0.3750973504525128","host":"s3://npm-registry-packages-npm-production"}},"0.6.6":{"name":"splay-mcp","version":"0.6.6","keywords":["mcp","screenshot","playwright","design","gallery","claude"],"license":"MIT","_id":"splay-mcp@0.6.6","maintainers":[{"name":"ruucm","email":"ruucm.a@gmail.com"}],"homepage":"https://github.com/ruucm/workspace-splay#readme","bugs":{"url":"https://github.com/ruucm/workspace-splay/issues"},"bin":{"splay-mcp":"dist/cli.js"},"dist":{"shasum":"3392e7be6af0bc0855febe58dec98e93ec9868cc","tarball":"https://registry.npmjs.org/splay-mcp/-/splay-mcp-0.6.6.tgz","fileCount":8,"integrity":"sha512-LTEFK05gSGUuMQbzTEtI1sGhaqDQWbzO75oniUHR5nF2wcvCdz8V8U7yddAJWRD0tCLfN8GnjXzibupz3jwUKg==","signatures":[{"sig":"MEUCIQD/12+iA+cXqx8obBG4jTHn2qujCyEdADirGwRRwjVeFQIgf1i0sIbwmFUsUdjEP71Z/MzjqfZ0QwFM89oNDt8o4ug=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":325272},"type":"module","engines":{"node":">=20.9.0"},"exports":{".":"./dist/index.js"},"gitHead":"d7b90dff945dd61da5fd36d9c9704573105b6f6d","scripts":{"build":"tsup","check-types":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"ruucm","email":"ruucm.a@gmail.com"},"repository":{"url":"git+https://github.com/ruucm/workspace-splay.git","type":"git","directory":"_outputs/website/packages/mcp"},"_npmVersion":"11.17.0","description":"MCP server that screenshots the screens you build locally and collects them in one shared gallery","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^4.4.3","sharp":"^0.34.5","undici":"^8.9.0","playwright-core":"^1.58.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"6.0.3","@types/node":"^25.9.1","@repo/capture":"workspace:*","@repo/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/splay-mcp_0.6.6_1786029888283_0.37523229992715734","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"splay-mcp","version":"0.7.0","keywords":["mcp","screenshot","playwright","design","gallery","claude"],"license":"MIT","_id":"splay-mcp@0.7.0","maintainers":[{"name":"ruucm","email":"ruucm.a@gmail.com"}],"homepage":"https://github.com/ruucm/workspace-splay#readme","bugs":{"url":"https://github.com/ruucm/workspace-splay/issues"},"bin":{"splay-mcp":"dist/cli.js"},"dist":{"shasum":"df9c5a19001abfc6651b87e5343eccfe6cdddba4","tarball":"https://registry.npmjs.org/splay-mcp/-/splay-mcp-0.7.0.tgz","fileCount":8,"integrity":"sha512-MUI6A8xJR9sIUMzs8Nlw8gQv65Q6Mn3o+QSBp7zcOuOvVZ5A/xWyxkbrNx6GbIRNsjg9uHIGdzFsWlGWeS/o4A==","signatures":[{"sig":"MEQCICVYc2UMxauFLv5euSACfqm4hcX8j1x0/CVFrD/I3dvGAiByrmkCY64GFWQiEKahrpqXAZ7RXgtFSb0jKYfpOxNciw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":369783},"type":"module","engines":{"node":">=20.9.0"},"exports":{".":"./dist/index.js"},"gitHead":"7f0af12c014b75cdbd208a7364260a905c971826","scripts":{"build":"tsup","check-types":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"ruucm","email":"ruucm.a@gmail.com"},"repository":{"url":"git+https://github.com/ruucm/workspace-splay.git","type":"git","directory":"_outputs/website/packages/mcp"},"_npmVersion":"11.17.0","description":"MCP server that screenshots the screens you build locally and collects them in one shared gallery","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^4.4.3","sharp":"^0.34.5","undici":"^8.9.0","playwright-core":"^1.58.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"6.0.3","@types/node":"^25.9.1","@repo/capture":"workspace:*","@repo/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/splay-mcp_0.7.0_1786467376621_0.6898976961664718","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"splay-mcp","version":"0.8.0","keywords":["mcp","screenshot","playwright","design","gallery","claude"],"license":"MIT","_id":"splay-mcp@0.8.0","maintainers":[{"name":"ruucm","email":"ruucm.a@gmail.com"}],"homepage":"https://github.com/ruucm/workspace-splay#readme","bugs":{"url":"https://github.com/ruucm/workspace-splay/issues"},"bin":{"splay-mcp":"dist/cli.js"},"dist":{"shasum":"e2a6af3c6f8aa34cfe689a38a718bdad93d2fb10","tarball":"https://registry.npmjs.org/splay-mcp/-/splay-mcp-0.8.0.tgz","fileCount":8,"integrity":"sha512-GBCzmdFMMv9FtKZtaelRLGUUki5eucH/WpIP2kqwpLq/F9Nlt3XHwvt27lH/SciGprY0X+duEhLH2YKk+j4Tjg==","signatures":[{"sig":"MEUCICybIoXLABE1pnv9ZO2dIEC6KU24tAIlhGr2hZ7e4iu/AiEA4os99GmUSdtPYsa1xEfnQOglDgZB2MvybQYNtiy4k6g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":380986},"type":"module","engines":{"node":">=20.9.0"},"exports":{".":"./dist/index.js"},"gitHead":"cbe7ce1bafaa9777dad494802e8a73798b4fe980","scripts":{"build":"tsup","check-types":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"ruucm","email":"ruucm.a@gmail.com"},"repository":{"url":"git+https://github.com/ruucm/workspace-splay.git","type":"git","directory":"_outputs/website/packages/mcp"},"_npmVersion":"11.17.0","description":"MCP server that screenshots the screens you build locally and collects them in one shared gallery","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^4.4.3","sharp":"^0.34.5","undici":"^8.9.0","playwright-core":"^1.58.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"6.0.3","@types/node":"^25.9.1","@repo/capture":"workspace:*","@repo/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/splay-mcp_0.8.0_1786953545970_0.3593032831593417","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"splay-mcp","version":"0.9.0","keywords":["mcp","screenshot","playwright","design","gallery","claude"],"license":"MIT","_id":"splay-mcp@0.9.0","maintainers":[{"name":"ruucm","email":"ruucm.a@gmail.com"}],"homepage":"https://github.com/ruucm/workspace-splay#readme","bugs":{"url":"https://github.com/ruucm/workspace-splay/issues"},"bin":{"splay-mcp":"dist/cli.js"},"dist":{"shasum":"9de6137d1e93de49f6c00abdb4c71025f3ee9da3","tarball":"https://registry.npmjs.org/splay-mcp/-/splay-mcp-0.9.0.tgz","fileCount":8,"integrity":"sha512-HEwxOeGLa6cCLgKE92rx7X0kxqzDu4y2K58042ABvgDRGam8D2HUcEUCoo1EikdLqpBH5wuN+6NrZYmpozdGAA==","signatures":[{"sig":"MEUCIQDrxbNVa7JgO+K/lF7UeOkb0ggItOOKtVvsdyQXPs9qMQIgRRBD2MLxWqr+T0vDUdNYBCKcH6+o3cQJ+2UVRgPSE7w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":437234},"type":"module","engines":{"node":">=20.9.0"},"exports":{".":"./dist/index.js"},"gitHead":"e348db0f58a6d1a5b7198d2c76479e4afd19c2bb","scripts":{"test":"tsx --test test/*.test.ts","build":"tsup","check-types":"tsc --noEmit","prepublishOnly":"tsup"},"_npmUser":{"name":"ruucm","email":"ruucm.a@gmail.com"},"repository":{"url":"git+https://github.com/ruucm/workspace-splay.git","type":"git","directory":"_outputs/website/packages/mcp"},"_npmVersion":"11.17.0","description":"MCP server that screenshots the screens you build locally and collects them in one shared gallery","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^4.4.3","sharp":"^0.34.5","undici":"^8.9.0","playwright-core":"^1.58.0","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","typescript":"6.0.3","@types/node":"^25.9.1","@repo/capture":"workspace:*","@repo/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/splay-mcp_0.9.0_1788320715583_0.409129235902177","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"splay-mcp","version":"0.10.0","description":"MCP server that screenshots the screens you build locally and collects them in one shared gallery","keywords":["mcp","screenshot","playwright","design","gallery","claude"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/ruucm/workspace-splay.git","directory":"_outputs/website/packages/mcp"},"type":"module","bin":{"splay-mcp":"dist/cli.js"},"exports":{".":"./dist/index.js"},"publishConfig":{"access":"public"},"engines":{"node":">=20.9.0"},"scripts":{"build":"tsup","prepublishOnly":"tsup","check-types":"tsc --noEmit","test":"tsx --test test/*.test.ts"},"dependencies":{"@modelcontextprotocol/sdk":"^1.30.0","playwright-core":"^1.58.0","sharp":"^0.34.5","undici":"^8.9.0","zod":"^4.4.3"},"devDependencies":{"@repo/capture":"workspace:*","@repo/typescript-config":"workspace:*","@types/node":"^25.9.1","tsup":"^8.5.1","tsx":"^4.21.0","typescript":"6.0.3"},"gitHead":"f52f7ce3cf6d3f01d29e81dd412574fbb4807482","_id":"splay-mcp@0.10.0","bugs":{"url":"https://github.com/ruucm/workspace-splay/issues"},"homepage":"https://github.com/ruucm/workspace-splay#readme","_nodeVersion":"26.5.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-4xMEmBN2gQ5E9+XWVXjxfeP4rpzQKTGXc4SaCZNdO26S4JcenAGV+tP6AzaqzyiKXPdOvNKy5FqVCq4eXkCuyg==","shasum":"e4eeff0ba67f8d8df63a0fa208bd2ff37e3ed8d5","tarball":"https://registry.npmjs.org/splay-mcp/-/splay-mcp-0.10.0.tgz","fileCount":8,"unpackedSize":469614,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBHr29Jt40/K3ZjqTzE6/Q9wj/6qp80IDOYITVSP4kKzAiACmAqkFhRAhxIzo02xQfiIM5/ESMKVflied8OryzRHzg=="}]},"_npmUser":{"name":"ruucm","email":"ruucm.a@gmail.com"},"directories":{},"maintainers":[{"name":"ruucm","email":"ruucm.a@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/splay-mcp_0.10.0_1788355851804_0.12683810089596426"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-29T02:03:44.997Z","modified":"2026-09-02T13:30:52.135Z","0.1.0":"2026-07-29T02:03:45.403Z","0.1.1":"2026-07-29T02:15:30.706Z","0.1.2":"2026-07-29T02:35:53.268Z","0.2.0":"2026-07-30T01:08:28.696Z","0.3.0":"2026-07-30T07:10:34.380Z","0.4.0":"2026-07-31T05:55:21.757Z","0.5.0":"2026-07-31T06:35:41.619Z","0.5.1":"2026-07-31T08:20:34.561Z","0.5.2":"2026-07-31T08:30:54.152Z","0.5.3":"2026-07-31T08:55:58.815Z","0.5.4":"2026-07-31T09:37:36.158Z","0.5.5":"2026-07-31T09:40:22.419Z","0.5.6":"2026-07-31T13:00:04.333Z","0.5.7":"2026-07-31T14:48:47.730Z","0.5.8":"2026-07-31T23:41:53.047Z","0.5.9":"2026-07-31T23:52:37.118Z","0.6.0":"2026-08-01T00:29:15.811Z","0.6.1":"2026-08-05T14:43:10.245Z","0.6.2":"2026-08-06T01:04:35.815Z","0.6.3":"2026-08-06T01:15:22.809Z","0.6.4":"2026-08-06T01:26:22.177Z","0.6.5":"2026-08-06T01:45:32.504Z","0.6.6":"2026-08-06T15:24:48.447Z","0.7.0":"2026-08-11T16:56:16.790Z","0.8.0":"2026-08-17T07:59:06.096Z","0.9.0":"2026-09-02T03:45:15.756Z","0.10.0":"2026-09-02T13:30:51.948Z"},"bugs":{"url":"https://github.com/ruucm/workspace-splay/issues"},"license":"MIT","homepage":"https://github.com/ruucm/workspace-splay#readme","keywords":["mcp","screenshot","playwright","design","gallery","claude"],"repository":{"type":"git","url":"git+https://github.com/ruucm/workspace-splay.git","directory":"_outputs/website/packages/mcp"},"description":"MCP server that screenshots the screens you build locally and collects them in one shared gallery","maintainers":[{"name":"ruucm","email":"ruucm.a@gmail.com"}],"readme":"# splay-mcp\n\nCollect the screens you build locally — automatically — in one shared gallery.\n\nA design that only exists on your local dev server can't be shown to anyone, and it's gone\nthe moment you move on. Splay screenshots it as you work, uploads it, and gives you a link.\n\n## Requirements\n\n- Node.js 20.9+\n- **Google Chrome** (reused if installed — no extra browser download)\n- A Splay server URL and an API key\n\n## Get started\n\nNothing to install. From your project folder:\n\n```bash\nnpx splay-mcp setup <API_KEY> --url https://your-splay.vercel.app\n```\n\nThat one command does three things: saves the API key, scans your routes into\n`splay.config.json`, and installs a commit hook.\n\nThen, with your dev server running:\n\n```bash\nnpx splay-mcp capture\n```\n\nFrom now on every commit captures **only the pages that commit touched**.\n\n> Check that `baseUrl` in `splay.config.json` matches the port your dev server actually\n> runs on (defaults to 3000).\n\nPrefer a global install? `npm i -g splay-mcp`, then drop the `npx`.\n\n## Use it from an agent\n\nAdd this to your MCP config (Claude Code, Cursor, …):\n\n```json\n{\n  \"mcpServers\": {\n    \"splay\": { \"command\": \"npx\", \"args\": [\"-y\", \"splay-mcp\"] }\n  }\n}\n```\n\n### The agent skill\n\nThe first time you run `capture` or `init` in a project, Splay writes\n`.claude/skills/splay-capture/SKILL.md`. It tells coding agents how the two halves of\nthe job divide: **listing the pages** worth capturing in `splay.config.json` is a local\nedit an agent can always make, while **the upload** leaves your machine — and in a repo\nholding sensitive context, an agent may be refused permission to make that send.\n\nWithout the skill, a refused agent tends to stop at a list of local PNG paths, leaving\nyou to remember and re-enter the pages yourself. With it, the agent records the pages\nand hands you one line — `npx -y splay-mcp capture` — which captures all of them.\n\nEdit the file freely; Splay only overwrites what it wrote. `--no-skill` skips it.\n\nIf you already ran `setup`, credentials are read from `~/.splay/config.json`. To skip\n`setup` entirely, put them in the config instead:\n\n```json\n{\n  \"mcpServers\": {\n    \"splay\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"splay-mcp\"],\n      \"env\": {\n        \"SPLAY_URL\": \"https://your-splay.vercel.app\",\n        \"SPLAY_API_KEY\": \"…\"\n      }\n    }\n  }\n}\n```\n\n> Running `npx splay-mcp` with no arguments in a terminal prints this help. It only starts\n> the MCP server when stdin is a pipe, i.e. when a client connects. Force it with `--stdio`.\n\nThe agent gets these tools:\n\n| Tool                    | What it does                                           |\n| ----------------------- | ------------------------------------------------------ |\n| `splay_capture`         | Capture the given pages and return a gallery link       |\n| `splay_capture_changed` | Capture only what the last commit changed               |\n| `splay_comment`         | Leave a note on a screen already in the gallery         |\n| `splay_doctor`          | Check every prerequisite and say exactly what to fix     |\n| `splay_status`          | Report config, API key, and dev server state            |\n\nAdding a line like this to your project's `CLAUDE.md` makes the agent reach for it on its own:\n\n```\nAfter any noticeable UI change, capture the affected pages with splay_capture.\nSay what changed in `comments` so the designer can reply on the frame.\n```\n\n## Comment while you capture\n\nThe moment you save a screen is the moment you still remember why. `splay_capture` takes\n`comments` so the note goes up with the screenshot — one round trip, no second visit to\nthe gallery:\n\n```jsonc\n{\n  \"pages\": [\"/pricing\"],\n  \"note\": \"Pricing table spacing\",\n  \"comments\": [\n    { \"path\": \"/pricing\", \"body\": \"## Spacing pass\\n\\nRow gap 12 → 16. **Is the CTA still above the fold on 13\\\"?**\" },\n    { \"path\": \"/pricing\", \"body\": \"This badge contrast is too light\", \"placement\": \"pin\", \"x\": 0.62, \"y\": 0.28 }\n  ]\n}\n```\n\n- `placement` — `below` (default) or `above` stacks a note under/over the frame.\n  `pin` drops a marker **inside** the screen and needs `x`/`y`.\n- `x` / `y` — `0`–`1` across and down the screen. `0.5, 0.5` is dead center.\n- Omit `path` to put the same note on every frame captured in that call.\n- Markdown renders — headings, lists, tables, task lists, code fences.\n\nFor a screen that is already in the gallery, use `splay_comment` (or the CLI):\n\n```bash\nnpx splay-mcp comment /pricing \"Row gap is 16 now — good?\"\nnpx splay-mcp comment /pricing \"This badge is too light\" --pin 0.62,0.28\nnpx splay-mcp comment /pricing \"Above-frame note\" --above\n```\n\nThe note lands on the **most recent capture** of that route. Whoever opens the gallery\nsees the pin on the frame and can reply to it — in the canvas or in the single-frame\nfocus view.\n\n## Clean up stale frames\n\nRemoving a route from `splay.config.json` stops new captures — it does **not** remove the\nframes already in the gallery. That leftover screen stays on the canvas, and until now\nclearing it meant opening the gallery in a browser and signing in.\n\n`frames` does it from the terminal, with the same API key the capture used:\n\n```bash\n# what is still there?\nnpx splay-mcp frames list\nnpx splay-mcp frames list --path /stress-tests/payroller-input/\n\n# remove every frame for one exact route\nnpx splay-mcp frames delete --path /stress-tests/payroller-input/ --all-history --yes\n\n# remove a single frame\nnpx splay-mcp frames delete --id 8c289be6-c737-46c4-b564-51a77d61820b --yes\n\n# changed your mind\nnpx splay-mcp frames restore --path /stress-tests/payroller-input/\n```\n\n**Deleting is reversible.** The row stays, so `frames restore` brings the frame back with\nthe comments and tags that were on it. Erasing the image files for good is a separate,\nserver-side purge with a grace period.\n\nThree guards, because this is the one command that removes things:\n\n- **Nothing is deleted without `--yes`.** Without it the CLI prints exactly which frames\n  it would remove — id, timestamp, viewport, route — and exits without calling the server.\n- **`--path` deletion needs `--all-history`.** A single route usually holds several frames\n  (one per viewport, one per commit). The flag is there so \"delete this one screen\" can\n  never quietly remove twenty.\n- **`--path` matches the exact route, never a prefix.** `/stress-tests/payroller-input/`\n  leaves `/stress-tests/payroller-input/?case=long-content` alone. Trailing slashes are\n  normalized; query strings are part of the route.\n\n| flag | |\n| --- | --- |\n| `--path <route>` | that exact route |\n| `--id <capture-id>` | one frame; repeat the flag for several |\n| `--all-history` | required to delete by path — confirms every frame for the route goes |\n| `--yes` | required to delete anything |\n| `--deleted` / `--all` | `frames list` shows deleted frames, or both |\n| `--project <slug>` | a project other than the one in `splay.config.json` |\n\nPermissions match the gallery: the key's owner has to be in the same workspace as the\nproject. `frames list` follows the read rule instead, so a link-public project is\nlistable. The key itself is never printed — `frames list` names its source\n(`project-local`, `global`, `environment`) so you can tell which account you are on.\n\n## Behind a corporate proxy or firewall\n\nLocked-down environments (Coder workspaces, devcontainers, CI) usually reach the internet\nthrough a proxy and an egress allowlist. Two things follow:\n\n**Set the proxy.** Node's `fetch` does **not** read `HTTPS_PROXY` on its own, so splay-mcp\nreads it for you — set the usual variables and uploads will go through the proxy:\n\n```bash\nexport HTTPS_PROXY=http://proxy.corp:3128\nexport NO_PROXY=.internal.corp        # optional\n```\n\n`localhost` and `127.0.0.1` never go through the proxy, so a local dev server is still\nreached directly.\n\n**Ask for the allowlist.** Only these hosts are needed:\n\n| Host | Why |\n| --- | --- |\n| your Splay server (e.g. `splay.example.app`) | uploading captures and comments |\n| `registry.npmjs.org` | `npx splay-mcp` |\n| your staging host (only if `baseUrl` points at it) | loading the pages to capture |\n\nImages are uploaded to object storage **by the Splay server**, so the client never talks\nto the storage host.\n\nNot sure what is blocked? Run the doctor — it checks each prerequisite separately and\nprints the exact failure, including the proxy's own refusal:\n\n```bash\nnpx splay-mcp doctor\n```\n\n```\n  ✗ Splay 서버 도달\n      fetch failed ← UND_ERR_ABORTED: Proxy response (403) !== 200 when HTTP Tunneling\n      → 방화벽/allowlist에 splay.example.app 허용 요청\n```\n\n## `splay.config.json`\n\n`setup` writes this; edit it freely afterwards.\n\n```jsonc\n{\n  \"project\": \"my-project\",       // identifier in the gallery\n  \"baseUrl\": \"http://localhost:3000\",\n  \"viewports\": [{ \"w\": 1440, \"h\": 900 }],\n  \"pages\": [\n    { \"path\": \"/\", \"name\": \"Home\" },\n    {\n      \"path\": \"/pricing\",\n      \"name\": \"Pricing\",\n      \"fullPage\": true,\n      // Dependencies the commit hook can't infer from conventions or imports\n      \"dependsOn\": [\"content/prices.json\"]\n    }\n  ]\n}\n```\n\n**`baseUrl` must point at the port this project actually serves.** If another app owns that\nport, you'll silently capture *that* app instead.\n\n## A different account in one project\n\n`login` saves one account for the whole machine. When one project belongs to a different\nSplay account — a client's gallery, a side project, a second workspace — sign in for that\nproject only:\n\n```bash\ncd ~/code/that-project     # a folder with splay.config.json\nnpx splay-mcp login --local <API_KEY> --url https://their-splay.vercel.app\n```\n\nEvery capture, comment, `config push` and MCP call made from that folder now uses that\naccount. Every other project keeps using the global one, which this command never touches.\n`npx splay-mcp login --local` with no key asks interactively.\n\nCheck which account is in play at any time:\n\n```bash\nnpx splay-mcp status\n```\n\n```\nConfig:      /Users/you/code/that-project/splay.config.json\nCredentials: project-local\nScope:       /Users/you/code/that-project\nAPI key:     set\nServer:      https://their-splay.vercel.app\n```\n\nGo back to the global account:\n\n```bash\nnpx splay-mcp logout --local     # this project only\nnpx splay-mcp logout --global    # forget the machine-wide account\n```\n\nRemoving an override that was never there is not an error — it just says so.\n\n### Where the credentials live\n\nProject accounts are stored in `~/.splay/project-credentials.json`, keyed by the project's\nabsolute path, with file mode `0600`. **Nothing is ever written inside your repository**, so\nthere is no key to accidentally commit — and no reason to add anything to `.gitignore`.\n\nThe scope is the nearest folder above you that has a `splay.config.json`. In a monorepo the\nclosest config wins, the same rule capture already uses to find its settings. Paths are\ncanonicalised, so symlinks and `..` land on the same entry — and two git worktrees of one\nrepo, being two real paths, get two independent accounts.\n\n`login --local` outside any project fails and points at `splay-mcp init` rather than guessing\na folder. An API key is never printed back to the terminal.\n\n### Which account wins\n\nIn order, first match wins:\n\n1. **Environment** — `SPLAY_API_KEY`, `SPLAY_URL`, `SPLAY_PROJECT`\n2. **Project** — `login --local` in this project (or any parent up to its config)\n3. **Global** — `login` / `setup`, in `~/.splay/config.json`\n4. Built-in defaults\n\nEnvironment variables stay on top on purpose: **in CI and one-off runs, pass the key as an\nenvironment variable** rather than logging in on the machine. Nothing is written to disk that\nway, and it works in containers with no home directory to speak of.\n\n```bash\nSPLAY_API_KEY=… SPLAY_URL=https://your-splay.vercel.app npx splay-mcp capture\n```\n\n`status` reports `environment` when that happens, so a surprising upload target is one\ncommand away from being explained.\n\n## Zero local config: store the config on the server\n\nFor someone who only *captures* — a designer pointing splay at a hosted preview — a local\n`splay.config.json` is one more file to distribute and keep in sync. Store it on the server\ninstead:\n\n```bash\n# once, from the folder that has the config (anyone on the team, e.g. you):\nnpx splay-mcp config push\n\n# the designer's one-time setup — no files created:\nnpx splay-mcp setup <key> --project my-project\n\n# every capture after that:\nnpx splay-mcp capture --url https://that-days-preview.example.dev\n```\n\n`capture` looks for a local `splay.config.json` first and falls back to the server-stored\nconfig of the default project (`--project <slug>` picks one explicitly). Pages, viewports,\nand the login section all come from the server, so changing them is a `config push` — the\ndesigner doesn't touch anything.\n\n`config show --project <slug>` prints what the server has (password masked). The stored\nlogin password is encrypted at rest. Writing requires the project owner's key; reading\nworks with any valid API key of the gallery.\n\n## Capturing a hosted preview (`--url`)\n\nWhen the app runs somewhere whose address changes per session — a Coder workspace, a cloud\ndev environment, a tunnel — override the configured `baseUrl` at capture time:\n\n```bash\nnpx splay-mcp capture --url https://my-branch--preview.example.dev\n```\n\nEverything else (project, pages, viewports, login) still comes from `splay.config.json`.\nThe MCP tool accepts the same thing as a `url` argument.\n\n## Capturing behind a login\n\nIf the app asks for a login before showing anything, add a `login` section:\n\n```jsonc\n{\n  \"baseUrl\": \"https://staging.example.com\",\n  \"pages\": [{ \"path\": \"/dashboard\" }],\n  \"login\": {\n    \"url\": \"/login\",                    // where the form lives (default \"/\")\n    \"user\": \"test@example.com\",\n    \"password\": \"${STAGING_PASSWORD}\"   // ${VAR} reads from the environment\n  }\n}\n```\n\nBefore capturing, splay opens the login page, fills the form, and saves the session to\n`~/.splay/sessions/` (chmod 600). Later runs reuse that session and only log in again when\nit has expired — so you don't hammer the login endpoint on every capture.\n\nThe email/username field, password field, and submit button are detected automatically,\nwhich covers standard login forms. If yours is unusual, point at the elements yourself:\n\n```jsonc\n\"login\": {\n  \"url\": \"/login\",\n  \"user\": \"test@example.com\",\n  \"password\": \"${STAGING_PASSWORD}\",\n  \"userSelector\": \"#account-id\",\n  \"passwordSelector\": \"#account-pw\",\n  \"submitSelector\": \"button.login-submit\"\n}\n```\n\nNotes:\n\n- `${VAR}` substitution works in `user` and `password`, so the config file itself can stay\n  free of secrets and safe to commit.\n- Single-step forms only. SSO redirects, MFA, and captchas are out of scope — use a plain\n  test account.\n- A wrong password fails the run before anything is uploaded, quoting the error message the\n  page showed.\n\n## The commit hook\n\n`setup` installs a `post-commit` hook — deliberately not `pre-commit`:\n\n- it can never block a commit (runs in the background, swallows every failure)\n- the working tree matches the commit at capture time\n\n**If the dev server isn't running it skips silently.** That's what keeps commits safe, but it\nalso means a missed capture is easy to overlook. `npx splay-mcp status` will tell you.\n\nTo remove it, delete the `# >>> splay >>>` block from `.git/hooks/post-commit`, or run\n`init --no-hook` to never install it.\n\n## What counts as a \"changed page\"\n\nFour rules, in order:\n\n1. **Route conventions** — `app/pricing/page.tsx` → `/pricing`; a `layout.tsx` covers everything beneath it\n2. **Import graph** — edit `components/Button.tsx` and every page importing it is captured\n3. **`dependsOn`** — explicit globs from the config\n4. **Global files** — `globals.css`, the root layout, `next.config.*` mean everything\n\nCommits that only touch API routes or docs capture nothing. Projects without a detectable\nframework capture every configured page whenever a visual file changes — narrow that with\n`dependsOn`.\n\n## Environment variables\n\n| Variable             | Purpose                                              |\n| -------------------- | ---------------------------------------------------- |\n| `SPLAY_API_KEY`      | API key, as an alternative to `login`                 |\n| `SPLAY_URL`          | Splay server URL                                      |\n| `SPLAY_PROJECT`      | Default project slug                                  |\n| `SPLAY_CHROME_PATH`  | Point at Chrome if it can't be found automatically    |\n| `SPLAY_HOOK_COMMAND` | Command the hook runs (default `npx --yes splay-mcp…`) |\n\nThese beat both the project and the global account — see\n[Which account wins](#which-account-wins).\n\n## Notes\n\n- **Captures are deterministic.** Rendering flags are pinned so sub-pixel antialiasing and GPU\n  rasterisation don't drift, web fonts and images are awaited, and animations are settled to\n  their final keyframe before the shot.\n- **Next.js is first-class.** Route detection follows the App Router. Other frameworks work\n  fine — list your `pages` manually.\n- Dynamic routes (`/blog/[slug]`) need a concrete path in the config to be captured.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}