App Store Rejections Mcp
RobertoJoseph/appstore-rejections-mcp · 16 stars · TypeScript · MIT
MCP server Catch App Store Rejections before they happen
Install
The repo has no one-line install. Follow its README.
Files
appstore-rejections-mcp
An MCP (Model Context Protocol) server that gives AI assistants access to a curated database of Apple App Store rejection reasons, solutions, and real-world cases.
Built on a database of 48 rejection reasons, 51 solutions, 554 real-world cases, and all 130 Apple Review Guideline subsections.
Website • npm • GitHub • Contributing
Tools
| Tool | Description |
|---|---|
search_rejections |
Semantic search — paste Apple's rejection message or describe the issue |
get_rejection_reason |
Full details for a specific rejection reason (Apple's message, tags, categories) |
get_solutions |
Step-by-step fixes with code examples, difficulty, and success rates |
get_guideline |
Look up Apple Review Guidelines by number (e.g. 2.1, 4.3, 5.1.1) |
list_common_rejections |
Top rejection reasons ranked by frequency |
get_cases |
Real-world cases filtered by reason, app category, or appeal status |
Installation
Claude Code (Recommended - Easiest)
Run this command in your terminal:
claude mcp add --transport stdio appstore-rejections -- npx -y appstore-rejections-mcp
That's it! Reload Claude Code and the MCP server will auto-connect.
Cursor
Add to your Cursor config file:
- macOS/Linux:
~/.cursor/mcp.json - Windows:
%APPDATA%\Cursor\mcp.json
{
"mcpServers": {
"appstore-rejections": {
"command": "npx",
"args": ["-y", "appstore-rejections-mcp"]
}
}
}
Save the file, restart Cursor, and it will auto-connect.
Claude Desktop (Legacy - Global)
Add to your Claude Desktop config:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"appstore-rejections": {
"command": "npx",
"args": ["-y", "appstore-rejections-mcp"]
}
}
}
Usage Examples
Once connected, your AI assistant can:
Search for a rejection reason:
"My app was rejected for guideline 4.3, what does that mean?"
Get solutions:
"How do I fix an App Store rejection for missing privacy policy?"
Review your app before submission:
"Review my iOS app codebase for potential App Store rejections"
Look up guidelines:
"What does Apple guideline 5.1.1 say?"
Find real-world cases:
"Show me cases where Finance apps were rejected and the developer appealed"
Data Coverage
- 48 documented rejection reasons with Apple's actual message templates
- 51 solutions with implementation steps and code examples
- 554 real-world cases sourced from Reddit, Stack Overflow, Apple Forums, and developer blogs
- 130 Apple Review Guideline subsections across all 5 sections
- 50 app categories tracked
- Semantic search powered by pgvector embeddings
Requirements
- Node.js >= 18
Quick Start
For Claude Code Users
claude mcp add --transport stdio appstore-rejections -- npx -y appstore-rejections-mcp
Then in Claude Code, ask:
"Check my iOS app for potential App Store rejections"
For Everyone Else
See Installation section above for Cursor, Claude Desktop, and other setup methods.
Real-World Example
User asks Claude Code:
"My iOS app was rejected for guideline 4.3. What does that mean and how do I fix it?"
Claude uses the MCP tools to:
- Look up guideline 4.3
- Find related rejection reasons
- Get step-by-step solutions
- Show real cases where developers fixed similar issues
- Provide code examples and best practices
How It Works
The MCP server connects your AI assistant to:
- 48 Rejection Reasons - Apple's actual rejection messages and patterns
- 51 Solutions - Step-by-step fixes with difficulty ratings
- 554 Real Cases - Community experiences and appeals
- 130 Guidelines - Full Apple Review Guideline subsections
- Semantic Search - Powered by vector embeddings for smart matching
For Developers
Building from Source
git clone https://github.com/RobertoJoseph/appstore-rejections-mcp.git cd appstore-rejections-mcp npm install npm run build
Environment Variables (Optional)
For custom Supabase instance:
SUPABASE_URL=your-url SUPABASE_ANON_KEY=your-key
See CONTRIBUTING.md for more details.
Community
- Found a bug? Open an issue
- Have an idea? Start a discussion
- Want to contribute? See CONTRIBUTING.md
- Questions? Email: roberto.josephselim@gmail.com
Changelog
v1.0.2 - Cleaned up README, clearer installation instructions v1.0.1 - Fixed invalid API key error v1.0.0 - Initial release
Built By
Roberto Joseph - LinkedIn • Twitter • TikTok
License
MIT - See LICENSE file for details
Made with ❤️ for iOS developers everywhere 🚀
Facts
- Kind
- MCP server
- Group
- Uncategorized
- Stars
- 16
- License
- MIT
- Language
- TypeScript
- Last push
- 2026-02-15
- Forks
- 1
- 1REAio.github.morluto/reaReverse engineer anything from your terminal or agent with one CLI and MCP server.125.3k
- 2com.browser-use/browser-usecom.browser-use/browser-useControl a real Chrome browser to complete any task: fill forms, extract data, book flights.117.7k
- 3World Monitorapp.worldmonitor/mcpLive markets, conflicts, country risk, chokepoints, energy, and China decision signals. 93 tools.88.3k
- 4Scrapling MCP Serverd4vinci/scrapling🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scraplingdev86.9k
- 5Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
- 6Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k