AppDataLayer MCP Server
An app intelligence query engine that enables analysis of over 1 billion reviews from Google Play and the Apple App Store. It provides tools for sentiment analysis, keyword rankings, competitive comparisons, and time-series forecasting across 250,000+ apps.
README
appdatalayer-mcp
Open-source TypeScript SDK for the AppDataLayer MCP Server — the App Intelligence Query Engine powered by the Model Context Protocol.
Analyze 1B+ app reviews across Google Play and the Apple App Store. Semantic topic search, sentiment analysis, keyword rankings, competitive analysis, and time-series forecasting — all through a single typed API.
Installation
npm install appdatalayer-mcp
Quick Start
As a TypeScript/JavaScript SDK
import { AppDataLayerClient } from "appdatalayer-mcp";
const client = new AppDataLayerClient({ apiKey: "sk_live_..." });
// Get app metadata
const app = await client.getAppOverview("com.instagram.android");
console.log(app.data?.title, app.data?.score);
// Analyze review sentiment
const reviews = await client.analyzeReviews({
app_id: "com.spotify.music",
dimensions: ["sentiment", "topic"],
days: 30,
});
// Semantic topic search
const topics = await client.searchTopics("crashes and bugs");
// Compare apps head-to-head
const comparison = await client.compareApps({
app_ids: ["com.spotify.music", "com.apple.music"],
});
// Forecast review volume
const forecast = await client.forecastMetric({
series: [100, 120, 115, 130, 128, 145, 142, 160, 155, 170],
horizon: 7,
});
await client.disconnect();
As an MCP Server for LLM Agents
Use AppDataLayer directly in Claude Desktop, Cursor, Windsurf, or any MCP-compatible AI agent:
import { generateMcpConfig } from "appdatalayer-mcp";
const config = generateMcpConfig("sk_live_...");
console.log(JSON.stringify(config, null, 2));
Paste the output into your agent's config file:
| Client | Config File |
|---|---|
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Cursor | .cursor/mcp.json |
| Windsurf | ~/.windsurf/mcp.json |
| VS Code | .vscode/mcp.json |
Generated config:
{
"mcpServers": {
"appdatalayer": {
"url": "https://mcp.appdatalayer.com/mcp",
"headers": {
"APPDATALAYER_API_KEY": "sk_live_..."
}
}
}
}
Available Tools
The SDK provides typed methods for all 22 MCP tools:
Data Querying
| Method | Description |
|---|---|
getAppOverview(appId) |
App metadata: title, developer, score, installs, rating histogram |
analyzeReviews(input) |
Aggregate reviews by day/week/month/sentiment/country/score/topic |
getKeywordRankings(input) |
Track app ranking for a search keyword over time |
getTopCharts(input?) |
Latest top charts (free, paid, grossing, new) |
getSimilarApps(appId) |
Apps similar/related to a given app |
getSearchSuggestions(input) |
Autocomplete suggestions from app stores |
getGlobalStats() |
Platform totals: apps tracked, reviews count |
getReviewsByTopics(input) |
Actual review text filtered by topic IDs |
compareApps(input) |
Head-to-head comparison of 2-5 apps |
getTopicTrend(input) |
Track topic volume and sentiment changes over time |
Topic Intelligence
| Method | Description |
|---|---|
resolveTopics(ids) |
Convert topic IDs → human-readable labels |
searchTopics(query) |
Semantic search over 1M+ review topics |
findAppsByTopics(input) |
Find apps at the intersection of two topic sets |
Forecasting
| Method | Description |
|---|---|
forecastMetric(input) |
Predict future values using Google TimesFM 2.5 |
Scraping Operations
| Method | Description |
|---|---|
getScrapeJobsOverview() |
Overview of all scraping jobs by type |
listScrapeJobs(input?) |
List and filter individual scrape jobs |
getFailedJobs(input?) |
Get failed/dead jobs with failure reasons |
getJobScheduleStatus(input?) |
Get overdue jobs |
Webhooks
| Method | Description |
|---|---|
listWebhooks() |
List all webhooks for the authenticated user |
createWebhook(input) |
Create a webhook alert rule |
deleteWebhook(id) |
Delete a webhook |
toggleWebhook(id, active) |
Enable/disable a webhook |
Raw Access
| Method | Description |
|---|---|
call(toolName, args) |
Call any MCP tool by name |
listTools() |
List all available tools |
listResources() |
List all available resources |
readResource(uri) |
Read a resource (e.g. table schemas) |
API Reference
AppDataLayerClient
const client = new AppDataLayerClient({
apiKey: string; // Required — your API key
endpoint?: string; // Default: "https://mcp.appdatalayer.com/mcp"
timeout?: number; // Default: 30000ms
});
Return Type
All methods return ToolCallResult<T>:
interface ToolCallResult<T> {
content: { type: string; text: string }[]; // Raw MCP content
isError?: boolean; // True if the tool returned an error
data: T | null; // Parsed JSON data (null if error)
}
generateMcpConfig
import { generateMcpConfig } from "appdatalayer-mcp";
const config = generateMcpConfig(
apiKey: string,
endpoint?: string // Default: "https://mcp.appdatalayer.com/mcp"
);
Configuration
| Env Variable | Description |
|---|---|
APPDATALAYER_API_KEY |
Your AppDataLayer API key |
Examples
See the examples/ directory:
basic-usage.ts— All major SDK featuresgenerate-config.ts— Generate LLM agent config
Data Coverage
| Metric | Value |
|---|---|
| Reviews | 1B+ |
| Apps | 250K+ |
| Topics | 1M+ clusters |
| Countries | 44 |
| Stores | Google Play, Apple App Store |
License
MIT — AppDataLayer
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。