Astro MCP服务器
MCP(模型上下文协议)服务器,提供对以下内容的访问 星的 LLM的ASO(应用商店优化)数据。
需求
- 星的
- 支持MCP的工具(Claude Desktop、Claude Code等)
特性
此MCP服务器提供以下工具用于查询Astro的ASO数据库:
可用工具
- 搜索_排名 -搜索应用程序的当前关键字排名
- 了解应用程序对特定关键字的排名 - 按应用商店筛选(美国、英国等) - 按应用名称或应用ID筛选
- 历史排名 -获取历史排名数据
- 跟踪排名随时间的变化 - 可配置的时间段(默认值:30天) - 按应用和商店筛选
- list_apps -列出所有跟踪的应用程序
- 显示应用程序名称、ID、平台 - 包括每个应用程序的关键字计数
- 获取_应用_关键字 -获取特定应用程序的所有关键字
- 显示当前和以前的排名 - 包括难度和受欢迎程度得分 - 显示排名变化 - 接受应用程序名称或应用程序ID
- get_keyword_trends -分析排名趋势
- 统计分析(平均值、最小值、最大值、波动率) - 趋势检测(改善/下降/稳定) - 可配置时段(周/月/年/全部)
- 比较排名 -比较日期之间的排名
- 查找两个特定日期之间的排名变化 - 计算百分比变化
- 获取app_ratings -获取应用评级历史记录
- 跟踪评级随时间的变化 - 显示用户评分计数 - 接受应用程序名称或应用程序ID
- 获取关键字_竞争对手 -获取真正的App Store竞争对手的关键字
- 显示App Store数据中的实际竞争对手应用程序及其应用程序类别 - 基于真实App Store搜索结果的排名 - 具有自动数据聚合功能的多商店支持 - 可配置的参赛人数限制
- 获取关键字推荐 -获取关键字推荐
- 根据现有跟踪数据建议相关关键字 - 帮助发现新的关键字机会 - 模糊匹配用于更广泛的关键字发现
- 分析竞争性景观 -全面的竞争分析
- 通过应用程序类别识别所有跟踪关键字中的顶级竞争对手 - 计算市场份额指标(前10/25/50排名) - 显示竞争对手的主导地位得分和共享关键字 - 评估竞争强度水平 - 可配置的参赛人数限制
- 计算关键字机会 -查找关键字机会
- 识别竞争激烈的高机会关键字 - 结合流行度、难度和竞争指标 - 目标机会发现的可配置阈值 - 为每个机会得分提供推理
- 检测评级异常 -检测不寻常的排名变化
- 识别排名的突然下降、上升和波动性飙升 - 提供有关时间和先前排名的上下文 - 对异常严重程度进行分类(低/中/高/严重) - 包括对排名变化的解释
- 预测风险趋势 -预测未来的排名走势
- 使用线性回归预测排名轨迹 - 提供信心评分和趋势方向 - 根据历史数据估计未来的排名位置 - 显示用于预测的方法和数据点
- 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从源头构建
- 克隆存储库
- 安装依赖项:
npm install - 构建项目:
npm run build - 在开发模式下运行:
npm run dev
向NPM发布
- 更新版本
package.json - 更新中的作者和存储库URL
package.json - 运行:
npm publish(仅通过预发布自动构建)
贡献
欢迎投稿!请随时提交拉取请求。
许可证
麻省理工学院-参见 许可证 详细信息文件
故障排除
常见问题
- “找不到数据库”错误
- 确保Astro已安装并至少运行过一次 - 检查数据库路径是否存在
- “权限被拒绝”错误
- 服务器需要读取Astro的数据库 - 检查SQLite数据库的文件权限
- Node.js兼容性
- 确保你使用的是Node.js 18或更高版本 - 服务器使用sql.js(纯JavaScript),因此不需要编译本机模块 - 这消除了better squelite3中常见的NODE_MODULE_VERSION错误
- 未返回数据或数据过时
- 确保Astro已收集关键字跟踪数据 - 检查您是否使用了正确的应用程序名称或ID - 验证存储参数(默认值为“us”) - 检测到更改时,服务器会自动重新加载数据库 - 对于WAL模式数据库,最近的更改会通过检查点自动合并
支持
对于问题或疑问,请在GitHub上打开问题。
______________________________________________________________________
