About App Store Rejections Mcp
App Store Rejections Mcp is an MCP server for iOS developers, giving AI assistants searchable rejection reasons, fixes, and real-world cases to help investigate issues before submission.
Key features
- 01Semantic rejection search
- 02Rejection details and fixes
- 03Apple guideline lookup
- 04Case search by category
- 05Ranked common rejections
Use cases
- 01Interpret an Apple rejection message
- 02Find steps to fix a review issue
- 03Check an iOS app before submission
- 04Find similar appeals and cases
MCP support
The MCP server exposes tools for searching and retrieving rejection reasons, solutions, Apple review guidelines, and real-world cases.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
6Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| query | string | Yes | The search query — e.g. Apple's rejection message, a guideline number, or a description of the problem |
Details
From the project READMEappstore-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: [email protected]
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 🚀
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.