ios-keyword-mcp
v0.1.0
Published
MCP server for iOS App Store keyword research and competitive analysis using Apple's public APIs. No auth, no fees.
Downloads
29
Maintainers
Readme
ios-keyword-mcp
MCP server for iOS App Store keyword research and competitive analysis using Apple's free, public APIs. No auth, no fees, no accounts.
Designed for indie iOS developers who want ASO (App Store Optimization) data through an LLM instead of paying $9-69/month for a dashboard on top of the same public data.
What it does
Five tools exposed over the Model Context Protocol, usable from Claude Desktop, Claude Code, or any MCP client:
| Tool | What it does |
|---|---|
| keyword_suggestions | Autocomplete suggestions from the App Store search bar for a seed term. |
| keyword_expand | Runs autocomplete on term a, term b, ... term z and merges results. Deep sub-niche discovery. |
| search_apps | Top-ranked apps for a keyword with metadata for competitive analysis. |
| app_details | Full metadata for a given App Store ID (description, screenshots, version history). |
| competitor_keywords | Extracts and frequency-ranks likely keywords from a competitor's title/subtitle/description. |
All tools accept an optional country (two-letter ISO code, default us).
Install
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"ios-keyword": {
"command": "npx",
"args": ["-y", "ios-keyword-mcp"]
}
}
}Restart Claude Desktop. The tools will appear in the tool panel.
Claude Code
claude mcp add ios-keyword -s user -- npx -y ios-keyword-mcpLocal clone (for hacking)
git clone https://github.com/rspitzer/ios-keyword-mcp.git
cd ios-keyword-mcp
npm install
npm run smoke # hits live Apple APIsThen point your MCP client at node /absolute/path/to/ios-keyword-mcp/src/index.js.
Example prompts
Once the server is connected, try asking Claude things like:
- "What sub-niches exist around vegetable garden apps? Use keyword_expand."
- "Who are the top 10 competitors for 'garden planner' on the US App Store?"
- "Look up app ID 284910350 and tell me what keywords they're targeting."
- "Compare the competitive landscape for 'pocket scale' vs 'digital scale'."
Data sources
All three are public Apple endpoints — no authentication required.
- iTunes Search API —
itunes.apple.com/search - iTunes Lookup API —
itunes.apple.com/lookup - MZSearchHints (App Store autocomplete) —
search.itunes.apple.com/WebObjects/MZSearchHints.woa/wa/hints
The hints endpoint is undocumented but stable — it's what powers the autocomplete bar in the iOS App Store app itself. keyword_expand uses a small concurrency limit (default 4) and a custom User-Agent to be a polite citizen. There are no published rate limits on these endpoints, but please don't abuse them.
Storefronts
keyword_expand and keyword_suggestions use the X-Apple-Store-Front header to target a specific storefront. The built-in country list covers the ~20 largest markets. If you need a storefront that isn't listed, open an issue with the two-letter ISO code.
What this is NOT
- Not a rank tracker. No persistence, no historical data, no daily cron. Each tool call is a fresh query. If you want ranking history, pair this with a simple SQLite logger you run on a cron.
- Not Apple Search Ads. Popularity scores (0-100) require an Apple Search Ads account and OAuth. That's a separate tool.
- Not Google Play. iOS only.
Out of scope
- Apple Search Ads API integration (requires OAuth, paid account context)
- Google Play keyword research
- Persistent storage / historical tracking
- Review sentiment analysis (Apple's review endpoints are paginated XML — doable later if useful)
Contributing
Issues and pull requests welcome. Keep it small, keep it fast, keep it free-tier friendly.
Author
Built by Rebecca Spitzer, an indie iOS developer.
rebecca.io · Substack · LinkedIn
License
MIT — see LICENSE.
