应用商店优化数据服务器

Astro MCP Server是一个提供应用商店优化(ASO)数据访问的服务器,支持关键词排名查询、历史数据分析、竞争情报获取等功能,适用于应用开发者和市场分析人员。

  • by TimBroddin
  • JavaScript
  • 本地部署
  • 33 星标
  • 更新于
在 GitHub 查看 TimBroddin/astro-mcp-server

使用说明

Astro MCP服务器

MCP(模型上下文协议)服务器,提供对以下内容的访问 星的 LLM的ASO(应用商店优化)数据。

需求

  • 星的
  • 支持MCP的工具(Claude Desktop、Claude Code等)

特性

此MCP服务器提供以下工具用于查询Astro的ASO数据库:

可用工具

  1. 搜索_排名 -搜索应用程序的当前关键字排名

    • 了解应用程序对特定关键字的排名
    • 按应用商店筛选(美国、英国等)
    • 按应用名称或应用ID筛选
  2. 历史排名 -获取历史排名数据

    • 跟踪排名随时间的变化
    • 可配置的时间段(默认值:30天)
    • 按应用和商店筛选
  3. list_apps -列出所有跟踪的应用程序

    • 显示应用程序名称、ID、平台
    • 包括每个应用程序的关键字计数
  4. 获取_应用_关键字 -获取特定应用程序的所有关键字

    • 显示当前和以前的排名
    • 包括难度和受欢迎程度得分
    • 显示排名变化
    • 接受应用程序名称或应用程序ID
  5. get_keyword_trends -分析排名趋势

    • 统计分析(平均值、最小值、最大值、波动率)
    • 趋势检测(改善/下降/稳定)
    • 可配置时段(周/月/年/全部)
  6. 比较排名 -比较日期之间的排名

    • 查找两个特定日期之间的排名变化
    • 计算百分比变化
  7. 获取app_ratings -获取应用评级历史记录

    • 跟踪评级随时间的变化
    • 显示用户评分计数
    • 接受应用程序名称或应用程序ID
  8. 获取关键字_竞争对手 -获取真正的App Store竞争对手的关键字

    • 显示App Store数据中的实际竞争对手应用程序及其应用程序类别
    • 基于真实App Store搜索结果的排名
    • 具有自动数据聚合功能的多商店支持
    • 可配置的参赛人数限制
  9. 获取关键字推荐 -获取关键字推荐

    • 根据现有跟踪数据建议相关关键字
    • 帮助发现新的关键字机会
    • 模糊匹配用于更广泛的关键字发现
  10. 分析竞争性景观 -全面的竞争分析

    • 通过应用程序类别识别所有跟踪关键字中的顶级竞争对手
    • 计算市场份额指标(前10/25/50排名)
    • 显示竞争对手的主导地位得分和共享关键字
    • 评估竞争强度水平
    • 可配置的参赛人数限制
  11. 计算关键字机会 -查找关键字机会

    • 识别竞争激烈的高机会关键字
    • 结合流行度、难度和竞争指标
    • 目标机会发现的可配置阈值
    • 为每个机会得分提供推理
  12. 检测评级异常 -检测不寻常的排名变化

    • 识别排名的突然下降、上升和波动性飙升
    • 提供有关时间和先前排名的上下文
    • 对异常严重程度进行分类(低/中/高/严重)
    • 包括对排名变化的解释
  13. 预测风险趋势 -预测未来的排名走势

    • 使用线性回归预测排名轨迹
    • 提供信心评分和趋势方向
    • 根据历史数据估计未来的排名位置
    • 显示用于预测的方法和数据点
  14. find_low_competition_keywords -发现未充分利用的关键字

    • 查找竞争分数低的关键字
    • 平衡难度与受欢迎程度,以实现最佳定位
    • 帮助识别利基市场机会
    • 用于精确过滤的可配置参数

安装

先决条件

  • 星的 应用程序必须安装在Mac上,并在其数据库中包含数据
  • Node.js 18+必填
    # Check your Node version
    node --version
    

与Claude一起使用

克劳德代码(推荐)

使用此MCP服务器的最简单方法是使用Claude Code:

# Install from NPM
claude mcp add -s user -t stdio astro -- npx -y astro-mcp-server

# If npx is using the wrong Node version (common with nvm), use the full path:
claude mcp add -s user -t stdio astro -- $(which npx) -y astro-mcp-server

# Or for local/source installation (after building):
claude mcp add -s user -t stdio astro -- node /path/to/astro-mcp-server/dist/index.js

克劳德桌面

将以下内容添加到您的Claude Desktop配置中:

对于NPM安装:

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "astro-aso": {
      "command": "npx",
      "args": ["-y", "astro-mcp-server"]
    }
  }
}

对于本地/源安装:

首先构建项目:

cd /path/to/astro-mcp-server
npm run build

然后添加到Claude Desktop配置中:

