{"_id":"exposnap","_rev":"74-c5795cf8bba041c95c54d111f2107fb6","name":"exposnap","dist-tags":{"beta":"1.0.1","latest":"2.2.3"},"versions":{"2.2.2":{"name":"exposnap","version":"2.2.2","keywords":["mcp","expo","screenshots","claude","cursor","vscode","windsurf"],"author":"","license":"MIT","_id":"exposnap@2.2.2","maintainers":[{"name":"edwarddjss","email":"edwardlongboat@gmail.com"}],"homepage":"https://github.com/edwarddjss/ExpoSnap#readme","bugs":{"url":"https://github.com/edwarddjss/ExpoSnap/issues"},"bin":{"exposnap":"dist/index.js"},"dist":{"shasum":"888823b6e9075298253e773cf4d7ce1d1a0bab78","tarball":"https://registry.npmjs.org/exposnap/-/exposnap-2.2.2.tgz","fileCount":55,"integrity":"sha512-L6AnWGGl3BBuksH+5dpAEMgE+FQOk58r6VlNWgnbar7TonIWIbiT7pwOhGLKB8aNdSB+T4ntbFAW+ehNTnhC1g==","signatures":[{"sig":"MEUCIQCmLjq74uoEEc43gjPpAq9SJlHV/2Eev3m4WPEoV99ByQIgF76Q8VTdMzptLLPrSqMZ1oz2hy1lHqfu1pDt5LHKd6Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1122726},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./dist/exports.js","./auto-discovery":"./dist/auto-discovery.js","./ScreenshotWrapper":"./dist/ScreenshotWrapper.js"},"gitHead":"ec7994438d1f0c8ed96257b3125dc028b1833557","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --ext .ts,.tsx","test":"vitest --run","build":"tsc","start":"node dist/index.js","format":"prettier --write .","prepack":"npm run build","lint:fix":"eslint . --ext .ts,.tsx --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest --coverage"},"_npmUser":{"name":"edwarddjss","email":"edwardlongboat@gmail.com"},"repository":{"url":"git+https://github.com/edwarddjss/ExpoSnap.git","type":"git"},"_npmVersion":"11.6.0","description":"ExpoSnap: Enhanced MCP server for screenshot management with remote capture and AI integration","directories":{"test":"tests"},"_nodeVersion":"22.14.0","dependencies":{"multer":"^2.0.2","express":"^4.21.2","react-native-view-shot":"^3.8.0","@modelcontextprotocol/sdk":"^1.17.4"},"react-native":"src/exports.ts","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.4","eslint":"^9.34.0","vitest":"^2.1.9","prettier":"^3.6.2","supertest":"^7.1.4","typescript":"^5.9.2","@types/node":"^20.19.11","@types/multer":"2.0.0","@types/express":"^4.17.23","@types/supertest":"^6.0.3","@types/react-native":"^0.72.8","@vitest/coverage-v8":"^2.1.9","eslint-config-prettier":"^9.1.2","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.40.0","eslint-plugin-react-hooks":"^5.2.0","@typescript-eslint/eslint-plugin":"^8.40.0"},"peerDependencies":{"react":">=16.8.0","react-native":">=0.60.0"},"_npmOperationalInternal":{"tmp":"tmp/exposnap_2.2.2_1758740474206_0.7169600616695981","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"exposnap","version":"1.0.1","keywords":["mcp","expo","screenshots","claude","cursor","vscode","windsurf"],"author":"","license":"MIT","_id":"exposnap@1.0.1","maintainers":[{"name":"edwarddjss","email":"edwardlongboat@gmail.com"}],"homepage":"https://github.com/edwarddjss/ExpoSnap#readme","bugs":{"url":"https://github.com/edwarddjss/ExpoSnap/issues"},"bin":{"exposnap":"dist/index.js"},"dist":{"shasum":"bc08552688f6128e450f4ccba16b3b7d650f2e68","tarball":"https://registry.npmjs.org/exposnap/-/exposnap-1.0.1.tgz","fileCount":54,"integrity":"sha512-yvkmceuGewpOwcV2mV/5QbncivIkSYCvyAB+zOA5lXFbKb90eSbgMmvYu8+D//aDRG8iEItMwLibzLNn6SBR1w==","signatures":[{"sig":"MEQCIFIEjNGVRyjj+tjKwA+RPKwCUXOBHJuDSAe/xjDCKPD+AiBqEAXTTE8UQdqrW7e/vBgWchV9RE6BJAPeXPZHoPG4QA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1116114},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./dist/exports.js","./auto-discovery":"./dist/auto-discovery.js","./ScreenshotWrapper":"./dist/ScreenshotWrapper.js"},"gitHead":"f6b458f3ec2a701dab6ebd7225d1a72b285492ea","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --ext .ts,.tsx","test":"vitest --run","build":"tsc","start":"node dist/index.js","format":"prettier --write .","prepack":"npm run build","lint:fix":"eslint . --ext .ts,.tsx --fix","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest --coverage"},"_npmUser":{"name":"edwarddjss","email":"edwardlongboat@gmail.com"},"repository":{"url":"git+https://github.com/edwarddjss/ExpoSnap.git","type":"git"},"_npmVersion":"11.6.0","description":"ExpoSnap: Enhanced MCP server for screenshot management with remote capture and AI integration","directories":{"test":"tests"},"_nodeVersion":"22.14.0","dependencies":{"multer":"^2.0.2","express":"^4.21.2","react-native-view-shot":"^3.8.0","@modelcontextprotocol/sdk":"^1.17.4"},"react-native":"src/exports.ts","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.4","eslint":"^9.34.0","vitest":"^2.1.9","prettier":"^3.6.2","supertest":"^7.1.4","typescript":"^5.9.2","@types/node":"^20.19.11","@types/multer":"2.0.0","@types/express":"^4.17.23","@types/supertest":"^6.0.3","@types/react-native":"^0.72.8","@vitest/coverage-v8":"^2.1.9","eslint-config-prettier":"^9.1.2","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.40.0","eslint-plugin-react-hooks":"^5.2.0","@typescript-eslint/eslint-plugin":"^8.40.0"},"peerDependencies":{"react":">=16.8.0","react-native":">=0.60.0"},"_npmOperationalInternal":{"tmp":"tmp/exposnap_1.0.1_1758768255136_0.28993184451935505","host":"s3://npm-registry-packages-npm-production"}},"2.2.3":{"name":"exposnap","version":"2.2.3","description":"ExpoSnap: Enhanced MCP server for screenshot management with remote capture and AI integration","type":"module","main":"dist/index.js","react-native":"src/exports.ts","bin":{"exposnap":"dist/index.js"},"exports":{".":"./dist/exports.js","./ScreenshotWrapper":"./dist/ScreenshotWrapper.js","./auto-discovery":"./dist/auto-discovery.js"},"repository":{"type":"git","url":"git+https://github.com/edwarddjss/ExpoSnap.git"},"bugs":{"url":"https://github.com/edwarddjss/ExpoSnap/issues"},"homepage":"https://github.com/edwarddjss/ExpoSnap#readme","engines":{"node":">=20"},"keywords":["mcp","expo","screenshots","claude","cursor","vscode","windsurf"],"license":"MIT","dependencies":{"@modelcontextprotocol/sdk":"^1.17.4","express":"^4.21.2","multer":"^2.0.2","react-native-view-shot":"^3.8.0"},"peerDependencies":{"react":">=16.8.0","react-native":">=0.60.0"},"devDependencies":{"@types/express":"^4.17.23","@types/multer":"2.0.0","@types/node":"^20.19.11","@types/react-native":"^0.72.8","@types/supertest":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.40.0","@typescript-eslint/parser":"^8.40.0","@vitest/coverage-v8":"^2.1.9","eslint":"^9.34.0","eslint-config-prettier":"^9.1.2","eslint-plugin-prettier":"^5.5.4","eslint-plugin-react-hooks":"^5.2.0","prettier":"^3.6.2","supertest":"^7.1.4","tsx":"^4.20.4","typescript":"^5.9.2","vitest":"^2.1.9"},"directories":{"test":"tests"},"author":"","scripts":{"build":"tsc","start":"node dist/index.js","dev":"tsx src/index.ts","test":"vitest --run","test:watch":"vitest","test:coverage":"vitest --coverage","lint":"eslint . --ext .ts,.tsx","lint:fix":"eslint . --ext .ts,.tsx --fix","format":"prettier --write .","format:check":"prettier --check .","typecheck":"tsc --noEmit"},"_id":"exposnap@2.2.3","_integrity":"sha512-58k1TCuCQAgiatvLyT5wKyTUI2kZGdirWcO2F5FQ6kOF8bcnpajCOtJd6201VcM2Ed+JjLJzM32GZDe4sknYEg==","_resolved":"C:\\Users\\edwar\\AppData\\Local\\Temp\\58450130de8821bba033037e5104e0d1\\exposnap-2.2.3.tgz","_from":"file:exposnap-2.2.3.tgz","_nodeVersion":"22.14.0","_npmVersion":"11.6.0","dist":{"integrity":"sha512-58k1TCuCQAgiatvLyT5wKyTUI2kZGdirWcO2F5FQ6kOF8bcnpajCOtJd6201VcM2Ed+JjLJzM32GZDe4sknYEg==","shasum":"02a7c129cbe4bbb0c117f04347524a385f04fd89","tarball":"https://registry.npmjs.org/exposnap/-/exposnap-2.2.3.tgz","fileCount":54,"unpackedSize":1116109,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCrtDYJ7xCl9cV0bYDto2T+2+GLKBLhKHWo+IufzZFV+wIhAOeblVadvNPlP1En8G6hXLJEf7CbwHmG7sQKnSlh+d6T"}]},"_npmUser":{"name":"edwarddjss","email":"edwardlongboat@gmail.com"},"maintainers":[{"name":"edwarddjss","email":"edwardlongboat@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/exposnap_2.2.3_1765229626457_0.09017456972523008"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-25T21:13:17.100Z","modified":"2025-12-08T21:33:46.826Z","1.0.0":"2025-08-24T05:50:49.789Z","0.1.0":"2025-08-25T21:13:17.380Z","0.1.1":"2025-08-25T21:44:20.832Z","0.1.2":"2025-08-25T21:49:08.219Z","0.1.3":"2025-08-25T21:56:29.524Z","0.1.4":"2025-08-25T22:14:08.280Z","0.1.5":"2025-08-25T22:40:29.533Z","0.1.6":"2025-08-26T15:33:25.776Z","0.1.7":"2025-08-26T15:41:29.792Z","0.1.8":"2025-08-26T15:43:40.263Z","0.1.9":"2025-08-26T15:47:14.205Z","0.1.10":"2025-08-26T15:52:07.763Z","0.1.11":"2025-08-26T17:22:55.493Z","2.0.0":"2025-08-26T18:36:29.117Z","2.1.0":"2025-09-11T05:10:50.671Z","2.1.1":"2025-09-16T18:36:57.744Z","2.1.2":"2025-09-16T19:01:02.952Z","2.1.3":"2025-09-16T19:09:55.167Z","2.1.4":"2025-09-17T22:24:25.273Z","2.1.5":"2025-09-17T23:28:40.017Z","2.1.6":"2025-09-18T00:23:10.667Z","2.1.7":"2025-09-22T19:03:11.968Z","2.1.8":"2025-09-22T19:50:22.710Z","2.1.9":"2025-09-22T20:18:01.225Z","2.1.11":"2025-09-22T22:12:31.386Z","2.1.12":"2025-09-23T02:35:37.578Z","2.1.13":"2025-09-23T03:12:56.341Z","2.1.14":"2025-09-23T03:18:23.994Z","2.1.15":"2025-09-23T03:34:22.854Z","2.1.16":"2025-09-23T03:40:24.181Z","2.1.17":"2025-09-23T03:44:02.750Z","2.1.18":"2025-09-24T03:06:47.621Z","2.1.19":"2025-09-24T16:35:57.416Z","2.2.0":"2025-09-24T17:52:17.509Z","2.2.1":"2025-09-24T18:52:05.050Z","2.2.2":"2025-09-24T19:01:14.504Z","1.0.1":"2025-09-25T02:44:15.375Z","2.2.3":"2025-12-08T21:33:46.613Z"},"bugs":{"url":"https://github.com/edwarddjss/ExpoSnap/issues"},"license":"MIT","homepage":"https://github.com/edwarddjss/ExpoSnap#readme","keywords":["mcp","expo","screenshots","claude","cursor","vscode","windsurf"],"repository":{"type":"git","url":"git+https://github.com/edwarddjss/ExpoSnap.git"},"description":"ExpoSnap: Enhanced MCP server for screenshot management with remote capture and AI integration","maintainers":[{"name":"edwarddjss","email":"edwardlongboat@gmail.com"}],"readme":"<div align=\"center\">\n  <img src=\"assets/ExpoSnap_MCP_Logo.png\" alt=\"ExpoSnap\" width=\"240\"/>\n  \n  \n</div>\n\n## ExpoSnap MCP Server\n\nA Model Context Protocol (MCP) server that enables AI assistants to view and analyze screenshots from React Native/Expo applications. Seamlessly integrates with Claude, Cursor, VS Code, and other MCP-compatible editors for AI-powered mobile UI development.\n\n## Setup\n\n**1. Add MCP server to your IDE**\n\n<details>\n<summary><strong>Claude Code</strong></summary>\n\n```bash\nclaude mcp add exposnap -- npx -y exposnap\n```\n</details>\n\n<details>\n<summary><strong>Cursor</strong></summary>\n\n\n\nAdd to `.cursor/mcp.json`:\n```json\n{\n  \"mcpServers\": {\n    \"exposnap\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"exposnap\"]\n    }\n  }\n}\n```\n</details>\n\n<details>\n<summary><strong>VS Code</strong></summary>\n\nAdd to `.vscode/mcp.json`:\n```json\n{\n  \"servers\": {\n    \"exposnap\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"exposnap\"]\n    }\n  }\n}\n```\n</details>\n\n<details>\n<summary><strong>Claude Desktop</strong></summary>\n\nSettings → Developer → Edit Config:\n```json\n{\n  \"mcpServers\": {\n    \"exposnap\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"exposnap\"]\n    }\n  }\n}\n```\n</details>\n\n**2. Add to your Expo app**\n\n```bash\nnpm install exposnap\n```\n\n**3. Configure your React Native app**\n\n```tsx\nimport { ScreenshotWrapper } from 'exposnap';\n\nexport default function App() {\n  return (\n    <ScreenshotWrapper>\n      <YourApp />\n    </ScreenshotWrapper>\n  );\n}\n```\n\nThe wrapper automatically discovers your MCP server and provides a draggable camera icon for manual screenshot capture.\n\n## Contributing\n\nWe welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for details.\n\n## License\n\nMIT - see [LICENSE](LICENSE) for details.","readmeFilename":"README.md"}