App Store Rejections Mcp
About
Catch App Store Rejections before they happen
Details
- Author
- RobertoJoseph
- Downloads
- 121
- Categories
- Developer Tools, Other
Jump to
- Semantic search of rejection messages and issues
- Full details for each rejection reason with Apple’s message templates
- Step‑by‑step solutions with code examples and difficulty ratings
- Lookup of any Apple Review Guideline by number
- Top rejection reasons ranked by frequency
- Real‑world cases filtered by reason, app category, or appeal status
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
App Store Rejections McpCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install via one command for Claude Code (claude mcp add --transport stdio appstore-rejections -- npx -y appstore-rejections-mcp) or add to Cursor / Claude Desktop config files with the same npx command. Once connected, the AI assistant can call built-in tools such as search_rejections, get_rejection_reason, get_solutions, get_guideline, list_common_rejections, and get_cases by describing rejection issues or asking for guidance.
search_rejections
Search for App Store rejection reasons using natural language. Paste Apple's rejection message or describe the issue. Returns matching rejection reasons ranked by relevance with solutions.
get_rejection_reason
Get full details about a specific App Store rejection reason including Apple's message template, affected categories, guideline reference, and tags. Use search_rejections first to find the ID.
get_solutions
Get all solutions for a specific App Store rejection reason. Returns step-by-step fixes with implementation details, code examples, difficulty level, and success rates.
get_guideline
Look up a specific Apple App Store Review Guideline by section or subsection number. Examples: '2.1', '4.3', '5.1.1'. Returns the guideline text and any related rejection reasons.
list_common_rejections
List the most common App Store rejection reasons, sorted by frequency. Useful for understanding what reviewers look for most.
get_cases
Get real-world App Store rejection cases from developers who experienced them. Filter by rejection reason, app category, or appeal status. Cases include the developer's message, Apple's response, and resolution.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"app store rejections mcp": {
"appstore-rejections": {
"command": "npx",
"args": [
"-y",
"appstore-rejections-mcp"
]
}
}
}
}
McpServers
{
"appstore-rejections": {
"command": "npx",
"args": [
"-y",
"appstore-rejections-mcp"
]
}
}
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:
1. Look up guideline 4.3
2. Find related rejection reasons
3. Get step-by-step solutions
4. Show real cases where developers fixed similar issues
5. 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 🚀
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





