{"_id":"@alvaromurillo/appstore-reviews","_rev":"7-bda0f3264cbff63557dcecc7b6b1202c","name":"@alvaromurillo/appstore-reviews","dist-tags":{"latest":"1.0.6"},"versions":{"1.0.0":{"name":"@alvaromurillo/appstore-reviews","version":"1.0.0","keywords":["app-store","reviews","cli","ios","mcp","model-context-protocol"],"author":"","license":"MIT","_id":"@alvaromurillo/appstore-reviews@1.0.0","maintainers":[{"name":"alvaromurillo","email":"alvaromurillop@gmail.com"}],"bin":{"app-store-reviews":"dist/index.js","app-store-reviews-mcp":"dist/mcp-server.js"},"dist":{"shasum":"6d31bb250a17ce98afa42c3edf1ad65d8ad7c432","tarball":"https://registry.npmjs.org/@alvaromurillo/appstore-reviews/-/appstore-reviews-1.0.0.tgz","fileCount":14,"integrity":"sha512-5NNtD/n3sw+CSqZr1G8IF2lTLfyX1x4oP0zxS03+BR1EZRvPoVl/xARkIGOkuU21QiIwWiH8NrVBBYS0sTmhkg==","signatures":[{"sig":"MEUCIDo6Jlqe/h1cseS7lo2rVBzakAaa6mCfLcF/aj5hfvZOAiEAk7gtTQ7Utx2uWHuSit1x5HHmlGnErwqjHhvUjdO4LCw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26737},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"c9c40f2ee6da9b55688b50e5d71e3f81fb6d85b4","scripts":{"mcp":"npm run build && node dist/mcp-server.js","build":"tsc","start":"npm run build && node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"alvaromurillo","email":"alvaromurillop@gmail.com"},"_npmVersion":"10.9.0","description":"CLI tool to fetch App Store reviews","directories":{},"_nodeVersion":"23.3.0","dependencies":{"zod":"^3.25.76","commander":"^11.1.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.17.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^24.1.0"},"_npmOperationalInternal":{"tmp":"tmp/appstore-reviews_1.0.0_1754154538089_0.02994408497942236","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@alvaromurillo/appstore-reviews","version":"1.0.1","keywords":["app-store","reviews","cli","ios","mcp","model-context-protocol"],"author":"","license":"MIT","_id":"@alvaromurillo/appstore-reviews@1.0.1","maintainers":[{"name":"alvaromurillo","email":"alvaromurillop@gmail.com"}],"bin":{"appstore-reviews":"dist/index.js","app-store-reviews":"dist/index.js","app-store-reviews-mcp":"dist/mcp-server.js"},"dist":{"shasum":"4f49bff3fa2075ec0c7ee493ee548f55932f3d12","tarball":"https://registry.npmjs.org/@alvaromurillo/appstore-reviews/-/appstore-reviews-1.0.1.tgz","fileCount":14,"integrity":"sha512-g1Oqk/ECmdIC5UokTQQglse3Susm29oPR0/3NWgM6Z+GcaPv5iIajj1aHDb2cMqzTYBT/onkcS/VGa8n6aTfqA==","signatures":[{"sig":"MEYCIQDKs1NObjDNHQlfEsXwY/r9iej3f6YopExsMjUOmNUB6QIhAPP0dGJS/Q/o8CnZ7m1WxmJy8GR+z4q38K5WgO3Z3ma2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28919},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"fc0122c895c209c4b5eea06090a1ca030927b63b","scripts":{"mcp":"npm run build && node dist/mcp-server.js","build":"tsc","start":"npm run build && node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"alvaromurillo","email":"alvaromurillop@gmail.com"},"_npmVersion":"10.9.0","description":"CLI tool to fetch App Store reviews","directories":{},"_nodeVersion":"23.3.0","dependencies":{"zod":"^3.25.76","commander":"^11.1.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.17.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^24.1.0"},"_npmOperationalInternal":{"tmp":"tmp/appstore-reviews_1.0.1_1754155231237_0.022363647885846216","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@alvaromurillo/appstore-reviews","version":"1.0.2","keywords":["app-store","reviews","cli","ios","mcp","model-context-protocol"],"author":"","license":"MIT","_id":"@alvaromurillo/appstore-reviews@1.0.2","maintainers":[{"name":"alvaromurillo","email":"alvaromurillop@gmail.com"}],"bin":{"appstore-reviews":"dist/index.js"},"dist":{"shasum":"adee0c1635a49ef7f0acce0e87e9639420f6dce9","tarball":"https://registry.npmjs.org/@alvaromurillo/appstore-reviews/-/appstore-reviews-1.0.2.tgz","fileCount":14,"integrity":"sha512-+c9abmmnY1rB0xzNgkh+uWf5W/Md1UknCylHNU/8tbdNwRWhzxaKytPjRPkRtd4/QOENz4MdDB/nHCezWB2/iQ==","signatures":[{"sig":"MEUCIBO9SggttfyOLE0ZWhefqrT5t4JZ6HklC+2jMJybsIR4AiEA8G8JpWs69JSpUv8twcENHzxnWbqQekDckTHRq9niJyI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28777},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"fc0122c895c209c4b5eea06090a1ca030927b63b","scripts":{"mcp":"npm run build && node dist/mcp-server.js","build":"tsc","start":"npm run build && node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"alvaromurillo","email":"alvaromurillop@gmail.com"},"_npmVersion":"10.9.0","description":"CLI tool to fetch App Store reviews","directories":{},"_nodeVersion":"23.3.0","dependencies":{"zod":"^3.25.76","commander":"^11.1.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.17.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^24.1.0"},"_npmOperationalInternal":{"tmp":"tmp/appstore-reviews_1.0.2_1754155422588_0.10052299383180086","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@alvaromurillo/appstore-reviews","version":"1.0.3","keywords":["app-store","reviews","cli","ios","mcp","model-context-protocol"],"author":"","license":"MIT","_id":"@alvaromurillo/appstore-reviews@1.0.3","maintainers":[{"name":"alvaromurillo","email":"alvaromurillop@gmail.com"}],"bin":{"appstore-reviews":"dist/index.js"},"dist":{"shasum":"eaf4a7012a8650ab5296b4a104f0e7a9bf487c98","tarball":"https://registry.npmjs.org/@alvaromurillo/appstore-reviews/-/appstore-reviews-1.0.3.tgz","fileCount":14,"integrity":"sha512-+mX/+Zrm0Fh7g6StFsfyGctGtCmRjs1k/5LjQICEJjEQYRci9ktRBWpiZfJJoCXiy7tjCy7JJQJYvmJhGA0xhA==","signatures":[{"sig":"MEUCIQCO85n/j4LRKonmlF+26X/8w3izwUQp5TemDc61exXwrwIgBGvdBOAHZz0oaYVCTcRJojnaTe4bXSGtvdTuLc7d1+A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29812},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"fc0122c895c209c4b5eea06090a1ca030927b63b","scripts":{"mcp":"npm run build && node dist/index.js mcp","build":"tsc","start":"npm run build && node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"alvaromurillo","email":"alvaromurillop@gmail.com"},"_npmVersion":"10.9.0","description":"CLI tool to fetch App Store reviews","directories":{},"_nodeVersion":"23.3.0","dependencies":{"zod":"^3.25.76","commander":"^11.1.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.17.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^24.1.0"},"_npmOperationalInternal":{"tmp":"tmp/appstore-reviews_1.0.3_1754156563006_0.847093577668885","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@alvaromurillo/appstore-reviews","version":"1.0.4","keywords":["app-store","reviews","cli","ios","mcp","model-context-protocol"],"author":"","license":"MIT","_id":"@alvaromurillo/appstore-reviews@1.0.4","maintainers":[{"name":"alvaromurillo","email":"alvaromurillop@gmail.com"}],"bin":{"appstore-reviews":"dist/index.js"},"dist":{"shasum":"c7c18fc8f6c79d4e8ca79241977fbc09f6c9d8cc","tarball":"https://registry.npmjs.org/@alvaromurillo/appstore-reviews/-/appstore-reviews-1.0.4.tgz","fileCount":14,"integrity":"sha512-SQf3JTKe4XfS/qZo0CE5DZMzak5UehZw1GWBytBDQjN1EqT+XwVJ7I5ViH3bq/SEuWTCTDs4z/S4e/yqlSiDtA==","signatures":[{"sig":"MEUCIQD7MATVipOgxjgICf9btGU/RmNgZTC/OCFWuCyU3oW3IQIgC6YDzvZQYisHBlpKIQiiJaFfeQ3H2+awFSnhp5JMZP8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29812},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"fc0122c895c209c4b5eea06090a1ca030927b63b","scripts":{"mcp":"npm run build && node dist/index.js mcp","build":"tsc","start":"npm run build && node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"alvaromurillo","email":"alvaromurillop@gmail.com"},"_npmVersion":"10.9.0","description":"CLI tool to fetch App Store reviews","directories":{},"_nodeVersion":"23.3.0","dependencies":{"zod":"^3.25.76","commander":"^11.1.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.17.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^24.1.0"},"_npmOperationalInternal":{"tmp":"tmp/appstore-reviews_1.0.4_1754156708073_0.7056211343466496","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@alvaromurillo/appstore-reviews","version":"1.0.5","keywords":["app-store","reviews","cli","ios","mcp","model-context-protocol"],"author":"","license":"MIT","_id":"@alvaromurillo/appstore-reviews@1.0.5","maintainers":[{"name":"alvaromurillo","email":"alvaromurillop@gmail.com"}],"bin":{"appstore-reviews":"dist/index.js"},"dist":{"shasum":"79378b24b0bd0244a3585436a484e9f6b02dc334","tarball":"https://registry.npmjs.org/@alvaromurillo/appstore-reviews/-/appstore-reviews-1.0.5.tgz","fileCount":14,"integrity":"sha512-cyJIkXJCxQggoGMbDgaFZHhHlmHuxNvbqClqM4X6TUmIBUiFMBozqjM2tJic/04TXTwVJ9B93dvdSe36YoDyQA==","signatures":[{"sig":"MEYCIQCPcdYBmdZ0/LuTcrDjQmqoHIoXfn67GswzXWMP9yp4jgIhALbkQGm9oPxlL20tfg6VuWuwT/2xHXmdjxpG+Lx4eyDN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29643},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"fc0122c895c209c4b5eea06090a1ca030927b63b","scripts":{"mcp":"npm run build && node dist/index.js mcp","build":"tsc","start":"npm run build && node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"alvaromurillo","email":"alvaromurillop@gmail.com"},"_npmVersion":"10.9.0","description":"CLI tool to fetch App Store reviews","directories":{},"_nodeVersion":"23.3.0","dependencies":{"zod":"^3.25.76","commander":"^11.1.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.17.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^24.1.0"},"_npmOperationalInternal":{"tmp":"tmp/appstore-reviews_1.0.5_1754156815447_0.5512483044166032","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@alvaromurillo/appstore-reviews","version":"1.0.6","description":"CLI tool to fetch App Store reviews","main":"dist/index.js","type":"module","bin":{"appstore-reviews":"dist/index.js"},"scripts":{"build":"tsc","start":"npm run build && node dist/index.js","mcp":"npm run build && node dist/index.js mcp","prepublishOnly":"npm run build"},"keywords":["app-store","reviews","cli","ios","mcp","model-context-protocol"],"author":"","license":"MIT","dependencies":{"@modelcontextprotocol/sdk":"^1.17.1","commander":"^11.1.0","node-fetch":"^3.3.2","zod":"^3.25.76"},"types":"dist/index.d.ts","devDependencies":{"@types/node":"^24.1.0","typescript":"^5.9.2"},"_id":"@alvaromurillo/appstore-reviews@1.0.6","gitHead":"fc0122c895c209c4b5eea06090a1ca030927b63b","_nodeVersion":"23.3.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-yzEezHWNcf/wMAofIuApSXHRLCLhMRuMKH1x+5V5sm/lFdVlHZqALRq57yRf6jMrg7BaKgTWhBg/FYv/cd/Dmw==","shasum":"12c0874d0e2cd03dd270d152597409d0a1915c4b","tarball":"https://registry.npmjs.org/@alvaromurillo/appstore-reviews/-/appstore-reviews-1.0.6.tgz","fileCount":14,"unpackedSize":29819,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCazoC/RLTDMzdWpVOz1kgwejm18IUM5WjMGrw5lrYghgIgUAUPZW/mM8fIeSjHDzrI2G2wFFyt8YQE98DBuCgIA0Q="}]},"_npmUser":{"name":"alvaromurillo","email":"alvaromurillop@gmail.com"},"directories":{},"maintainers":[{"name":"alvaromurillo","email":"alvaromurillop@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/appstore-reviews_1.0.6_1754157254108_0.40159192169280056"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-02T17:08:58.007Z","modified":"2025-08-02T17:54:14.454Z","1.0.0":"2025-08-02T17:08:58.252Z","1.0.1":"2025-08-02T17:20:31.441Z","1.0.2":"2025-08-02T17:23:42.776Z","1.0.3":"2025-08-02T17:42:43.214Z","1.0.4":"2025-08-02T17:45:08.275Z","1.0.5":"2025-08-02T17:46:55.624Z","1.0.6":"2025-08-02T17:54:14.266Z"},"license":"MIT","keywords":["app-store","reviews","cli","ios","mcp","model-context-protocol"],"description":"CLI tool to fetch App Store reviews","maintainers":[{"name":"alvaromurillo","email":"alvaromurillop@gmail.com"}],"readme":"# App Store Reviews CLI\n\n[![npm version](https://badge.fury.io/js/@alvaromurillo%2Fappstore-reviews.svg)](https://badge.fury.io/js/@alvaromurillo%2Fappstore-reviews)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nCommand-line tool and MCP server to fetch App Store reviews for any iOS application. Works both as a standalone CLI tool and as a Model Context Protocol server for AI assistants.\n\n## Installation\n\n### Global Installation (CLI)\n```bash\nnpm install -g @alvaromurillo/appstore-reviews\n```\n\n### Local Installation (Library)\n```bash\nnpm install @alvaromurillo/appstore-reviews\n```\n\n### Development\n```bash\ngit clone https://github.com/your-username/app-store-reviews\ncd app-store-reviews\nnpm install\nnpm run build\n```\n\n## Usage\n\n### CLI Usage (Global Installation)\n```bash\n# Basic usage\napp-store-reviews <APP_ID>                           # Reviews to console (US store)\napp-store-reviews <APP_ID> -c es                     # Reviews from Spain\napp-store-reviews <APP_ID> -c mx -o reviews.json     # Save to JSON file\napp-store-reviews <APP_ID> -l 50                     # Limit to 50 reviews\n```\n\n### CLI Usage (npx)\n```bash\n# Run without installing globally\nnpx appstore-reviews <APP_ID>\nnpx appstore-reviews <APP_ID> -c es -l 25\n```\n\n### CLI Usage (Development)\n```bash\n# After cloning and building\nnpm start <APP_ID>                                   # Reviews to console\nnpm start <APP_ID> -- -c es                          # Reviews from Spain\nnode dist/index.js <APP_ID> -c mx -o reviews.json    # Direct usage\n```\n\n## Parameters\n\n- `<APP_ID>`: Numeric App Store app ID (required)\n- `-c, --country <country>`: Country code (e.g., us, es, mx, gb). Default: us\n- `-o, --output <file>`: Save results to JSON file\n- `-l, --limit <number>`: Maximum number of reviews. Default: 100\n- `-s, --sort <order>`: Sort order: mostrecent, mosthelpful. Default: mostrecent\n\n## Examples\n\n```bash\n# WhatsApp reviews from Spain\napp-store-reviews 310633997 -c es\n\n# Instagram reviews saved to file\napp-store-reviews 389801252 -o instagram_reviews.json\n\n# 25 most recent TikTok reviews from Mexico\napp-store-reviews 835599320 -c mx -l 25\n\n# Most helpful Instagram reviews\napp-store-reviews 389801252 -s mosthelpful\n\n# Most helpful WhatsApp reviews from Spain, save to file\napp-store-reviews 310633997 -c es -s mosthelpful -o helpful_reviews.json\n\n# Using npx (no global installation needed)\nnpx appstore-reviews 544007664 -c us -l 100\n```\n\n## JSON Output Structure\n\n```json\n{\n  \"appId\": \"310633997\",\n  \"country\": \"es\",\n  \"sortBy\": \"mostrecent\",\n  \"totalReviews\": 50,\n  \"pagesChecked\": 1,\n  \"reviews\": [\n    {\n      \"id\": \"...\",\n      \"title\": \"Review title\",\n      \"content\": \"Review content\",\n      \"rating\": 5,\n      \"author\": \"Username\",\n      \"version\": \"2.23.24\",\n      \"date\": \"2024-01-15T10:30:00Z\",\n      \"country\": \"es\"\n    }\n  ]\n}\n```\n\n## Features\n\n- **Pagination Support**: Automatically fetches multiple pages (up to 500 reviews)\n- **Country Support**: Reviews from any App Store country\n- **Sorting Options**: Most recent or most helpful reviews\n- **Output Formats**: Console output or JSON file\n- **Rate Limiting**: Respectful API usage with delays between requests\n\n## App ID Examples\n\n- WhatsApp: `310633997`\n- Instagram: `389801252`\n- TikTok: `835599320`\n- YouTube: `544007664`\n\nFind any App Store app ID by looking at the URL on the App Store website.\n\n## MCP Server\n\nThis tool can also be used as an MCP (Model Context Protocol) server, allowing AI assistants like Claude to fetch and analyze App Store reviews directly.\n\n### MCP Setup\n\n#### Option 1: Using Published Package (Recommended)\n1. **Install globally:**\n   ```bash\n   npm install -g @alvaromurillo/appstore-reviews\n   ```\n\n2. **Add to Claude Desktop config:**\n   Add this to your Claude Desktop `claude_desktop_config.json`:\n   ```json\n   {\n     \"mcpServers\": {\n       \"app-store-reviews\": {\n         \"command\": \"appstore-reviews\",\n         \"args\": [\"mcp\"]\n       }\n     }\n   }\n   ```\n\n#### Option 2: Development Setup\n1. **Start the MCP server:**\n   ```bash\n   npm run mcp\n   # or directly\n   node dist/index.js mcp\n   ```\n\n2. **Add to Claude Desktop config:**\n   ```json\n   {\n     \"mcpServers\": {\n       \"app-store-reviews\": {\n         \"command\": \"node\",\n         \"args\": [\"/absolute/path/to/app-store-reviews/dist/index.js\", \"mcp\"]\n       }\n     }\n   }\n   ```\n\n### MCP Features\n\n- **Tool**: `fetchAppStoreReviews` - Fetch reviews with parameters (appId, country, limit, sort)\n- **Resource**: `app-reviews://{appId}/{country}` - Access reviews as structured data\n- **Prompts**: Pre-built prompts for review analysis, summaries, and comparisons\n\n### MCP Usage Examples\n\nOnce configured, you can ask Claude:\n- \"Analyze the reviews for WhatsApp (310633997) from Spain\"\n- \"Compare Instagram reviews between US and Mexico\"\n- \"Summarize the latest TikTok reviews and identify common complaints\"\n\nThe MCP server provides structured access to App Store review data for AI-powered analysis and insights.\n\n## Package Information\n\n- **Package**: [@alvaromurillo/appstore-reviews](https://www.npmjs.com/package/@alvaromurillo/appstore-reviews)\n- **Version**: 1.0.6\n- **License**: MIT\n- **TypeScript**: Full TypeScript support with declaration files\n- **Node.js**: Requires Node.js 16+ (ES modules)\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch: `git checkout -b feature-name`\n3. Make your changes and add tests\n4. Build the project: `npm run build`\n5. Submit a pull request\n\n## License\n\nMIT License - see LICENSE file for details.","readmeFilename":"README.md"}