App Pain API

io.github.apppainapiPublished by GitHub account apppainapiv0.3.1Updated Nov 1, 2026

What users hate about ANY iOS/Android app: clustered complaints, evidence, trends. No key needed.

Overview

AI-generated overview

Remote MCP server that mines public iOS and Android app reviews into ranked pain points, trends and version-level ratings for any app.

What you can do
  • Search the App Store and Google Play to find apps and their ids
  • Mine recent negative reviews into ranked pain-point clusters with severity and verbatim quotes
  • Compare archived analyses to see which complaints are new, rising, falling or resolved
  • Read app metadata, rating histograms and per-version review stats
  • Fetch raw reviews page by page for drill-down
  • Manage a competitor watchlist that pushes new 1-2 star reviews and rising pain points to a webhook
When to use it
Useful for competitive research, product discovery and app teardowns when you want to know what users complain about in a given app, or how its complaints changed across releases, without reading reviews by hand.
Requirements
A remote streamable HTTP endpoint; no local runtime or package needed. Works without credentials on a keyless daily allowance; an optional x-api-key header (obtained by registering) gives a personal quota. Network access to the hosted server is required, and mainland China users may need a proxy.
Before you install
The optional x-api-key header is a secret and should be kept out of shared configs. Paid tiers (Starter, Pro) are needed for competitor watching and larger quotas, and watch_competitors can send review digests to a Slack, Discord or arbitrary https webhook you configure. Cold analyses take 30-120 seconds; all tools are described as read-only.

Installation

In SourceWeft

  1. Open App Pain API in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.apppainapi%2Fapp-pain-api/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "app-pain-api": {
      "type": "http",
      "url": "https://hawkmill.com/mcp"
    }
  }
}

README

[App Pain API logo]

App Pain API

What users hate about any iOS/Android app — clustered complaints, evidence quotes, trends. One MCP server, no API key.

[MCP] [Streamable HTTP] [No key required] [SealKeeper Service SEAL]

Live server · Docs · OpenAPI 3.1 · Pain index (101 apps) · Pricing


Review intelligence for any app on the App Store or Google Play — not just your own. Feed it an app id, a store link, or a bare package name; get back ranked pain-point clusters mined from real 1–2★ reviews, each with its share of complaints, a severity score, and verbatim evidence.

Built for competitive research and agent workflows: one tool call replaces a week of reading reviews by hand.

json
{  "painPoints": [    { "rank": 1, "title": "Intrusive ads & ad frequency", "sharePercent": 16, "severity": 4 },    { "rank": 2, "title": "Shadowbanning & algorithm suppression", "sharePercent": 12, "severity": 4 }  ],  "overview": "Monetization pressure (ads) and opaque algorithm changes dominate complaints."}

↑ real output — TikTok, US App Store. Cached analyses return instantly; ~100 popular apps are pre-analyzed and always free to read.

The tools

ToolWhat it does
search_apps ★Find apps on both stores (merged results, rich fields) — the step 1 of every teardown
mine_app_pain_points ★The core tool: fetch recent reviews, keep the negative ones, cluster them into ranked pain points with evidence quotes
get_pain_trendCompare two snapshots: what got worse, what got fixed (new / resolved / rising / falling)
get_version_historyRating per release — catch the version that broke things
get_app_reviewsRaw reviews, unified schema across stores (dev replies, thumbsUp)
get_app_detailsMetadata: rating histogram, category, price, IAP
watch_competitorsPaid: push new 1–2★ reviews and rising pain points to Slack/Discord/webhooks

Also ships two prompts (competitor_pain_report, app_pain_deep_dive) so an agent can run a full teardown from one sentence.

Install

Server URL — paste it into any MCP client, no key needed:

https://app-pain-api.quiet-delta.workers.dev/mcp
ClientHow
Claude Codeclaude mcp add --transport http app-pain-api https://app-pain-api.quiet-delta.workers.dev/mcp
Claude Desktop / claude.aiSettings → Connectors → Add custom connector → paste the URL
ChatGPTSettings → Apps & Connectors → Developer mode → Create → paste the URL, auth: No authentication
Cursor~/.cursor/mcp.json → {"mcpServers":{"app-pain-api":{"url":"https://app-pain-api.quiet-delta.workers.dev/mcp"}}}
VS Codecode --add-mcp '{"name":"app-pain-api","type":"http","url":"https://app-pain-api.quiet-delta.workers.dev/mcp"}'
Windsurf~/.codeium/windsurf/mcp_config.json → {"mcpServers":{"app-pain-api":{"serverUrl":"…/mcp"}}}
Codex CLI~/.codex/config.toml → [mcp_servers.app-pain-api] url = "…/mcp"
Gemini CLI~/.gemini/settings.json → {"mcpServers":{"app-pain-api":{"httpUrl":"…/mcp"}}}
stdio-only clientsnpx -y mcp-remote https://app-pain-api.quiet-delta.workers.dev/mcp

