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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.