appdatalayer

appdatalayer-mcp

Community appdatalayer
Updated

TypeScript SDK for AppDataLayer MCP Server — app store analytics via Model Context Protocol

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 features
  • generate-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

MCP Server · Populars

MCP Server · New