MCP 安装文档 Docs
回到官网Back to site

AppGrowing MCP Installation Guide

Connect AppGrowing Global ad intelligence to your Agent via MCP (Model Context Protocol) over HTTP. This page covers connection info, the 21-tool overview, key parameters, and FAQ (Frequently Asked Questions).

1Connection

Connect to AppGrowing Global ad intelligence via MCP over HTTP. Below are the core connection parameters, how to get your API Key, and a config snippet you can hand directly to an Agent.

ItemValue
Endpoint URLhttps://api-appgrowing-global.youcloud.com/mcp
ProtocolMCP over HTTP (Streamable HTTP), JSON-RPC 2.0
AuthAuthorization: Bearer <API_KEY>
API KeyProvided by AppGrowing; replace <API_KEY> at integration time Get your API Key
HeadersContent-Type: application/json + Accept: application/json, text/event-stream + accept-language: en
Response formatSSE (streamed line by line; JSON follows the data: prefix)

1.1 Getting the API Key

The API Key starts with sk_. Copy it in AppGrowing Global under Personal Center → Enterprise → Overview.

Get your API Key

AppGrowing Global console: open Personal Center from the top-right avatar, select Enterprise → Overview, then copy the API Key

1.2 Config Example

Standard MCP client config (mcpServers):

json
{
  "mcpServers": {
    "AppGrowing-Global-MCP": {
      "url": "https://api-appgrowing-global.youcloud.com/mcp",
      "headers": {
        "Authorization": "Bearer <API_KEY>",
        "accept-language": "en"
      }
    }
  }
}

Send the block below to your Agent in one piece (replace <API_KEY> with your API Key first) — it will write the config into the matching client config file and complete the install:

text
Install this MCP:
{
  "mcpServers": {
    "AppGrowing-Global-MCP": {
      "url": "https://api-appgrowing-global.youcloud.com/mcp",
      "headers": {
        "Authorization": "Bearer <API_KEY>",
        "accept-language": "en"
      }
    }
  }
}

🔒 An API Key is a login credential — never commit it to git. Before writing it into a script or a config file, make sure that file is covered by .gitignore.

221 Tools Overview

AppGrowing Global MCP now exposes 21 tools, organized into four modules by use case: Creative Search & Selling Points (4), Charts Intelligence (3), App Advertising Analysis (11), and Publisher & Developer Intelligence (2), plus a Basic Tool (1).

2.1 Creative Search & Selling Points (4)

ToolPurposeCredits / call
searchAdCreativesCreative search — filter by media, region, selling point, audience, and monetization method, etc.10,000
creativeSellingPointTrendsCreative selling-point trends — a 300,000+ lexicon, sorted by number of creatives, advertisements, or popularity.10,000
creativeAIAnalysisDataPull a creative's narration, selling points, and AI interpretation, up to 100 per call.50,000
creativeResourceUrlGet the download link for a creative's original video/cover (the link has a validity period).10,000

2.2 Charts Intelligence (3)

ToolPurposeCredits / call
appAdRankingsApp promotion ranking at the brand level — includes live ad count, creative count, audience profile, and publisher/developer IDs.10,000
appStoreDownloadRankingsiOS App Store download chart.10,000
googlePlayDownloadRankingsGoogle Play download chart.10,000

2.3 App Advertising Analysis (11)

ToolPurposeCredits / call
adVolumeTrendsDaily volume trend data for ads and creatives.10,000
regionOverviewRegional overview — volume and share by country/region.10,000
regionTimelineRegional timeline — how each market's volume changes over time.10,000
mediaOverviewMedia mix overview — volume and share by media channel.10,000
mediaTimelineMedia timeline — how each channel's volume changes over time.10,000
adFormatOverviewAd-format overview — playable, rewarded, in-feed, and other formats.10,000
creativeTypeOverviewCreative-type overview — image, video, and vertical-video distribution.10,000
creativeFormatRatioAspect-ratio overview — portrait, landscape, and size distribution.10,000
audienceBreakdownAudience by age × gender.10,000
appLifecycleProduct lifecycle, version, and festival milestone timing.10,000
similarAppsSimilar / related products — sortable by similarity or lifetime downloads.10,000

2.4 Publisher & Developer Intelligence (2)

ToolPurposeCredits / call
developerAppOverviewProducts under a developer.10,000
publisherAppOverviewAll products under a publisher — live ads, creatives, running days, version count, and region count.10,000

2.5 Basic Tool (1)

ToolPurposeCredits / call
filterOptionsFilter options: return all selectable filter values (media, region, category, style, selling-point category, etc.)10,000
Credits are charged per call, regardless of the number of rows returned or pagination.

3Key Parameters

searchAdCreatives is the most-used creative retrieval tool. Below are its key inputs and return fields.

3.1 Required

  • purpose: 1=game / 2=app / 3=website
  • order: sort (impression_inc_2y_desc by impressions desc / max_dt_desc by most recent)

