App Store Rejections MCP
Catch App Store rejections before they happen
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 🚀
Related Servers
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Tekion Persona Loader
Loads AI persona definitions from a GitLab repository.
MCP Expert Server
An MCP server for query generation and documentation assistance using Claude AI.
MCP Smart Contract Analyst
Analyzes smart contract source code on the Monad blockchain for functionality and security.
Remote MCP Server (Authless)
An example of a remote MCP server without authentication, deployable on Cloudflare Workers.
esp-mcp
An MCP server for ESP-IDF workflows, enabling project builds, firmware flashing, and automated issue resolution from build logs.
Remote MCP Server on Cloudflare
A template for deploying a remote MCP server on Cloudflare Workers, allowing for custom tool integration.
MCP Server for iOS Simulator
Programmatically control iOS simulators via stdio transport. Requires macOS with Xcode and installed iOS simulators.
Sailor
Generate and render Mermaid diagrams as images using LLMs.
Authless Remote MCP Server
An example of a remote MCP server without authentication, deployable on Cloudflare Workers or runnable locally via npm.
Substrate MCP Server
A Model Context Protocol (MCP) server for Substrate blockchains, written in Rust.