{
  "mcpServers": {
    "astro-aso": {
      "command": "node",
      "args": ["/path/to/astro-mcp-server/dist/index.js"]
    }
  }
}

独立运行

您还可以独立运行服务器进行测试:

# If installed globally
astro-mcp-server

# Or run with npx
npx astro-mcp-server

# Or from source (after building)
npm run build
npm start

# Or for development with auto-reload
npm run dev

与MCP检查器一起使用

使用MCP检查器测试服务器:

# For NPM installation
npx @modelcontextprotocol/inspector npx astro-mcp-server

# For local installation (after building)
npx @modelcontextprotocol/inspector node /path/to/dist/index.js

查询示例

一旦连接到Claude(通过Claude Code或Claude Desktop),您可以提出以下问题:

基本查询:

  • “使用Astro MCP显示美国商店中关键字‘生产力’的当前排名”
  • “使用Astro MCP向我展示上个月‘任务管理器’的排名趋势”
  • “使用Astro MCP列出所有被跟踪的应用程序”
  • “使用Astro MCP显示应用程序'Things 3'排名的关键字”
  • “使用Astro MCP比较上周和今天的‘笔记’排名”
  • “使用Astro MCP向我显示应用程序ID 1234567890的评级历史记录”

高级竞争情报:

  • “使用Astro MCP向我展示关键字‘冥想’的真正的App Store竞争对手及其类别”
  • “使用Astro MCP分析我的应用程序在生产力领域的竞争格局,显示前15名竞争对手”
  • “使用Astro MCP寻找竞争激烈、受欢迎程度高的关键字机会”
  • “使用Astro MCP检测本周我的应用程序性能中的任何排名异常”
  • “使用Astro MCP预测我的‘todo app’关键字下个月的排名”
  • “使用Astro MCP查找我应该为我的健康应用程序定位的低竞争关键词”
  • “使用Astro MCP根据我当前的‘健身’关键字获取关键字推荐”

数据库要求

服务器需要读取Astro的SQLite数据库,通常位于:

~/Library/Containers/matteospada.it.ASO/Data/Library/Application Support/Astro/Model.sqlite

确保Astro至少运行过一次,并在使用此服务器之前收集了一些数据。

技术细节

  • 运行时:Node.js 18+
  • 数据库:通过sql.js实现SQLite(JavaScript实现,无需本机编译)
  • 数据库加载:自动检测和重新加载数据库更改,包括具有检查点强制的WAL模式支持
  • 协议:通过stdio的MCP(模型上下文协议)
  • TypeScript:编译为JavaScript以供分发
  • 日期处理:将核心数据时间戳转换为ISO格式
  • 应用程序标识:支持应用程序名称(部分匹配)和应用程序ID(完全匹配)
  • WAL模式支持:通过强制检查点合并最近的更改,自动处理预写日志模式数据库

数据库模式

服务器从Astro数据库中的这些主表中读取:

  • ZAPPLICATION -应用程序信息
  • ZKEYWORD -关键词和当前排名
  • ZDATAPOINT -历史排名数据点
  • ZBINARYDATA -真实的App Store竞争对手数据(JSON格式)
  • ZRATING -应用程序评级
  • ZRATINGDATAPOINT -历史评级数据

发展

项目结构

astro-mcp-server/
├── src/
│   ├── index.ts      # Main server implementation
│   └── types.ts      # TypeScript type definitions
├── package.json      # Dependencies
├── tsconfig.json     # TypeScript config
├── mcp.json         # MCP configuration
└── README.md        # This file

从源头构建

  1. 克隆存储库
  2. 安装依赖项: npm install
  3. 构建项目: npm run build
  4. 在开发模式下运行: npm run dev

向NPM发布

  1. 更新版本 package.json
  2. 更新中的作者和存储库URL package.json
  3. 运行: npm publish (仅通过预发布自动构建)

贡献

欢迎投稿!请随时提交拉取请求。

许可证

麻省理工学院-参见 许可证 详细信息文件

故障排除

常见问题

  1. “找不到数据库”错误

    • 确保Astro已安装并至少运行过一次
    • 检查数据库路径是否存在
  2. “权限被拒绝”错误

    • 服务器需要读取Astro的数据库
    • 检查SQLite数据库的文件权限
  3. Node.js兼容性

    • 确保你使用的是Node.js 18或更高版本
    • 服务器使用sql.js(纯JavaScript),因此不需要编译本机模块
    • 这消除了better squelite3中常见的NODE_MODULE_VERSION错误
  4. 未返回数据或数据过时

    • 确保Astro已收集关键字跟踪数据
    • 检查您是否使用了正确的应用程序名称或ID
    • 验证存储参数(默认值为“us”)
    • 检测到更改时,服务器会自动重新加载数据库
    • 对于WAL模式数据库,最近的更改会通过检查点自动合并

支持

对于问题或疑问,请在GitHub上打开问题。


这个项目与❤️ 靠近 蒂姆·布罗德丁 -可供租用 工业巨头