关于 Appstore Mcp Server
Appstore Mcp Server 是面向 macOS 的 MCP 服务和 CLI,用于研究 App Store 应用、排名、关键词与趋势,适合应用开发者和市场研究人员。它结合排名搜索结果与应用元数据。
主要功能
- 01搜索并筛选 App Store 应用
- 02按 ID 或 URL 查询应用详情
- 03检查关键词排名与竞争情况
- 04查看榜单并发现趋势
- 05支持多种输出格式的 CLI
适用场景
- 01将应用与搜索竞品比较
- 02按店面跟踪关键词排名
- 03查看不同地区的热门榜单
MCP 相关
向 MCP 客户端提供 App Store 搜索、查询、排名、竞品、榜单和趋势工具,并提供店面、类别、搜索属性及榜单类型资源,以及引导式研究提示词。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
App Store MCP 服务
一个用于搜索 App Store、查看关键词排名、分析竞争情况和跟踪趋势的 MCP 服务——由原生 macOS 二进制文件驱动,可快速直接访问 App Store API。
也可作为独立 CLI 工具使用,并支持丰富的输出格式。
要求
- macOS 26+(Apple Silicon)
快速开始
通过 uvx 安装(推荐)
uvx appstore-mcp-server
首次运行时会下载原生二进制文件并启动 MCP 服务。无需持久安装。
通过 pip 安装
pip install appstore-mcp-server
appstore-mcp-server
直接下载二进制文件
从 GitHub Releases 下载最新版本,解压后运行:
tar xzf appstore-*-macos-arm64.tar.gz
./appstore --mcp
MCP 客户端配置
Claude Code
claude mcp add --scope user --transport stdio -- appstore-mcp-server uvx appstore-mcp-server
或者直接使用二进制文件:
claude mcp add --scope user --transport stdio -- appstore-mcp-server /path/to/appstore --mcp
Claude Desktop
将以下内容添加到 Claude Desktop 配置文件(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"appstore-mcp-server": {
"command": "uvx",
"args": ["appstore-mcp-server"]
}
}
}
其他 MCP 客户端
服务通过 stdio 使用标准 MCP 协议进行通信。使用 --mcp 标志运行:
/path/to/appstore --mcp
MCP 工具
| 工具 | 描述 |
|---|---|
search_apps | 使用 iTunes Search API 搜索,并按属性/类别筛选 |
search_ranked | MZStore API——结果与 App Store 实际排名一致 |
lookup_app | 通过 ID、bundle ID 或 App Store URL 查找应用 |
top_charts | 当前排行榜(免费、付费、营收) |
find_app_rank | 查看应用在单个关键词下的排名 |
check_app_rankings | 查看应用在自动生成的多个关键词下的排名(速度较慢) |
analyze_keyword | 竞争分析,并提供竞争程度评分(0-100) |
app_competitors | 通过重叠的搜索结果查找应用的主要竞争对手 |
compare_keywords | 比较多个关键词的竞争程度(速度较慢) |
discover_trending | 根据新上榜的条目发现热门类别 |
version | 获取服务版本 |
大多数工具支持:
storefront—— 两位国家/地区代码(默认:US)。可用于任何 App Store 地区。verbosity—— 控制响应详情和令牌用量:compact(默认)——仅包含关键字段,不含描述。适合大多数查询。full——包含应用描述和发行说明。complete——包含 API 响应中的所有字段。内容较多(约 4KB/应用)。
MCP 资源
| 资源 | URI | 描述 |
|---|---|---|
| 店面 | appstore://storefronts | 所有受支持 App Store 地区的国家/地区代码和名称 |
| 类别 | appstore://genres | App Store 类别的类别 ID 和名称 |
| 搜索属性 | appstore://attributes | 用于细化搜索的可用搜索属性名称 |
| 图表类型 | appstore://chart-types | 查询排行榜时可用的图表类型 |
MCP 提示词
| 提示词 | 描述 |
|---|---|
competitive_analysis | 引导式工作流:查找应用、寻找竞争对手、分析关键词排名并获取可执行的建议。参数:keyword_or_app_id(必需)、storefront(可选)。 |
market_research | 引导式工作流:搜索排名、查看排行榜、分析竞争程度、发现趋势并识别机会。参数:category(必需)、storefront(可选)。 |
CLI 用法
该二进制文件也可作为功能齐全的 CLI 工具使用。不带 --mcp 运行即可交互使用。
命令
| 命令 | 描述 |
|---|---|
search <query> | 搜索 App Store(iTunes Search API) |
scrape <query> | 使用与 App Store 应用相匹配的排名结果进行搜索(MZStore API) |
lookup <id-or-bundle> | 通过 ID、bundle ID 或 URL 查找应用 |
ranks <app-id> | 分析应用的关键词排名 |
analyze <query> | 对排名前 20 的结果进行竞争分析并匹配关键词 |
top <chart-type> | 查看排行榜(免费、付费、营收、新免费、新付费) |
list <type> | 列出店面、类别、属性或图表类型 |
search
使用 iTunes Search API 搜索 App Store。
appstore search "photo editor"
appstore search --limit 5 minecraft
appstore search --storefront JP nintendo
appstore search --attribute softwareDeveloper "Meta Platforms"
appstore search --genre 6014 puzzle # Games category
appstore search --verbosity minimal spotify
appstore search --output-format json spotify
appstore search --unlimited "weather"
主要选项:
| 选项 | 描述 |
|---|---|
--limit <n> | 结果数量(1-200,默认值:200,0 表示不限制) |
--unlimited | 等同于 --limit 0 |
--attribute <attr> | 搜索指定字段:titleTerm、softwareDeveloper、descriptionTerm |
--genre <id> | 按类型 ID 筛选(例如,游戏的 ID 为 6014) |
--storefront <code> | 国家/地区代码(例如,US、JP、GB) |
--output-format <fmt> | text(默认值)、json、raw-json、markdown、html、html-open |
--verbosity <level> | minimal、summary(默认值)、expanded、verbose、complete |
--full-description | 显示完整的应用描述 |
scrape
使用 MZStore API 搜索。结果按 App Store 中的实际排名顺序排列——与用户在 App Store 应用中看到的排名相同。当排名位置很重要时,请使用此命令,而不是 search。
appstore scrape spotify
appstore scrape --limit 10 "photo editor"
appstore scrape --storefront GB twitter
appstore scrape --output-format json instagram
主要选项:
| 选项 | 描述 |
|---|---|
--limit <n> | 结果数量上限(默认值:200) |
--storefront <code> | 国家/地区代码(默认值:US) |
--output-format <fmt> | text(默认值)、json、raw-json、markdown、html |
--verbosity <level> | minimal、summary(默认值)、expanded、verbose、complete |
lookup
通过 ID、Bundle ID 或 App Store URL 查找指定应用。
appstore lookup 284910350 # Numeric = app ID
appstore lookup com.spotify.client # Non-numeric = bundle ID
appstore lookup --ids 284910350,324684580 # Multiple apps
appstore lookup --url "https://apps.apple.com/us/app/yelp/id284910350"
appstore lookup 284910350 --storefront JP
appstore lookup com.facebook.Facebook --output-format json
主要选项:
| 选项 | 描述 |
|---|---|
--id <id> | 通过应用 ID 查找 |
--ids <id1,id2,...> | 查找多个应用(以逗号分隔) |
--bundle-id <bundle> | 通过 Bundle 标识符查找 |
--url <url> | 通过 App Store URL 查找 |
--storefront <code> | 国家/地区代码(默认值:US) |
--output-format <fmt> | text、json、raw-json、markdown、html |
--verbosity <level> | minimal、summary(默认值)、expanded、verbose、complete |
ranks
分析应用的关键词排名。根据应用名称、副标题和描述自动生成关键词,然后检查应用在每个关键词下的排名。如有可用,将使用设备端 AI(Apple Intelligence)生成更多关键词。
appstore ranks 324684580 # Analyze Spotify's rankings
appstore ranks 284910350 --limit 30 # Test 30 keywords for Yelp
appstore ranks 544007664 --storefront GB # UK store rankings
主要选项:
| 选项 | 描述 |
|---|---|
--limit <n> | 要测试的关键词数量上限(默认值:测试所有生成的关键词) |
--storefront <code> | 国家/地区代码(默认值:US) |
--verbosity <level> | minimal、summary(默认值)、expanded、verbose、complete |
此命令会按顺序发起多次 API 调用,可能需要 30-120 秒。
analyze
使用竞争指标分析某个关键词的前 20 个搜索结果。输出 CSV,其中包含匹配分数、评分增长速度、应用年龄和竞争力摘要。
appstore analyze "cat toy"
appstore analyze --storefront GB "photo editor"
appstore analyze "music player" > results.csv
**CSV 列:**应用 ID、评分、评分数、首次发布、最新版本发布、应用年龄(天)、更新时效(天)、标题匹配分数、描述匹配分数、日均评分数、标题、类型、版本、最低 iOS 版本、年龄分级。
主要选项:
| 选项 | 描述 |
|---|---|
--storefront <code> | 国家/地区代码(默认值:US) |
top
查看 App Store 排行榜。
appstore top free # Top free apps (US)
appstore top paid --limit 10 # Top 10 paid apps
appstore top grossing --storefront JP # Top grossing in Japan
appstore top paid --genre 6014 # Top paid games
appstore top newfree --output-format json # New free apps as JSON
排行榜类型:free、paid、grossing、newfree、newpaid
主要选项:
| 选项 | 描述 |
|---|---|
--limit <n> | 结果数量(1-200,默认值:25) |
--genre <id> | 按类型 ID 筛选 |
--storefront <code> | 国家/地区代码(默认值:US) |
--output-format <fmt> | text、json、raw-json、markdown、html |
--verbosity <level> | minimal、summary(默认值)、expanded、verbose、complete |
list
列出可用的店面、类型、属性或排行榜类型。
appstore list storefronts # All country codes
appstore list genres # All genre IDs
appstore list attributes # Search attributes
appstore list charttypes # Chart types
appstore list storefronts --output-format json
别名:storefront/storefronts/country/countries、genre/genres/category/categories、attribute/attributes、charttype/charttypes/chart/charts。
常用选项
大多数命令均支持以下选项:
| 选项 | 描述 |
|---|---|
--storefront <code> | App Store 国家/地区(US、JP、GB、FR 等) |
--country <code> | --storefront 的别名 |
--language <code> | 结果语言(默认:en_us) |
--output-format <fmt> | 输出格式(见下文) |
--verbosity <level> | 详细程度(见下文) |
--show-request | 显示 HTTP 请求详情 |
--show-response-headers | 显示 HTTP 响应标头 |
-o, --output-file <path> | 将输出写入文件 |
-i, --input-file <path> | 从文件读取缓存的 JSON |
--help, -h | 显示任意命令的帮助信息 |
输出格式: text(默认)、json、raw-json、markdown、html、html-open(在浏览器中打开)。
详细程度:
| 级别 | 描述 |
|---|---|
minimal | 每个应用占一行 |
summary | 关键详情(默认) |
expanded | 添加评分、大小和版本 |
verbose | 添加 URL、语言和功能 |
complete | 所有可用字段 |
从源代码构建
git clone https://github.com/drewster99/appstore-mcp-server.git
cd appstore-mcp-server
在 Xcode 中打开 appstore.xcodeproj 并构建(Product > Build),或运行:
xcodebuild build \
-project appstore.xcodeproj \
-scheme appstore \
-configuration Release \
-destination 'platform=macOS,arch=arm64'
二进制文件位于 DerivedData 构建产品目录中。运行 ./appstore --mcp 可作为 MCP 服务运行,或运行 ./appstore <command> 作为 CLI 使用。
架构
该服务使用两种不同的 Apple API:
- MZStore API — 按 App Store 中的实际排名顺序返回应用。用于
search_ranked、find_app_rank、check_app_rankings、analyze_keyword、app_competitors、compare_keywords(以及 CLI 的scrape、ranks、analyze)。 - iTunes Search/Lookup API & RSS — 返回完整的应用元数据和榜单数据。用于
search_apps、lookup_app、top_charts、discover_trending(以及 CLI 的search、lookup、top)。
对于对排名敏感的操作,MZStore API 会先获取已排名的应用 ID,然后由 iTunes Lookup API 补充完整详情。实现详情请参阅 CLAUDE.md。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。