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.

WebsitenpmGitHubContributing

Tools

ToolDescription
search_rejectionsSemantic search — paste Apple's rejection message or describe the issue
get_rejection_reasonFull details for a specific rejection reason (Apple's message, tags, categories)
get_solutionsStep-by-step fixes with code examples, difficulty, and success rates
get_guidelineLook up Apple Review Guidelines by number (e.g. 2.1, 4.3, 5.1.1)
list_common_rejectionsTop rejection reasons ranked by frequency
get_casesReal-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


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 - LinkedInTwitterTikTok


License

MIT - See LICENSE file for details


Made with ❤️ for iOS developers everywhere 🚀

Máy chủ liên quan

NotebookLM Web Importer

Nhập trang web và video YouTube vào NotebookLM chỉ với một cú nhấp. Được tin dùng bởi hơn 200.000 người dùng.

Cài đặt tiện ích Chrome