MCP Hub
Back to servers

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.

glama
Stars
1
Updated
Mar 18, 2026

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:

ClientConfig 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

MethodDescription
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

MethodDescription
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

MethodDescription
forecastMetric(input)Predict future values using Google TimesFM 2.5

Scraping Operations

MethodDescription
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

MethodDescription
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

MethodDescription
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 VariableDescription
APPDATALAYER_API_KEYYour AppDataLayer API key

Examples

See the examples/ directory:

Data Coverage

MetricValue
Reviews1B+
Apps250K+
Topics1M+ clusters
Countries44
StoresGoogle Play, Apple App Store

License

MIT — AppDataLayer

Reviews

No reviews yet

Sign in to write a review