App Store连接MCP服务器
模型上下文协议(MCP)服务器,用于与应用商店连接API交互。此服务器提供用于管理app Store Connect中的应用程序、测试人员、捆绑ID、设备、应用程序元数据和功能的工具。

概述
App Store Connect MCP服务器是一个全面的工具,弥合了人工智能和苹果App Store Connect生态系统之间的差距。该服务器基于模型上下文协议(MCP)构建,使开发人员能够通过对话式人工智能直接与他们的App Store Connect数据进行交互,使应用管理、测试和分析比以往任何时候都更容易访问。
主要优势:
- 🤖 AI驱动的应用程序管理:使用自然语言管理您的iOS和macOS应用程序
- 📊 综合分析:访问详细的应用程序性能、销售和用户参与度数据
- 👥 简化Beta测试:高效管理测试组和测试人员
- 🌍 本地化管理:更新所有语言的应用程序描述、关键字和元数据
- 🔧 开发人员工具集成:列出Xcode项目方案并与开发工作流集成
- 🔐 安全认证:使用官方App Store Connect API和JWT身份验证
- 🚀 实时数据:直接从Apple的系统访问最新信息
这是给谁的:
- iOS/macOS开发人员在App Store Connect中管理应用程序
- 开发团队协调beta测试项目
- 产品经理分析应用程序性能和用户参与度
- 管理应用元数据和本地化的营销团队
- DevOps工程师自动化应用商店工作流程
- 任何希望简化苹果开发者体验的人
此服务器将复杂的App Store Connect操作转换为简单的对话命令,无论您是在检查应用程序分析、管理beta测试人员、更新应用程序描述,还是探索您的开发管道。
](https://mseep.ai/app/joshuarileydev-app-store-connect-mcp-server)
特性
- 应用程序管理
- 列出所有应用程序 - 获取详细的应用程序信息 - 查看应用元数据和关系
- Beta Testing
- 列出测试组 - 列出测试人员 - 在组中添加/删除测试人员 - 管理beta测试配置 - 查看带有屏幕截图和设备信息的测试版反馈
- 应用商店版本本地化 ✨ 新
- 使用发布计划创建新的应用商店版本 - 列出应用程序的所有应用商店版本 - 列出应用程序版本的所有本地化 - 获取特定的本地化详细信息 - 更新应用程序描述、关键字和促销文本 - 管理营销和支持URL - 更新发布的“最新动态”文本
- 捆绑ID管理
- 列出捆绑包ID - 创建新的捆绑包ID - 获取捆绑包ID详细信息 - 启用/禁用功能
- 设备管理
- 列出已注册的设备 - 按设备类型、平台、状态筛选 - 查看设备详细信息
- 用户管理
- 列出团队成员 - 查看用户角色和权限 - 按角色和访问权限筛选用户
- 分析和报告
- 为应用程序创建分析报告请求 - 下载App Store参与度、商务和使用分析 - 访问性能和框架使用情况报告 - 下载销售和趋势报告(每日、每周、每月、每年) - 按地区下载财务报告
- Xcode开发工具
- 列出Xcode项目和工作区中的可用方案 - 与开发工作流程和CI/CD管道集成
安装
使用Smithery
要自动安装Claude Desktop的App Store Connect服务器,请执行以下操作:
npx @smithery/cli install appstore-connect-mcp-server --client claude手动安装
npm install @joshuarileydev/app-store-connect-mcp-server配置
将以下内容添加到您的Claude Desktop配置文件中:
macOS
~/Library/Application Support/Claude/claude_desktop_config.json视窗
%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": {
"app-store-connect": {
"command": "npx",
"args": [
"-y",
"appstore-connect-mcp-server"
],
"env": {
"APP_STORE_CONNECT_KEY_ID": "YOUR_KEY_ID",
"APP_STORE_CONNECT_ISSUER_ID": "YOUR_ISSUER_ID",
"APP_STORE_CONNECT_P8_PATH": "/path/to/your/auth-key.p8",
"APP_STORE_CONNECT_VENDOR_NUMBER": "YOUR_VENDOR_NUMBER_OPTIONAL"
}
}
}
}认证
所需配置
- 从生成App Store Connect API密钥 应用商店连接
- 下载.p8私钥文件
- 记下您的密钥ID和发卡机构ID
- 在配置中设置所需的环境变量:
- APP_STORE_CONNECT_KEY_ID:您的API密钥ID - APP_STORE_CONNECT_ISSUER_ID:您的发卡机构ID - APP_STORE_CONNECT_P8_PATH:.p8私钥文件的路径
销售和财务报告的可选配置
要启用销售和财务报告工具,您还需要:
APP_STORE_CONNECT_VENDOR_NUMBER:您在App Store Connect上的供应商编号
备注:销售和财务报告工具(download_sales_report, download_finance_report)仅当配置了供应商编号时才可用。您可以在App Store Connect的“销售和趋势”或“付款和财务报告”下找到您的供应商编号。
完整的工具参考
📱 应用管理工具
list_apps
获取App Store Connect中所有应用程序的列表。
参数:
limit(可选):要返回的最大应用程序数(默认值:100,最大值:200)bundleId(可选):按捆绑标识符筛选
例子:
"List all my apps"
"Show me apps with bundle ID com.example.myapp"
"Get the first 50 apps"get_app_info
获取特定应用程序的详细信息。
参数:
appId(必填):应用程序的IDinclude(可选):要包含的相关资源(例如appClips、appInfos、appStoreVersions、betaGroup、内部版本)
例子:
"Get info for app ID 123456789"
"Show me app 123456789 with beta groups and builds"
"Get detailed information about my app including app store versions"👥 Beta测试工具
list_beta_groups
列出所有测试组(内部和外部)。
参数:
limit(可选):返回的最大组数(默认值:100,最大值:200)appId(可选):按应用ID筛选
例子:
"Show all beta groups"
"List beta groups for app 123456789"
"Get the first 20 beta groups"list_group_testers
列出特定测试组中的测试人员。
参数:
groupId(必填):测试组的IDlimit(可选):要返回的测试人员的最大数量(默认值:100,最大值:200)
例子:
"List all testers in group ABC123"
"Show me the first 50 testers in beta group ABC123"add_tester_to_group
将新测试人员添加到测试组。
参数:
groupId(必填):测试组的IDemail(必填):测试人员的电子邮件地址firstName(可选):测试人员的名字lastName(可选):测试人员的姓氏
例子:
"Add john@example.com to beta group ABC123"
"Add John Smith (john@example.com) to group ABC123"remove_tester_from_group
从测试组中删除测试人员。
参数:
groupId(必填):测试组的IDtesterId(必填):测试人员的ID
例子:
"Remove tester XYZ789 from group ABC123"
"Delete tester XYZ789 from beta group ABC123"list_beta_feedback_screenshots
列出测试版反馈屏幕截图提交。
参数:
appId(可选):按应用ID筛选bundleId(可选):按捆绑标识符筛选buildId(可选):按构建ID筛选limit(可选):最大结果(默认值:100)includeBuilds(可选):包括构建信息includeTesters(可选):包括测试仪信息
例子:
"Show beta feedback screenshots for app 123456789"
"List feedback screenshots for bundle ID com.example.app"
"Get feedback with tester info for build XYZ"get_beta_feedback_screenshot
获取有关特定测试版反馈屏幕截图的详细信息。
参数:
feedbackId(必填):反馈的IDincludeBuilds(可选):包括构建信息includeTesters(可选):包括测试仪信息downloadScreenshot(可选):下载截图图像(默认值:true)
例子:
"Get feedback screenshot FEEDBACK123"
"Show me feedback FEEDBACK123 with tester details"
"Download screenshot from feedback FEEDBACK123"🌍 App Store版本本地化工具
create_app_store_version
为应用创建新的应用商店版本。
参数:
appId(必填):应用程序的IDplatform(必填):平台(IOS、MAC_OS、TV_OS、VISION_OS)versionString(必填):格式为X.Y或X.Y.Z的版本字符串(例如“1.0”或“1.0.0”)copyright(可选):此版本的版权文本releaseType(可选):应用程序应如何发布(手动、事后批准、计划)earliestReleaseDate(可选):ISO 8601日期字符串(当releaseType为SCHEDULED时需要)buildId(可选):与此版本关联的版本ID
例子:
"Create iOS version 2.0.0 for app 123456789"
"Create macOS version 1.5.0 for app 123456789 with manual release"
"Create scheduled iOS version 2.1.0 for app 123456789 releasing on 2024-02-01"
"Create version 1.2.0 for app 123456789 with build BUILD456 and copyright '2024 My Company'"list_app_store_versions
获取特定应用的所有应用商店版本。
参数:
appId(必填):应用程序的IDlimit(可选):要返回的最大版本数(默认值:100,最大值:200)filter(可选):过滤器选项
- platform:按平台筛选(IOS、MAC_OS、TV_OS) - versionString:按版本字符串筛选(例如“1.0.0”) - appStoreState:按状态筛选(例如,READY_FOR_SALE、PREPARE_FOR_SUBMISSION)
例子:
"List all versions for app 123456789"
"Show iOS versions for app 123456789"
"Find version 2.0.0 for app 123456789"
"List versions in review for app 123456789"list_app_store_version_localizations
获取特定应用商店版本的所有本地化。
参数:
appStoreVersionId(必填):应用商店版本的IDlimit(可选):最大本地化次数(默认值:100,最大值:200)
例子:
"List all localizations for app version VERSION123"
"Show me language versions for app store version VERSION123"get_app_store_version_localization
获取特定本地化的详细信息。
参数:
localizationId(必填):本地化的ID
例子:
"Get localization details for LOCALE123"
"Show me the French localization LOCALE123"update_app_store_version_localization
更新应用商店版本本地化中的特定字段。
参数:
localizationId(必填):本地化的IDfield(必填):要更新的字段(描述、关键字、营销URL、促销文本、支持URL、新增内容)value(必填):字段的新值
例子:
"Update description for localization LOCALE123 to 'Amazing new app description'"
"Change keywords for LOCALE123 to 'productivity, tasks, organize'"
"Update what's new text for LOCALE123 to 'Bug fixes and performance improvements'"🔤 捆绑ID管理工具
create_bundle_id
注册新的捆绑包ID以进行应用程序开发。
参数:
identifier(必填):捆绑包ID字符串(例如,“com.example.app”)name(必填):捆绑包ID的名称platform(必填):平台(IOS、MAC_OS或UNIVERSAL)seedId(可选):您团队的种子ID
例子:
"Create bundle ID com.mycompany.newapp for iOS named 'My New App'"
"Register universal bundle ID com.example.app called 'Example App'"list_bundle_ids
查找并列出注册到您团队的捆绑包ID。
参数:
limit(可选):最大结果(默认值:100,最大值:200)sort(可选):排序顺序(名称、-名称、平台、-平台、标识符、-标识符)filter(可选):按标识符、名称、平台或种子ID筛选include(可选):包括相关资源(配置文件、bundleIdCapabilities、应用程序)
例子:
"List all bundle IDs"
"Show iOS bundle IDs sorted by name"
"Find bundle IDs containing 'example'"get_bundle_id_info
获取特定捆绑包ID的详细信息。
参数:
bundleIdId(必填):捆绑ID的IDinclude(可选):要包括的相关资源fields(可选):要包含的特定字段
例子:
"Get info for bundle ID BUNDLE123"
"Show bundle ID BUNDLE123 with capabilities"enable_bundle_capability
启用捆绑包ID的功能。
参数:
bundleIdId(必填):捆绑ID的IDcapabilityType(必填):功能类型(例如,推送通知、ICLOUD、游戏中心)settings(可选):特定功能设置
例子:
"Enable push notifications for bundle ID BUNDLE123"
"Add iCloud capability to bundle BUNDLE123"
"Enable Game Center for bundle ID BUNDLE123"disable_bundle_capability
禁用捆绑包ID的功能。
参数:
capabilityId(必填):禁用功能的ID
例子:
"Disable capability CAP123"
"Remove capability CAP123 from bundle ID"📱 设备管理工具
list_devices
获取已注册到您团队的所有设备的列表。
参数:
limit(可选):最大结果(默认值:100,最大值:200)sort(可选):排序顺序(名称、平台、状态、udid、deviceClass、型号、addedDate)filter(可选):按名称、平台、状态、udid或deviceClass筛选fields(可选):要包含的特定字段
例子:
"List all devices"
"Show enabled iOS devices"
"Find devices with name containing 'John'"
"List iPhones sorted by date added"👤 用户管理工具
list_users
获取您的App Store Connect团队中的所有用户列表。
参数:
limit(可选):最大结果(默认值:100,最大值:200)sort(可选):排序顺序(用户名、名字、姓氏、角色)filter(可选):按用户名或角色筛选fields(可选):要包含的特定字段include(可选):包括可见应用程序关系
例子:
"List all team members"
"Show users with admin role"
"Find developers sorted by last name"
"List users with their visible apps"📊 分析和报告工具
create_analytics_report_request
为应用程序创建新的分析报告请求。
参数:
appId(必填):应用程序IDaccessType(必填):分析类型(ONGOING或ONE_TIME_SNAPSHOT)frequency(可选):正在进行的报告的报告频率(每日、每周、每月)startDate(可选):开始日期(YYYY-MM-DD)endDate(可选):结束日期(YYYY-MM-DD)
例子:
"Create daily analytics report for app 123456789"
"Generate one-time snapshot report for app 123456789 from 2024-01-01 to 2024-01-31"list_analytics_reports
获取请求的可用分析报告。
参数:
reportRequestId(必填):报告请求IDlimit(可选):最大结果(默认值:100,最大值:200)filter(可选):按类别、名称或日期筛选
例子:
"List reports for request REQ123"
"Show app usage reports for request REQ123"list_analytics_report_segments
获取特定分析报告的细分。
参数:
reportId(必填):分析报告IDlimit(可选):最大结果(默认值:100,最大值:200)
例子:
"List segments for report REPORT123"
"Get download URLs for report REPORT123"download_analytics_report_segment
从分析报告段下载数据。
参数:
url(必填):分段下载URL
例子:
"Download data from https://api.appstoreconnect.apple.com/..."💰 销售和财务报告工具(需要供应商编号)
download_sales_report
下载销售和趋势报告。
参数:
frequency(必填):报告频率(每日、每周、每月、每年)reportDate(必填):日期格式正确reportType(必填):报告类型(销售、订阅、订阅_事件、订阅人、新天地、预购)reportSubType(必填):总结或详细vendorNumber(可选):覆盖默认供应商编号version(可选):报告版本(默认:1_0)
例子:
"Download daily sales summary for 2024-01-15"
"Get monthly subscription detailed report for 2024-01"
"Download yearly sales summary for 2023"download_finance_report
下载特定地区的财务报告。
参数:
reportDate(必填):报告日期(YYYY-MM)regionCode(必填):地区代码(例如,“Z1”代表全球)vendorNumber(可选):覆盖默认供应商编号
例子:
"Download finance report for January 2024 worldwide"
"Get finance report for 2024-01 region Z1"🔧 Xcode开发工具
list_schemes
列出Xcode项目或工作区中的所有可用方案。
参数:
projectPath(必需):.xcodeproj或.xcworkspace文件的路径
例子:
"List schemes in /Users/john/MyApp/MyApp.xcodeproj"
"Show available schemes for MyApp.xcworkspace"错误处理
服务器为以下对象实现了正确的错误处理:
- 身份验证无效
- 缺少必要参数
- API费率限制
- 网络问题
- 无效操作
发展
# Install dependencies
npm install
# Build the project
npm run build
# Run tests
npm test
# Run type checking
npm run type-check许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
