appstore-rejections-mcp
An MCP server that gives AI assistants access to a curated database of Apple App Store rejection reasons, solutions, and real-world cases.
README
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 🚀
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.