io.github.ryaker/appstore-connect-mcp
MCP server for Apple Store Connect API integration with OAuth authentication support
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
@ryaker/appstore-connect-mcpclaude mcp add appstore-connect-mcp -e 'APPLE_KEY_ID=<your apple_key_id>' -e 'APPLE_ISSUER_ID=<your apple_issuer_id>' -e 'APPLE_PRIVATE_KEY=<your apple_private_key>' -e 'APPLE_BUNDLE_ID=<APPLE_BUNDLE_ID>' -e 'APPLE_APP_STORE_ID=<APPLE_APP_STORE_ID>' -e 'OAUTH_ENABLED=<OAUTH_ENABLED>' -e 'OAUTH_ISSUER=<OAUTH_ISSUER>' -e 'OAUTH_AUDIENCE=<OAUTH_AUDIENCE>' -e 'OAUTH_JWKS_URI=<OAUTH_JWKS_URI>' -e 'SERVER_URL=<SERVER_URL>' -- npx -y @ryaker/appstore-connect-mcp@1.0.0
{
"mcpServers": {
"appstore-connect-mcp": {
"command": "npx",
"args": [
"-y",
"@ryaker/appstore-connect-mcp@1.0.0"
],
"env": {
"APPLE_KEY_ID": "<your apple_key_id>",
"APPLE_ISSUER_ID": "<your apple_issuer_id>",
"APPLE_PRIVATE_KEY": "<your apple_private_key>",
"APPLE_BUNDLE_ID": "<APPLE_BUNDLE_ID>",
"APPLE_APP_STORE_ID": "<APPLE_APP_STORE_ID>",
"OAUTH_ENABLED": "<OAUTH_ENABLED>",
"OAUTH_ISSUER": "<OAUTH_ISSUER>",
"OAUTH_AUDIENCE": "<OAUTH_AUDIENCE>",
"OAUTH_JWKS_URI": "<OAUTH_JWKS_URI>",
"SERVER_URL": "<SERVER_URL>"
}
}
}
}
متغيرات البيئة
APPLE_KEY_IDإلزامي سري Apple App Store Connect API Key IDAPPLE_ISSUER_IDإلزامي سري Apple App Store Connect Issuer IDAPPLE_PRIVATE_KEYإلزامي سري Apple App Store Connect Private Key (base64 encoded or raw)APPLE_BUNDLE_IDOptional: Specific Bundle ID to filter appsAPPLE_APP_STORE_IDOptional: Specific App Store IDOAUTH_ENABLEDEnable OAuth authentication (true/false)OAUTH_ISSUEROAuth issuer URL (e.g., https://your-tenant.auth0.com)OAUTH_AUDIENCEOAuth audience URLOAUTH_JWKS_URIOAuth JWKS URI for token validationSERVER_URLServer URL for OAuth deployment
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
🍎 App Store Connect MCP Server
A Model Context Protocol (MCP) server that connects AI assistants like Claude Desktop, Cursor, Windsurf, and VS Code to the Apple App Store Connect API.
Automate TestFlight builds, customer review analysis, app metadata updates, and sales reports directly inside your AI coding workflow.
💡 Quickstart (npx)
No need to clone or build manually! You can run this MCP server directly using npx.
1. Generate App Store Connect API Key
- Log into App Store Connect.
- Navigate to Users and Access ➔ Integrations ➔ App Store Connect API.
- Click Generate API Key (Admin or App Manager role recommended).
- Download the
.p8key file and note your Key ID and Issuer ID.
2. Add to Your MCP Client
🟢 Claude Desktop
Add this to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"appstore-connect": {
"command": "npx",
"args": ["-y", "@ryaker/appstore-connect-mcp"],
"env": {
"APPLE_KEY_ID": "YOUR_KEY_ID",
"APPLE_ISSUER_ID": "YOUR_ISSUER_ID",
"APPLE_PRIVATE_KEY": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----"
}
}
}
}
⚡ Cursor Add this to ~/.cursor/mcp.json or under Cursor Settings ➔ Features ➔ MCP:
{
"mcpServers": {
"appstore-connect": {
"command": "npx",
"args": ["-y", "@ryaker/appstore-connect-mcp"],
"env": {
"APPLE_KEY_ID": "YOUR_KEY_ID",
"APPLE_ISSUER_ID": "YOUR_ISSUER_ID",
"APPLE_PRIVATE_KEY": "YOUR_PRIVATE_KEY_BASE64_OR_RAW"
}
}
}
}
🏄 Windsurf Add this to ~/.codeium/windsurf/mcp_config.json:
JSON
{
"mcpServers": {
"appstore-connect": {
"command": "npx",
"args": ["-y", "@ryaker/appstore-connect-mcp"],
"env": {
"APPLE_KEY_ID": "YOUR_KEY_ID",
"APPLE_ISSUER_ID": "YOUR_ISSUER_ID",
"APPLE_PRIVATE_KEY": "YOUR_PRIVATE_KEY"
}
}
}
}
🛠️ Features 📱 App Management: View apps, query version statuses, edit localizations & release notes.
✈️ TestFlight Integration: List builds, manage beta testing groups, and add/remove beta testers.
💬 Customer Reviews: Read, summarize, and draft responses to user reviews.
📊 Analytics & Sales: Retrieve unit downloads, revenue metrics, and regional performance.
🔐 Dual Auth Support: Supports direct local API Key authentication or remote OAuth 2.0 (via Auth0).
💬 Example Prompts Once configured, try asking your AI assistant:
"Show me the latest TestFlight builds for my app and their processing status."
"What are the most recent 1-star reviews on the App Store and summarize user complaints?"
"Update the release notes for version 1.2.0 in English (US)."
"Give me a summary of app downloads for the past 14 days."
🔑 Environment Variables
| Variable | Required | Description |
|---|---|---|
APPLE_KEY_ID | Yes | Your App Store Connect API Key ID |
APPLE_ISSUER_ID | Yes | Your App Store Connect Issuer ID |
APPLE_PRIVATE_KEY | Yes | Raw PEM content or Base64-encoded string of your .p8 key |
APPLE_BUNDLE_ID | Optional | Restrict tool scope to a specific app bundle ID |
APPLE_APP_STORE_ID | Optional | Restrict tool scope to a specific App Store ID |
OAUTH_ENABLED | Optional | Set true if deploying as a remote server via OAuth 2.0 |
💻 Local Development If you want to contribute or modify the source code locally:
Bash
# 1. Clone repo
git clone [https://github.com/ryaker/appstore-connect-mcp.git](https://github.com/ryaker/appstore-connect-mcp.git)
cd appstore-connect-mcp
# 2. Install & build
npm install
npm run build
# 3. Test locally
npm start
🤝 Contributing & Support Feel free to open an Issue for bug reports, missing App Store Connect endpoints, or feature requests!
License: MIT
الأسئلة الشائعة
ما هو io.github.ryaker/appstore-connect-mcp؟
MCP server for Apple Store Connect API integration with OAuth authentication support
كيف أثبّت io.github.ryaker/appstore-connect-mcp؟
يعمل على جهازك. في Claude Code: claude mcp add appstore-connect-mcp -e 'APPLE_KEY_ID=<your apple_key_id>' -e 'APPLE_ISSUER_ID=<your apple_issuer_id>' -e 'APPLE_PRIVATE_KEY=<your apple_private_key>' -e 'APPLE_BUNDLE_ID=<APPLE_BUNDLE_ID>' -e 'APPLE_APP_STORE_ID=<APPLE_APP_STORE_ID>' -e 'OAUTH_ENABLED=<OAUTH_ENABLED>' -e 'OAUTH_ISSUER=<OAUTH_ISSUER>' -e 'OAUTH_AUDIENCE=<OAUTH_AUDIENCE>' -e 'OAUTH_JWKS_URI=<OAUTH_JWKS_URI>' -e 'SERVER_URL=<SERVER_URL>' -- npx -y @ryaker/appstore-connect-mcp@1.0.0. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج io.github.ryaker/appstore-connect-mcp إلى مفتاح API؟
نعم. يتطلب APPLE_KEY_ID, APPLE_ISSUER_ID, APPLE_PRIVATE_KEY، وتضبطها في إعداداته.
هل io.github.ryaker/appstore-connect-mcp مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص MIT.
من يصون io.github.ryaker/appstore-connect-mcp؟
ينشره ryaker. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.