3.2 Common Filters

ParamTypeExample
startDate / endDatestring2026-07-10 ~ 2026-08-10
categoryint array[2001] RPG / [2009] Card
appStyleint array[20304] Card-Battle / [21204] Anime
areastring array["JP"] Japan / ["US"] USA
mediaint array[13] TikTok / [2] Facebook
keyword + accurateSearchstring / intpass the keyword; accurateSearch=1 for exact match
searchDslarray[{"key":"campaign_name","type":"contain","value":"app name"}] field-level search (key: campaign_name/slogan/asr/developer_name, etc.; type: contain/exclude/equal/notEqual)
languagestring array["ja"] Japanese
videoTimeintfilter by video duration

3.3 Return Fields

  • Creatives reside in data.materialList's data array; the core of each item is in the material field
  • material.campaign[0].name = game name
  • material.creative.slogan = ad copy
  • material.creative.type = creative type (102 image / 201 landscape video / 202 portrait video / 203 fullscreen video)
  • material.creative.resource[0].path = direct creative URL (carries auth_key, downloadable directly); same node also has poster / width / height / duration
  • material.creative.resource[0].id = resource ID (passed to creativeResourceUrl / creativeAIAnalysisData)
  • material.format = list of ad formats (array of objects, each with id and name, e.g. [{"id":301,"name":"video interstitial"},{"id":302,"name":"rewarded ad"}], meaning video interstitial + rewarded ad run together). A creative can carry multiple formats; when calling creativeAIAnalysisData, take any one (recommended: the first) of its ids and align it positionally with ids
  • material.media = media name (string array, multiple media joined by comma)
  • The response has no delivery-region field; region can only be filtered via the area input
  • material.impression_inc_2y = impressions (string format like ">10M")
  • material.cnt_ad_id = number of associated ads

4Solution for Truncated Data

Problem

Data fetching is limited by two constraints stacked on top of each other:

  • A single call returns at most 100 records: the page size is fixed at 100, so pulling the full dataset requires multiple page calls.
  • Some tools return truncated responses: for content-heavy tools (such as creative search, 100 records per page), the response body can exceed the MCP tool layer's ~100KB truncation cap for the Agent context —— once such a response flows back into the Agent context it causes two problems at once: the data is incomplete and the large JSON consumes a lot of tokens (calls with smaller response bodies are unaffected).

Approach (hand this description to your Agent and let it generate the script — no need to write it by hand):

1

Call the endpoint directly from a script

Skip the MCP client and send JSON-RPC requests straight to the endpoint (endpoint, request headers and SSE response format are in Section 1; read the JSON from the data:-prefixed lines). The response you get this way is the server's complete response, unaffected by the client-side truncation cap.

2

Loop through the pages

Start at page 1 and turn pages one by one, 100 records per page, until you reach total records or a page returns fewer than 100.

3

Write raw responses straight to disk

One local file per page, e.g. ./mcp_dumps/search_p1.json; data never goes through the terminal or into the Agent context.

4

Print only a summary

Just total, the count on this page, and the output path.

5

Analyse by reading the files

Process the dumped files directly, narrow down to a small sample, then hand that to the Agent.

Environment note

The endpoint uses HTTPS. If the script reports CERTIFICATE_VERIFY_FAILED (certificate chain verification failed), install certifi (pip3 install certifi) and point the script at its certificate.

5FAQ & Notes

IssueSolution
Auth uses BearerUse the Authorization: Bearer header; requests must include Content-Type and Accept
searchDsl's equal may not workReturns the full set (huge total); use contain instead, or keyword + accurateSearch=1
appAdRankings date param frequently returns error 401001Use a short date range (e.g. last 17 days) or retry
publisherAppOverview needs publisher.idPassing developer.id returns empty
adVolumeTrends requires brandIdbrandId and id cannot both be empty; otherwise an empty trend is returned
searchAdCreatives has no creativeType paramFilter videos manually after the response by material.creative.type
The returned media field is a string arrayEach material.media element is a media name (multiple joined by comma); the response has no area field
How to pass format to creativeAIAnalysisDataTake any one (recommended: the first) of the creative's material.format after splitting by comma, and align it positionally with ids; for multi-format creatives any one works
Large response dataCall directly from a script and write to disk; keep large JSON out of the context
429 / 500 occasionalAdd retries (3 attempts + 2-3s backoff)
What is the id returned by creativeAIAnalysisData, and how to map it backIt is the material.creative.resource[0].id (resource ID) you passed in — not material.id. The returned array corresponds one-to-one with ids in order, and the returned id equals the input exactly; map each creative back by the returned id. Resource IDs are base64-shaped (end with ==); material.id is a 32-char hex string. If material.creative.resource has multiple elements, each resource ID maps to its own analysis result.

For integration help, contact AppGrowing Global support.