Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
App Store keyword research: Apple popularity, difficulty with evidence, verdicts and app rankings.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://appclimb.app/mcpRun this in your terminal
claude mcp add --transport http appclimb https://appclimb.app/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"appclimb": {
"url": "https://appclimb.app/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"appclimb": {
"type": "http",
"url": "https://appclimb.app/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://appclimb.app/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
The server asks you to sign in before it lists its tools.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified against the domain appclimb.app (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 397 ms (HTTP 401)
Declares OAuth sign-in, so your AI app can take you to log in
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.0.0) reached the registry 3 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
AppClimb is a freemium App Store keyword tool that answers one question: *which keywords can my app actually rank for?*
Search any keyword and get Apple's official Ads popularity (searchPopularity1to100, 1–100) with Apple's own weekly history, a difficulty estimate that shows its evidence, and a verdict (Worth targeting, Long-tail win, Competitive, Dominated, Low demand). Keyword Explorer works as a guest (8 new checks/day). A free account raises that to 30/day and unlocks 1 tracked app and the ASO assistant (5 messages/day). The optional Pro plan ($8/month, $64/year) lifts the limits, adds 52 weeks of Apple history, and cloud sync.
Popularity is Apple's relative score, or "≤N · Long tail" for terms below
Apple's published top 500 in their category, or (only if Apple is
unreachable) a labeled estimate. Difficulty is always an estimate. Nothing is
search volume, and no history is invented. See
ADR 0005.
/) — search with autocomplete from Apple's list of real App Store searches; a "What people search" panel (rising, most searched, new this month, per category); a keyword table with popularity (source-labeled), 12-week Apple trend, difficulty, and verdict; a detail panel with the verdict reason, difficulty evidence, Apple's weekly popularity chart, related Apple searches, and the top 10 apps./, sidebar) — add an iOS app by name, App Store URL, or ID; get metadata-based keyword suggestions; track scores, observed position in public iTunes results (first 200), notes, opportunity score, status filters, CSV export, and real rank history locally per app + storefront.appclimb:kw:v1:* (records from before Oct 2026 had an invented baseline; those points are dropped on load). My Apps: real position/metrics snapshots in appclimb:tracker:v1./privacy (src/lib/retention.ts). Guest search stays open. Tracking and the assistant require a free account. The account chrome appears when NEXT_PUBLIC_PRO_ENABLED=1 or when GET /api/me reports configured: true./mcp, setup on /connect. Listed in the official MCP Registry from server.json; Claude/ChatGPT directory status and submission texts are in docs/mcp-directory-submissions.md, including the one password sign-in for directory reviewers (src/lib/review-login.ts, off unless its secrets are set)./app-store-keywords, /guides/keyword-research, /blog (+ 4 notes), /about, /pricing, /privacy, /terms, /refunds.A single Next.js app deployed as a Cloudflare Worker (OpenNext). The browser queries itunes.apple.com directly (Apple allows CORS * but blocks Cloudflare Worker IPs). Official popularity comes from the Worker's store of Apple's weekly published search terms (Apple Ads Platform API v1 with founder credentials, cached in D1; first use of a new storefront-week costs ~8 sequential Apple calls, and .github/workflows/warm-apple-terms.yml preloads them). Keyword history lives in the visitor's browser by default.
Monetization runs on the same Worker plus a D1 database (appclimb-db, staging appclimb-db-staging):
src/app/api/auth/* — magic-link + Google sign-in, sign-outsrc/app/api/me — profile, plan, limitssrc/app/api/sync — Pro cloud sync (tracker / explorer blobs, LWW)src/app/api/billing/webhook — signed Paddle events → D1 subscriptionssrc/app/api/billing/portal — Paddle subscription management URLssrc/app/api/chat, src/app/api/popularity — plan-aware quotassrc/app/api/terms/{suggest,related,trending} — Apple's published search terms (D1-backed store in src/lib/search-terms-store.ts)migrations/ — D1 schema; src/lib — plan/auth/billing/sync/quota libsworker/, deploy/, compose.yml — frozen rollback artifacts from earlier architectures; never the current backendnpm install
npm run dev
Keyword Explorer / My Apps work without env vars (iTunes estimate fallback).
Official Apple Ads popularity needs server-only founder credentials:
# local — see .env.example
APPLE_ADS_CLIENT_ID=... APPLE_ADS_TEAM_ID=... APPLE_ADS_KEY_ID=... APPLE_ADS_PRIVATE_KEY="[PopNx MCP ตัดค่าที่หน้าตาเหมือนกุญแจออก]" APPLE_ADS_ACCOUNT_ID=...
npx wrangler secret put APPLE_ADS_CLIENT_ID npx wrangler secret put APPLE_ADS_TEAM_ID npx wrangler secret put APPLE_ADS_KEY_ID npx wrangler secret put APPLE_ADS_PRIVATE_KEY npx wrangler secret put APPLE_ADS_ACCOUNT_ID
Optional ASO Assistant (DeepSeek V4 Flash) needs a server-only key:
# local
echo 'DEEPSEEK_API_KEY=sk-...' >> .env.local
npx wrangler secret put DEEPSEEK_API_KEY
The key is used only by POST /api/chat. It is never shipped to the browser.
The backend ships inert: routes degrade to 503 and the account UI is hidden until the founder completes this checklist. Do it in sandbox first, then repeat for production.
appclimb-db (production) and appclimb-db-staging. Local dev: npx wrangler d1 migrations apply appclimb-db --local.subscription.created/updated/paused/canceled) pointing at https://appclimb.app/api/billing/webhook.https://appclimb.app/api/auth/google/callback.appclimb.app as a sending domain (add the DNS records it shows). npx wrangler secret put PADDLE_API_KEY
npx wrangler secret put PADDLE_WEBHOOK_SECRET npx wrangler secret put RESEND_API_KEY npx wrangler secret put GOOGLE_CLIENT_ID npx wrangler secret put GOOGLE_CLIENT_SECRET npx wrangler secret put PRO_ENABLED # value: 1 — enables plan quotas
7. **Public build-time vars** — GitHub → repo Settings → Secrets and
variables → Actions → Variables: NEXT_PUBLIC_PRO_ENABLED=1, NEXT_PUBLIC_PADDLE_CLIENT_TOKEN= , NEXT_PUBLIC_PADDLE_ENV=sandbox (then production), NEXT_PUBLIC_PADDLE_PRICE_PRO_MONTHLY= , NEXT_PUBLIC_PADDLE_PRICE_PRO_YEARLY= .
npm run deploy:cloudflare:web:staging and set the same secrets for the staging environment (npx wrangler secret put ... --env staging) before the production flip.npm run lint
npm run typecheck npm test npm run build npm run build:cloudflare npm run test:e2e
npm run check runs lint, typecheck, coverage, and both builds.
Pushes to main run .github/workflows/cloudflare-deploy.yml, which builds, applies D1 migrations, deploys the web Worker, verifies the canonical homepage, waits for the sitemap, and notifies IndexNow. Deploys go live immediately — run npm run check and npm run test:e2e before pushing.
The canonical production host is https://appclimb.app; the staging Worker is appclimb-web-staging.