Mobile app review intelligence for a financial services company. FinReviewLens ingests iOS and Android app-store reviews and turns them into an analytics dashboard and an MCP server — so the same review intelligence is available in a browser and inside AI assistants like ChatGPT and Claude.
This is an npm-workspaces monorepo with three apps sharing one analytics core (lib/):
| Workspace | What it does |
|---|---|
frontend/ |
React + Vite dashboard with six views (Overview, Review Inbox, Themes, Platform Comparison, Prioritization, Insights) |
backend/ |
Express REST API serving reviews and computed analytics on port 4000 |
mcp-server/ |
Model Context Protocol server exposing the same analytics as 13 tools + interactive HTML widgets |
The dataset is generated mock data (168 reviews across iOS and Android) seeded by scripts/generate-reviews.js — no real customer data.
| Review Inbox | Platform Comparison |
|---|---|
![]() |
![]() |
| Themes | Prioritization |
|---|---|
![]() |
![]() |
| Insights Generator |
|---|
![]() |
The MCP server renders interactive widgets (rating summary, top themes, platform comparison, prioritization) directly inside ChatGPT:
- Overview — total volume, average ratings per platform, rating distribution, review volume over time, top complaint and positive themes
- Review Inbox — browse, search, and triage reviews with filters for platform, rating, sentiment, theme, app version, segment, status, and date range
- Themes — reviews clustered by product area (notifications, transfers, biometric login, …) with representative quotes and suggested actions
- Platform Comparison — iOS vs Android complaints, strengths, and theme deltas
- Prioritization — impact/severity matrix and ranked P1–P20 priorities with recommended next steps
- Insights Generator — deterministic executive summaries computed locally from the dataset
- Workflow — update review status (new → reviewed → planned → in progress → shipped/declined) and priority from the UI or via MCP tools
- Node.js 18+
npm run install:all # install root + all workspaces
npm run dev # backend on :4000, frontend on :5173Open http://localhost:5173.
npm run dev:mcp # stdio transport (Claude Desktop, etc.)
npm run dev:http -w mcp-server # HTTP transport (ChatGPT developer mode)
npm run inspect -w mcp-server # debug with MCP InspectorMCP tools exposed: list_reviews, get_review, search_reviews, filter_reviews, get_rating_summary, get_platform_comparison, get_top_themes, get_theme_details, get_low_rating_reviews, get_prioritization, update_review_status, update_review_priority, update_review_theme.
npm run seed├── backend/ # Express API (port 4000)
├── frontend/ # React + Vite dashboard (port 5173, proxies /api → 4000)
├── mcp-server/ # MCP server (stdio + HTTP transports)
│ └── widgets/ # Interactive HTML widgets rendered in MCP clients
├── lib/ # Shared analytics core (store, analytics, insights)
├── data/ # Generated mock review dataset
└── scripts/ # Dataset generator
React 18 · Vite · Recharts · Express · @modelcontextprotocol/sdk · Zod
MIT






