MCP server for Apple App Store rejection reasons, solutions, and real-world cases
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 🚀