review-miner-mcp
Find out what users hate about your competitors. An MCP server that mines public App Store and Steam reviews so Claude (or any MCP client) can turn thousands of complaints into product opportunities.
No API keys. No scraping. One line to install.
You: What do users hate about the top health & fitness apps in Turkey?
Claude: [review_top_apps → review_compare_apps]
• Strava: the most upvoted complaints ask for Turkish. "I was going to buy
Premium but I'm deleting it because there is no Turkish support."
• OKOK (smart scale): 61% of recent reviews are negative. You have to watch
ads before the app shows your own weight.
• MAC+: login and verification-code errors ("hata veriyor") dominate.
• HUAWEI Health: can't log in after switching phones or after updates.
Summarized from real tool output: Turkish App Store, 1 Oct 2026, 150 recent reviews per app.
Why
| You want to know | Without it | With review-miner |
|---|---|---|
| Why an app's rating dropped | Scroll reviews by hand | rating_by_version shows which update broke it |
| What a whole category fails at | Read 5 apps × 500 reviews | One call compares them side by side |
| Whether an idea has demand | Guess | Real complaints, with quotes and counts |
How it works
flowchart LR
C[Claude / MCP client] -->|tool call| S[review-miner-mcp]
S --> A[Apple iTunes Search + RSS]
S --> T[Steam Store + Web API]
S --> X[Stats: rating mix, per-version rating,<br/>top complaint phrases]
X -->|compact summary + best review samples| C
The server does the cheap, deterministic part (fetching, counting, phrase extraction). The model does the interpretation. Only the most helpful review texts are returned, so your context window is not flooded.
Install
Requires uv.
Claude Code
claude mcp add review-miner -- uvx --from git+https://github.com/alialtunar/review-miner-mcp review-miner-mcp
Claude Desktop / Cursor (claude_desktop_config.json / .cursor/mcp.json)
{
"mcpServers": {
"review-miner": {
"command": "uvx",
"args": ["--from", "git+https://github.com/alialtunar/review-miner-mcp", "review-miner-mcp"]
}
}
}
Tools
| Tool | What it does |
|---|---|
review_top_apps |
Current top charts: App Store by category (free / paid / grossing) or Steam weekly top sellers / most played / new releases |
review_search_apps |
Find an app or game and get its ID |
review_fetch |
Recent reviews for one app: rating mix, rating per version, top complaint phrases, most helpful texts |
review_compare_apps |
2–8 competitors side by side, App Store and Steam mixed |
Prompts: find_opportunities (category → product gaps), competitor_teardown (one app, love vs hate).
Every tool supports country (e.g. tr, de, us) and response_format (markdown / json).
Try these
- "Compare the reviews of the top 5 finance apps in Turkey. What does every one of them get wrong?"
- "Did Duolingo's latest version lower its rating? Show rating by version."
- "What do negative Steam reviewers of Cyberpunk 2077 complain about, and how many hours had they played?"
- "Run find_opportunities for health-fitness in Germany."
Limits (set by the sources)
- App Store: most recent ~500 reviews per country (Apple's feed limit).
- App Store: Apple's review feed is sometimes empty for an app/country for a while. The server retries equivalent feed URLs automatically; if all are empty it tells you so instead of reporting "no reviews". Retrying a few minutes later or trying another country usually works.
- Steam: most recent reviews, filtered by language (
english,turkish,all...). - Results are cached for 15 minutes; concurrency is capped to stay polite.
Development
uv sync --extra dev
uv run pytest # offline tests with mocked APIs
uv run python scripts/smoke_live.py # live check against Apple and Steam
npx @modelcontextprotocol/inspector uv run review-miner-mcp # click-through UI
uv run --with rich python scripts/demo.py finance tr # terminal demo (vhs docs/demo.tape records the GIF)
MIT © Ali Altunar
Metadata
Release files for review-miner-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| review_miner_mcp-0.1.0.tar.gz | 207.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| review_miner_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 228.9 kB
Release files / review_miner_mcp-0.1.0.tar.gz
| Download URL | review_miner_mcp-0.1.0.tar.gz |
|---|---|
| Size | 207.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1dd3c092606803b5ad7f12297ed006440be13780da63b59d098c703536cc3678
|
|
BLAKE2b-256 checksum How to use checksums |
532d33b24485bbfbbd7fa28861053b9772e8667d3b9b900687fdab602c528187
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / review_miner_mcp-0.1.0-py3-none-any.whl
| Download URL | review_miner_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 21.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1ec0c0014580c2d3e9e1a0032fd644ce5de10bc531dc845bda7f90b684df0617
|
|
BLAKE2b-256 checksum How to use checksums |
9125097253deb8efa8b85896bdba7d38da78960b1c6483af11dd915bb84fc472
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|