Keyless limits: unlimited cached results plus a few new analyses per day. Want your own quota (10/month free, more on paid tiers)? Register at POST /v1/register and add an x-api-key header. When the server-side allowance runs out, mine_app_pain_points degrades gracefully — it hands your agent the prepared negative reviews to cluster with its own model.

Mainland China: *.workers.dev needs a system proxy or TUN mode to connect.

Try asking your agent

  • "What do users hate most about Duolingo, and is it getting better?"
  • "Compare the top 4 habit-tracker apps' pain points and find a product gap."
  • "Watch my 3 biggest competitors and alert our Slack when their users start complaining about something new."

Also a plain REST API

Everything the MCP server does is available over REST with JSON responses and a full OpenAPI 3.1 spec — same cache, same quota, one GET:

bash
curl -s "https://app-pain-api.quiet-delta.workers.dev/v1/apps/ios/835599320/painpoints"

Pricing

Free tier forever (no credit card) · Starter $9/mo (any country, 500-review depth, watch 2 competitors) · Pro $29/mo (daily alerts for 15 competitors, unlimited analyses) — details on the site.

Notes

  • Data comes from public app-store pages, normalized into one schema. Not affiliated with Apple or Google.
  • All tools are read-only (readOnlyHint annotations set).
  • Speaks the classic initialize handshake (2024-11-05 → 2025-11-25) and answers the mandatory server/discover RPC from the 2026-07-28 spec — modern clients probe, see the supported version list, and fall back to the handshake automatically.
  • Cold analyses take 30–120s and stream progress notifications; repeat calls hit a 7-day cache and return in milliseconds.
  • Privacy · Terms · Acceptable use
  • Contact: [email protected]

Source: README.md at commit e83da69

Tools

7

search_apps

Search apps

Search the iOS App Store and Google Play (both merged by default) to find apps and their ids. Use this FIRST when you only know an app name or a category.

Parametersqrequiredlimitstorecountry

mine_app_pain_points

Mine app pain points

THE core tool: fetch recent reviews of any iOS/Android app, keep the negative ones, and cluster them into ranked pain points (title, sharePercent, severity 1-5, verbatim evidence quotes). Ideal for competitive research and product discovery. Cached 7 days (instant on repeat); a COLD server-side analysis takes 30-120s. If the result has "mode":"agent", it contains prepared negative reviews and "instructions" — do the clustering yourself and present it to the user.

ParametersappIdrequiredmodelstoreanalyzecountryreviewsmaxRating

get_pain_trend

Pain-point trend

How an app's pain points changed over time: compares two archived analyses and labels each theme new / resolved / rising / falling / stable with share deltas (percentage points). Instant (archive read, no LLM). Default: latest vs ~30 days earlier. Returns a note when the app has fewer than two snapshots yet.

ParameterstofromappIdrequiredstore

get_app_details

App details

App metadata: name, developer, category, price, average rating, rating count and 1-5★ histogram (when available).

ParametersappIdrequiredstorecountry

get_version_history

Version history

Per-version review stats (review count, average rating, first/last seen) — spot a rating crash right after a bad release. Android: aggregated from recent reviews. iOS: current version + release notes.

ParametersappIdrequiredstorecountry

watch_competitors

Watch competitors (alerts)

Continuous competitor monitoring (paid plans: Starter 2 apps weekly, Pro 15 apps daily). Manage the watchlist and the alert destination; digests of NEW 1-2★ reviews and NEW/RISING pain points are pushed to a Slack / Discord / any https webhook. action: list | add | remove | set_webhook | test.

ParametersappIdstoreactionrequiredwebhookUrl

get_app_reviews

Raw reviews

Fetch raw app reviews (unified schema across stores: rating/title/body/version/date/devReply/thumbsUp), 50 per page. Use for drill-down after mine_app_pain_points.

ParameterspagesortappIdrequiredstorecountry

Version history

3
  1. v0.3.1LatestNov 1, 2026
  2. v0.3.0Oct 25, 2026
  3. v0.2.0Oct 23, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.