MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

A
Appstore Rejections MCP

MCP server for Apple App Store rejection reasons, solutions, and real-world cases

Created 2/15/2026
Updated about 21 hours ago
Repository documentation and setup instructions

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

| 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


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 🚀

Quick Setup
Installation guide for this server

Install Package (if required)

npx @modelcontextprotocol/server-appstore-rejections-mcp

Cursor configuration (mcp.json)

{ "mcpServers": { "robertojoseph-appstore-rejections-mcp": { "command": "npx", "args": [ "robertojoseph-appstore-rejections-mcp" ] } } }