MCP 服务器

CreativeScope — Mobile Game Ad Creative Intelligence

ai.creativescope/creative-intelligence
数据与分析 游戏 营销与广告 公开且可连接 MCP 2025-11-25

此 MCP 可以做什么

Supports mobile-game ad creative intelligence with ad searches, rankings, and AI-based hook analysis.

compare_games
Compare 2-5 games with the same date range, deduplication and metric definitions. Return creative, reused-creative and ad-plan counts plus global creative lifetime estimated exposure. Optional country filtering means target-list inclusion, not country exposure or preference. Maximum 180 days; no standalone creative/ad IDs are returned.
输入模式
{'type': 'object', 'required': ['game_ids', 'date_from', 'date_to'], 'properties': {'date_to': {'type': 'string', 'description': 'End date, YYYY-MM-DD; defaults to today unless explicitly required. Required. Maximum range 180 days.'}, 'rank_by': {'type': ['string', 'null'], 'default': None, 'description': 'material_count (default), ad_plan_count, lifecycle_exposure, or reinvestment_count.'}, 'game_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Game tokens returned by this service; maximum 20. For compare_games, supply 2-5 tokens.'}, 'date_from': {'type': 'string', 'description': "Start date, YYYY-MM-DD. Follow this tool's required-date and range constraints. Required."}, 'country_code': {'type': ['string', 'null'], 'default': None, 'description': "ISO 3166-1 alpha-2 country code, such as US or TR. Follow this tool's country-selection rules."}}}
get_context
Get CreativeScope business context, current date, supported platforms, registered tool catalog, date limits, freshness and capability boundaries. Use the tool catalog to select the appropriate discovery, aggregate or ranking contract.
输入模式
{'type': 'object', 'properties': {}}
get_filter_options
Get valid game categories, countries and 14 delivery-platform aliases. Map user conditions to the returned standard values before exact filtering. Country options include codes and names. Keep canonical filter values unchanged when using them as parameters.
输入模式
{'type': 'object', 'properties': {'types': {'type': ['string', 'null'], 'default': None, 'description': 'Comma-separated filter dictionaries: game_category, country, platform. Omit or use all for every dictionary.'}}}
get_game_ads_v2
Discover a game's ad plans by countries, platforms, format and dates. Deduplicate cross-month snapshots; each result represents one plan with its associated creative material_reference and response-local plan_sequence, without standalone ad/creative IDs. contains matches any specified country; exclusive requires exact set equality. Pagination reports has_more, not an exact total. Use get_game_platform_stats for totals.
输入模式
{'type': 'object', 'required': ['game_id'], 'properties': {'limit': {'type': ['integer', 'null'], 'default': None, 'description': 'Number of results; default 20; maximum 100.'}, 'offset': {'type': ['integer', 'null'], 'default': None, 'description': 'Pagination offset; default 0.'}, 'date_to': {'type': ['string', 'null'], 'default': None, 'description': 'End date, YYYY-MM-DD; defaults to today unless explicitly required.'}, 'game_id': {'type': 'string', 'description': 'Game token returned by game search, rankings or details. Pass the token unchanged.'}, 'sort_by': {'type': ['string', 'null'], 'default': None, 'description': 'Sort order: heat, latest, ending. The first value is the default.'}, 'date_from': {'type': ['string', 'null'], 'default': None, 'description': "Start date, YYYY-MM-DD. Follow this tool's required-date and range constraints."}, 'video_type': {'type': ['integer', 'null'], 'default': None, 'description': 'Creative format: 0=image, 1=video, 2=playable. Do not combine with material_type/material_types.'}, 'country_codes': {'type': ['array', 'null'], 'items': {'type': ['string', 'null']}, 'default': None, 'description': 'Array of ISO 3166-1 alpha-2 delivery-country codes, for example ["TR","US"]; maximum 20.'}, 'country_match': {'type': ['string', 'null'], 'default': None, 'description': 'contains (default): match any specified country. exclusive: the complete delivery-country set must exactly equal the specified set.'}, 'material_type': {'type': ['string', 'null'], 'default': None, 'description': 'Format: image, video, playable. Mutually exclusive with video_type.'}, 'publisher_platforms': {'type': ['array', 'null'], 'items': {'type': ['string', 'null']}, 'default': None, 'description': 'Array of delivery platforms: facebook, instagram, messenger, audience_network, threads, admob, youtube, tiktok, mintegral, unity, applovin, ironsource, vungle or pangle.'}}}
get_game_country_distribution
Get game delivery-country coverage for a date range. Country coverage can overlap and does not represent country-specific exposure or audience preference.
输入模式
{'type': 'object', 'required': ['game_id'], 'properties': {'date_to': {'type': ['string', 'null'], 'default': None, 'description': 'End date, YYYY-MM-DD. Default: today.'}, 'game_id': {'type': 'string', 'description': 'Game token returned by this service. Pass unchanged.'}, 'date_from': {'type': ['string', 'null'], 'default': None, 'description': 'Start date, YYYY-MM-DD. Default: 90 days ago; maximum range 180 days.'}, 'publisher_platform': {'type': ['string', 'null'], 'default': None, 'description': 'Optional delivery platform alias, such as facebook, youtube or tiktok. See get_context for the full list.'}}}
get_game_daily_impressions
Get daily and cumulative estimated exposure across all Android/iOS packages associated with a game. daily_impressions is the daily increment; snapshot_impressions is cumulative through that date; daily_impressions_total is the period increment total. For historical total exposure with no date, query yesterday in Asia/Shanghai and use its snapshot_impressions. For the past N days, use daily_impressions_total. Default 90 days, maximum 365 days. Label exposure as estimated.
输入模式
{'type': 'object', 'required': ['game_id'], 'properties': {'date_to': {'type': ['string', 'null'], 'default': None, 'description': 'End date, YYYY-MM-DD; defaults to today unless explicitly required. Maximum range 365 days.'}, 'game_id': {'type': 'string', 'description': 'Game token returned by game search, rankings or details. Pass the token unchanged.'}, 'date_from': {'type': ['string', 'null'], 'default': None, 'description': "Start date, YYYY-MM-DD. Follow this tool's required-date and range constraints. Earliest supported date: 2025-06-30."}}}
get_game_detail
Get game identity, delivery platforms, countries, active ad and creative counts, and download snapshots. Exposure for active creatives is lifetime estimated exposure, not 30-day incremental exposure. Google Play download_count is the latest cumulative snapshot; download_count_label is a public store range, neither is a period increment.
输入模式
{'type': 'object', 'required': ['game_id'], 'properties': {'game_id': {'type': 'string', 'description': 'Game token returned by game search, rankings or details. Pass the token unchanged.'}}}
get_game_install_trend
Get daily Google Play net download increments and cumulative snapshots for a game. Return requested and actual coverage dates, download_increment_total and latest_download_snapshot. Sum increments only; never sum cumulative snapshots.
输入模式
{'type': 'object', 'required': ['game_id'], 'properties': {'date_to': {'type': ['string', 'null'], 'default': None, 'description': 'End date, YYYY-MM-DD; defaults to today unless explicitly required.'}, 'game_id': {'type': 'string', 'description': 'Game token returned by game search, rankings or details. Pass the token unchanged.'}, 'date_from': {'type': ['string', 'null'], 'default': None, 'description': "Start date, YYYY-MM-DD. Follow this tool's required-date and range constraints."}}}
get_game_investment_trend
Get daily newly launched creatives, reused creatives, ad plans and exposure references to analyze delivery growth and creative refresh cadence. Exposure is a lifetime reference for newly launched creatives, not a daily increment. Default 90 days; maximum 180 days.
输入模式
{'type': 'object', 'required': ['game_id'], 'properties': {'date_to': {'type': ['string', 'null'], 'default': None, 'description': 'End date, YYYY-MM-DD; defaults to today unless explicitly required.'}, 'game_id': {'type': 'string', 'description': 'Game token returned by game search, rankings or details. Pass the token unchanged.'}, 'metrics': {'type': ['string', 'null'], 'default': None, 'description': 'Comma-separated metrics: materials, ads, or all (default). Chinese aliases are also accepted.'}, 'date_from': {'type': ['string', 'null'], 'default': None, 'description': "Start date, YYYY-MM-DD. Follow this tool's required-date and range constraints. Maximum range 180 days."}}}
get_game_materials
List a game advertiser's creatives by delivery performance, including material_reference, delivery dates, heat, reuse status and media. No standalone material tokens are returned. Each material_reference belongs to the same result item. No exact match total is returned. For platform totals, use get_game_platform_stats; never count by repeatedly paging.
输入模式
{'type': 'object', 'required': ['game_id'], 'properties': {'limit': {'type': ['integer', 'null'], 'default': None, 'description': 'Number of results; default 20; maximum 100.'}, 'offset': {'type': ['integer', 'null'], 'default': None, 'description': 'Pagination offset; default 0.'}, 'date_to': {'type': ['string', 'null'], 'default': None, 'description': 'End date, YYYY-MM-DD; defaults to today unless explicitly required.'}, 'game_id': {'type': 'string', 'description': 'Game token returned by game search, rankings or details. Pass the token unchanged.'}, 'sort_by': {'type': ['string', 'null'], 'default': None, 'description': 'Sort order: heat, reinvestment, latest, ending. The first value is the default.'}, 'date_from': {'type': ['string', 'null'], 'default': None, 'description': "Start date, YYYY-MM-DD. Follow this tool's required-date and range constraints."}, 'video_type': {'type': ['integer', 'null'], 'default': None, 'description': 'Creative format: 0=image, 1=video, 2=playable. Do not combine with material_type/material_types.'}, 'publisher_platform': {'type': ['string', 'null'], 'default': None, 'description': 'Delivery platform: facebook, instagram, messenger, audience_network, threads, admob, youtube, tiktok, mintegral, unity, applovin, ironsource, vungle or pangle. admob includes the Google advertising subchannels.'}}}
get_game_overview
Get a game's identity, deduplicated creatives/ad plans, market and platform coverage, and delivery-cadence summary in one call. Require explicit dates, maximum 180 days. Exposure is global creative lifetime estimated exposure, not period increments or country exposure. Country shares are overlapping ad-plan target coverage. No standalone creative/ad IDs are returned.
输入模式
{'type': 'object', 'required': ['game_id', 'date_from', 'date_to'], 'properties': {'date_to': {'type': 'string', 'description': 'End date, YYYY-MM-DD; defaults to today unless explicitly required. Required. Maximum range 180 days.'}, 'game_id': {'type': 'string', 'description': 'Game token returned by game search, rankings or details. Pass the token unchanged.'}, 'sections': {'type': ['array', 'null'], 'items': {'type': ['string', 'null']}, 'default': None, 'description': 'Optional sections: identity, summary, markets, platforms, trend_summary. Omit for all.'}, 'date_from': {'type': 'string', 'description': "Start date, YYYY-MM-DD. Follow this tool's required-date and range constraints. Required."}}}
get_game_platform_stats
Get deduplicated creative count, first-discovered creative count and ad-plan count for one game, platform and explicit date range (maximum 180 days). Creative count uses lifetime overlap; first-discovered count uses first appearance within the range. No paging is needed. Always use this tool for platform totals rather than counting pages from discovery tools.
输入模式
{'type': 'object', 'required': ['game_id', 'publisher_platform', 'date_from', 'date_to'], 'properties': {'date_to': {'type': 'string', 'description': 'End date, YYYY-MM-DD; defaults to today unless explicitly required. Required. Maximum range 180 days.'}, 'game_id': {'type': 'string', 'description': 'Game token returned by game search, rankings or details. Pass the token unchanged.'}, 'date_from': {'type': 'string', 'description': "Start date, YYYY-MM-DD. Follow this tool's required-date and range constraints. Required."}, 'publisher_platform': {'type': 'string', 'description': 'Delivery platform: facebook, instagram, messenger, audience_network, threads, admob, youtube, tiktok, mintegral, unity, applovin, ironsource, vungle or pangle. admob includes the Google advertising subchannels.'}}}
get_game_publisher_platform_ratio
Get a game delivery-platform distribution for a date range. Platform coverage can overlap; shares are not exclusive audience or exposure shares.
输入模式
{'type': 'object', 'required': ['game_id'], 'properties': {'date_to': {'type': ['string', 'null'], 'default': None, 'description': 'End date, YYYY-MM-DD. Default: today.'}, 'game_id': {'type': 'string', 'description': 'Game token returned by this service. Pass unchanged.'}, 'date_from': {'type': ['string', 'null'], 'default': None, 'description': 'Start date, YYYY-MM-DD. Default: 90 days ago; maximum range 180 days.'}, 'country_code': {'type': ['string', 'null'], 'default': None, 'description': 'Optional ISO2 delivery-country code; matches target-country-list inclusion.'}}}
get_game_publisher_platform_trend
Get a game delivery-platform trend for a date range. Use the returned metric and dates consistently when comparing platforms.
输入模式
{'type': 'object', 'required': ['game_id'], 'properties': {'date_to': {'type': ['string', 'null'], 'default': None, 'description': 'End date, YYYY-MM-DD. Default: today.'}, 'game_id': {'type': 'string', 'description': 'Game token returned by this service. Pass unchanged.'}, 'date_from': {'type': ['string', 'null'], 'default': None, 'description': 'Start date, YYYY-MM-DD. Default: 90 days ago; maximum range 180 days.'}, 'publisher_platform': {'type': ['string', 'null'], 'default': None, 'description': 'Optional delivery platform alias, such as facebook, youtube or tiktok. See get_context for the full list.'}}}
get_game_rank_markets
List the countries, app-store categories, stores, and ranking types where a game appeared on a chart during a date range. Returns each observed dimension with best rank, latest rank, and ranked-day count. Ranking types are free, store-paid, and top-grossing. Only Google Play and iPhone App Store are exposed; iPad rankings are excluded. Date range defaults to the last 90 days and cannot exceed 365 days.
输入模式
{'type': 'object', 'required': ['game_id'], 'properties': {'limit': {'type': ['integer', 'null'], 'default': None, 'description': 'Maximum dimension rows to return. Maximum 200; defaults to 100.'}, 'store': {'type': ['string', 'null'], 'default': None, 'description': 'Store: all, google_play, or app_store. Defaults to all.'}, 'date_to': {'type': ['string', 'null'], 'default': None, 'description': 'End date in YYYY-MM-DD. Defaults to today.'}, 'game_id': {'type': 'string', 'description': 'Encrypted game ID returned by search_games or as game_id/advertiser_id in other results.'}, 'date_from': {'type': ['string', 'null'], 'default': None, 'description': 'Start date in YYYY-MM-DD. Defaults to 89 days before date_to.'}, 'rank_types': {'type': ['array', 'null'], 'items': {'type': ['string', 'null']}, 'default': None, 'description': 'Ranking types: free, store_paid, grossing. Defaults to all three.'}}}
get_game_summary
Summarize creatives, ad plans, lifetime exposure references and Google Play net download increments within a date range. download_increment sums daily increments over actual coverage, not cumulative downloads or public store ranges. Includes the legacy nested summary alongside the primary delivery fields.
输入模式
{'type': 'object', 'required': ['game_id'], 'properties': {'date_to': {'type': ['string', 'null'], 'default': None, 'description': 'End date, YYYY-MM-DD. Default: today.'}, 'game_id': {'type': 'string', 'description': 'Game token returned by this service. Pass unchanged.'}, 'date_from': {'type': ['string', 'null'], 'default': None, 'description': 'Start date, YYYY-MM-DD. Default: 90 days ago; maximum range 180 days.'}}}
get_game_trend
Get daily game delivery trends for the requested date range. Creative and ad counts represent delivery activity; exposure is a lifetime reference, not daily incremental exposure.
输入模式
{'type': 'object', 'required': ['game_id'], 'properties': {'date_to': {'type': ['string', 'null'], 'default': None, 'description': 'End date, YYYY-MM-DD. Default: today.'}, 'game_id': {'type': 'string', 'description': 'Game token returned by this service. Pass unchanged.'}, 'date_from': {'type': ['string', 'null'], 'default': None, 'description': 'Start date, YYYY-MM-DD. Default: 90 days ago; maximum range 180 days.'}}}
get_material_detail_v2
Get creative summary, media and owning-game information using a complete material_reference returned by this service. Resolve the exact material, game, source platform, date and month in that reference. Use material_reference for follow-up tool calls and media_url to view images, play videos or open HTML playable ads.
输入模式
{'type': 'object', 'required': ['detail_url'], 'properties': {'include': {'type': ['array', 'null'], 'items': {'type': ['string', 'null']}, 'default': None, 'description': 'Requested sections: summary (default, including owning-game and download/delivery information), media. Multiple sections are allowed.'}, 'detail_url': {'type': 'string', 'description': 'Opaque material_reference returned by creative search. Pass unchanged in this legacy-named detail_url parameter. Previously issued detail URLs remain accepted as input only.'}}}
get_material_rank
Get rising or evergreen creative rankings by period and optional primary/secondary category. Return rank, material_reference, video media, creative labels, delivery duration, heat, ad count and associated games. Always use the same item's material_reference when citing a creative. No standalone material identifiers are returned. Platform/country filtering is not supported.
输入模式
{'type': 'object', 'properties': {'date': {'type': ['string', 'null'], 'default': None, 'description': 'Chart date: YYYY-MM-DD, or YYYY-MM for monthly charts. Omit for the latest available period.'}, 'limit': {'type': ['integer', 'null'], 'default': None, 'description': 'Number of results; default 20; maximum 100.'}, 'offset': {'type': ['integer', 'null'], 'default': None, 'description': 'Pagination offset; default 0.'}, 'period': {'type': ['string', 'null'], 'default': None, 'description': 'Chart period: day (default), week, month.'}, 'tag_name': {'type': ['string', 'null'], 'default': None, 'description': 'Optional secondary creative category; use a canonical value from get_filter_options.'}, 'rank_type': {'type': ['integer', 'null'], 'default': None, 'description': '1=rising creatives (default), 2=evergreen creatives.'}, 'class_name': {'type': ['string', 'null'], 'default': None, 'description': 'Primary creative category; omit for all. Use canonical category values from get_filter_options.'}}}
get_material_reuse_clues
Find directly recorded reuse relationships for a creative material_reference. Return related games, developers, first/last appearances, relative appearance days and representative material references, grouped by game. These are direct bidirectional reuse relationships, not vector similarity or proof of ownership.
输入模式
{'type': 'object', 'required': ['detail_url'], 'properties': {'limit': {'type': ['integer', 'null'], 'default': None, 'description': 'Number of results; default 20; maximum 50.'}, 'detail_url': {'type': 'string', 'description': 'Opaque material_reference returned by creative search. Pass unchanged in this legacy-named detail_url parameter. Previously issued detail URLs remain accepted as input only.'}}}
get_reference_image_search_results
Get completed reference-image search results. If the job is still running, returns polling guidance. Example: 'Show the matches from my reference-image search.'
输入模式
{'type': 'object', 'required': ['job_id'], 'properties': {'limit': {'type': ['integer', 'null'], 'default': None, 'description': 'Maximum number of hydrated creative records to return. Maximum 20.'}, 'job_id': {'type': 'string', 'description': 'Job ID returned by submit_reference_image_search.'}}}
get_reference_image_search_status
Get the processing status of a reference-image search job. Example: 'Is my reference-image search finished yet?'
输入模式
{'type': 'object', 'required': ['job_id'], 'properties': {'job_id': {'type': 'string', 'description': 'Job ID returned by submit_reference_image_search.'}}}
get_similar_materials_v2
Find visually similar creatives from a complete material_reference using stored video-content vectors. Return games, developers, delivery dates, heat, media and material references. Require dates, maximum 180 days. Similarity does not establish reuse; use get_material_reuse_clues for recorded cross-game reuse and chronology.
输入模式
{'type': 'object', 'required': ['detail_url', 'date_from', 'date_to'], 'properties': {'limit': {'type': ['integer', 'null'], 'default': None, 'description': 'Number of results; default 10; maximum 20.'}, 'offset': {'type': ['integer', 'null'], 'default': None, 'description': 'Pagination offset; default 0. Maximum 5000.'}, 'date_to': {'type': 'string', 'description': 'End date, YYYY-MM-DD; defaults to today unless explicitly required. Required. Maximum range 180 days.'}, 'sort_by': {'type': ['string', 'null'], 'default': None, 'description': 'Sort order: similarity, heat, latest. The first value is the default.'}, 'date_from': {'type': 'string', 'description': "Start date, YYYY-MM-DD. Follow this tool's required-date and range constraints. Required."}, 'cross_game': {'type': ['boolean', 'null'], 'default': None, 'description': "true (default) searches all games; false restricts results to the seed creative's game."}, 'detail_url': {'type': 'string', 'description': 'Opaque material_reference returned by creative search. Pass unchanged in this legacy-named detail_url parameter. Previously issued detail URLs remain accepted as input only.'}}}
get_store_first_seen_games
Find games first observed in official daily app-store charts, defined per package, platform, country, category and rank type. This is not a release date. Complete coverage starts 2025-09-15; exclude the baseline day by default to avoid labeling existing games as new. Default game grouping deduplicates package/platform; dimension grouping returns original chart dimensions.
输入模式
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': None, 'description': 'Number of results; default 20; maximum 100.'}, 'offset': {'type': ['integer', 'null'], 'default': None, 'description': 'Pagination offset; default 0.'}, 'date_to': {'type': ['string', 'null'], 'default': None, 'description': 'End date, YYYY-MM-DD; defaults to today unless explicitly required. Maximum range 365 days.'}, 'sort_by': {'type': ['string', 'null'], 'default': None, 'description': 'Sort order: first_date, first_rank. The first value is the default.'}, 'group_by': {'type': ['string', 'null'], 'default': None, 'description': 'game (default): deduplicate package/platform; dimension: retain country/category/chart-type dimensions.'}, 'platform': {'type': ['integer', 'null'], 'default': None, 'description': 'Store platform: 1=Google Play, 2=iPhone App Store.'}, 'date_from': {'type': ['string', 'null'], 'default': None, 'description': "Start date, YYYY-MM-DD. Follow this tool's required-date and range constraints. Earliest supported date: 2025-09-15."}, 'categories': {'type': ['string', 'null'], 'default': None, 'description': 'Official store category code or canonical category name. Use get_store_game_rank_filter to obtain valid platform-specific values.'}, 'rank_types': {'type': ['array', 'null'], 'items': {'type': 'integer'}, 'default': None, 'description': 'Array of chart types: 0=free, 1=paid, 2=grossing. Omit for all.'}, 'country_code': {'type': ['string', 'null'], 'default': None, 'description': "ISO 3166-1 alpha-2 country code, such as US or TR. Follow this tool's country-selection rules."}, 'include_baseline': {'type': ['boolean', 'null'], 'default': None, 'description': 'Include the initial coverage day 2025-09-15; default false.'}}}
get_store_game_rank
Get official Google Play or iPhone App Store free, paid or grossing charts by day, week or month and official category. country_code must be explicitly specified by the user; otherwise get_store_game_rank_filter and ask for the country. Return current, best and previous ranks, movement, hourly rank curves and game tokens.
输入模式
{'type': 'object', 'required': ['country_code'], 'properties': {'date': {'type': ['string', 'null'], 'default': None, 'description': 'Chart date: YYYY-MM-DD, or YYYY-MM for monthly charts. Omit for the latest available period.'}, 'limit': {'type': ['integer', 'null'], 'default': None, 'description': 'Number of results; default 20; maximum 100.'}, 'offset': {'type': ['integer', 'null'], 'default': None, 'description': 'Pagination offset; default 0.'}, 'period': {'type': ['string', 'null'], 'default': None, 'description': 'Chart period: day (default), week, month.'}, 'platform': {'type': ['integer', 'null'], 'default': None, 'description': 'Store platform: 1=Google Play, 2=iPhone App Store.'}, 'rank_type': {'type': ['integer', 'null'], 'default': None, 'description': 'Chart type: 0=free (default), 1=paid, 2=grossing.'}, 'categories': {'type': ['string', 'null'], 'default': None, 'description': 'Official store category code or canonical category name. Use get_store_game_rank_filter to obtain valid platform-specific values.'}, 'country_code': {'type': 'string', 'description': "ISO 3166-1 alpha-2 country code, such as US or TR. Follow this tool's country-selection rules."}}}
get_store_game_rank_filter
Get valid platforms, rank types, periods, countries, official categories and dates for official app-store rankings, including the latest Google Play US free-chart date/hour. Use before querying rankings to discover valid country and platform-specific category values.
输入模式
{'type': 'object', 'properties': {}}
get_store_game_rank_trend
Get game-level official daily chart trends using a game token or an app identifier resolved through the official package mapping. Best mode selects leading dimensions across Google Play and iPhone App Store; exact mode fixes store, country and category. Includes current-day realtime data when available. Returns daily ranks, first-entry flags and optional 24-hour curves.
输入模式
{'type': 'object', 'properties': {'mode': {'type': ['string', 'null'], 'default': None, 'description': 'best selects the strongest observed dimensions across both stores; exact fixes platform, country and category. Defaults to exact when country_code is supplied, otherwise best.'}, 'date_to': {'type': ['string', 'null'], 'default': None, 'description': 'End date, YYYY-MM-DD; defaults to today unless explicitly required. Maximum range 365 days.'}, 'game_id': {'type': ['string', 'null'], 'default': None, 'description': 'Game token from search_games or store rankings. Queries every associated official-store package, matching the game-level API.'}, 'platform': {'type': ['integer', 'null'], 'default': None, 'description': "Store for exact mode: 1=Google Play, 2=iPhone App Store. Defaults to the supplied app identifier's store, otherwise Google Play."}, 'date_from': {'type': ['string', 'null'], 'default': None, 'description': "Start date, YYYY-MM-DD. Follow this tool's required-date and range constraints."}, 'categories': {'type': ['string', 'null'], 'default': None, 'description': 'Official store category code or canonical category name. Use get_store_game_rank_filter to obtain valid platform-specific values.'}, 'max_series': {'type': ['integer', 'null'], 'default': None, 'description': 'Maximum chart series in best mode; default 20, maximum 50.'}, 'rank_types': {'type': ['array', 'null'], 'items': {'type': 'integer'}, 'default': None, 'description': 'Array of chart types: 0=free, 1=paid, 2=grossing. Omit for all.'}, 'country_code': {'type': ['string', 'null'], 'default': None, 'description': "ISO 3166-1 alpha-2 country code, such as US or TR. Follow this tool's country-selection rules."}, 'package_name': {'type': ['string', 'null'], 'default': None, 'description': 'Optional Android package name or numeric iOS app ID. Resolves the owning game through the official package mapping; supply this or game_id, not both.'}, 'include_rank_curve': {'type': ['boolean', 'null'], 'default': None, 'description': 'Include a fixed 24-entry hourly rank curve for each day; default false.'}}}
report_capability_gap
Record an unmet analysis need for future product improvements when existing tools cannot satisfy the request. Include the missing capability and an example query.
输入模式
{'type': 'object', 'required': ['description'], 'properties': {'description': {'type': 'string', 'description': 'Describe the unmet need as specifically as possible.'}, 'example_query': {'type': ['string', 'null'], 'default': None, 'description': 'Optional example user query or scenario.'}, 'triggered_by_tool': {'type': ['string', 'null'], 'default': None, 'description': 'Optional tool or scenario that exposed the capability gap.'}}}
resolve_game_by_identifier
Resolve an Android package name or numeric iOS app ID to game tokens and identity. Return all matching regional editions, ordered by lifetime estimated exposure of creatives active in the last 30 days. This is a delivery-heat reference, not incremental exposure.
输入模式
{'type': 'object', 'required': ['identifier'], 'properties': {'type': {'type': ['string', 'null'], 'default': None, 'description': 'Identifier type: auto (default), package, or ios.'}, 'limit': {'type': ['integer', 'null'], 'default': None, 'description': 'Number of results; default 5; maximum 10.'}, 'identifier': {'type': 'string', 'description': 'Android package name or numeric iOS app ID. Required, at least 3 characters.'}}}
search_games
Search mobile games by name or category across global markets. Return identity, active ads and creatives in the last 30 days, and their lifetime estimated exposure as a delivery-heat reference, not 30-day incremental exposure. Supply keyword or category. Category accepts English or Chinese.
输入模式
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': None, 'description': 'Number of results; default 20; maximum 50.'}, 'offset': {'type': ['integer', 'null'], 'default': None, 'description': 'Pagination offset; default 0.'}, 'region': {'type': ['string', 'null'], 'default': None, 'description': 'Optional delivery region or ISO2 country code.'}, 'keyword': {'type': ['string', 'null'], 'default': None, 'description': "Search text in the user's original language. Supply keyword or category."}, 'sort_by': {'type': ['string', 'null'], 'default': None, 'description': 'Sort order: ad_heat, material_count, ad_count, downloads. The first value is the default.'}, 'category': {'type': ['string', 'null'], 'default': None, 'description': 'Game category in English or Chinese, such as strategy, RPG or casual. Supply keyword or category.'}, 'publisher_platform': {'type': ['string', 'null'], 'default': None, 'description': 'Optional delivery platform alias, such as facebook or tiktok.'}}}
search_materials_by_filter
Search creatives by game category, creative labels, country, platform and format. Each label dimension accepts one standard value; different dimensions may be combined. Country means the delivery list includes that country, not exclusive targeting. Exposure is global lifetime estimated exposure, not country-specific. Cite metrics and material_reference from the same item. Use get_filter_options for game categories, countries and platforms.
输入模式
{'type': 'object', 'properties': {'mood': {'type': ['string', 'null'], 'default': None, 'description': 'Optional single canonical mood label.'}, 'limit': {'type': ['integer', 'null'], 'default': None, 'description': 'Number of results; default 20; maximum 50.'}, 'offset': {'type': ['integer', 'null'], 'default': None, 'description': 'Pagination offset; default 0.'}, 'date_to': {'type': ['string', 'null'], 'default': None, 'description': 'End date, YYYY-MM-DD; defaults to today unless explicitly required.'}, 'game_id': {'type': ['string', 'null'], 'default': None, 'description': 'Game token returned by game search, rankings or details. Pass the token unchanged.'}, 'sort_by': {'type': ['string', 'null'], 'default': None, 'description': 'Sort order: heat, latest. The first value is the default.'}, 'game_tag': {'type': ['string', 'null'], 'default': None, 'description': 'Optional canonical secondary game category.'}, 'date_from': {'type': ['string', 'null'], 'default': None, 'description': "Start date, YYYY-MM-DD. Follow this tool's required-date and range constraints."}, 'game_class': {'type': ['string', 'null'], 'default': None, 'description': 'Optional canonical primary game category.'}, 'video_type': {'type': ['integer', 'null'], 'default': None, 'description': 'Creative format: 0=image, 1=video, 2=playable. Do not combine with material_type/material_types.'}, 'country_code': {'type': ['string', 'null'], 'default': None, 'description': "ISO 3166-1 alpha-2 country code, such as US or TR. Follow this tool's country-selection rules."}, 'content_theme': {'type': ['string', 'null'], 'default': None, 'description': 'Optional single canonical content-topic label.'}, 'creative_theme': {'type': ['string', 'null'], 'default': None, 'description': 'Optional single canonical creative-topic label.'}, 'publisher_platform': {'type': ['string', 'null'], 'default': None, 'description': 'Delivery platform: facebook, instagram, messenger, audience_network, threads, admob, youtube, tiktok, mintegral, unity, applovin, ironsource, vungle or pangle. admob includes the Google advertising subchannels.'}}}
search_materials_by_keyword
Search creative copy and labels by keyword, optionally within a game and date range. Return opaque material references and direct video addresses. Keyword length is 2-200 characters. This performs text matching, not arbitrary visual-description vector search. Use search_materials_v2 with query for bilingual concept expansion.
输入模式
{'type': 'object', 'required': ['keyword'], 'properties': {'limit': {'type': ['integer', 'null'], 'default': None, 'description': 'Number of results; default 20; maximum 50.'}, 'offset': {'type': ['integer', 'null'], 'default': None, 'description': 'Pagination offset; default 0.'}, 'date_to': {'type': ['string', 'null'], 'default': None, 'description': 'End date, YYYY-MM-DD; defaults to today unless explicitly required.'}, 'game_id': {'type': ['string', 'null'], 'default': None, 'description': 'Game token returned by game search, rankings or details. Pass the token unchanged.'}, 'keyword': {'type': 'string', 'description': "Search text in the user's original language. Required; 2-200 characters."}, 'sort_by': {'type': ['string', 'null'], 'default': None, 'description': 'Sort order: heat, latest. The first value is the default.'}, 'date_from': {'type': ['string', 'null'], 'default': None, 'description': "Start date, YYYY-MM-DD. Follow this tool's required-date and range constraints."}, 'video_type': {'type': ['integer', 'null'], 'default': None, 'description': 'Creative format: 0=image, 1=video, 2=playable. Do not combine with material_type/material_types.'}}}
search_materials_distribution
Aggregate ad-plan and creative counts/shares by delivery platform and country using discovery filters. Return aggregates only. Each creative or plan can cover multiple countries/platforms, so sums count attributions rather than deduplicated totals. Require explicit dates (maximum 180 days) and at least one of game_ids, keyword, country_codes, publisher_platforms, languages or a creative-label filter. Use get_game_platform_stats for single-game/platform deduplicated totals.
输入模式
{'type': 'object', 'required': ['date_from', 'date_to'], 'properties': {'device': {'type': ['string', 'null'], 'default': None, 'description': 'ios or android; omit or use all for either.'}, 'date_to': {'type': 'string', 'description': 'End date, YYYY-MM-DD; defaults to today unless explicitly required. Required. Maximum range 180 days.'}, 'keyword': {'type': ['string', 'null'], 'default': None, 'description': "Search text in the user's original language. Maximum 100 characters."}, 'quality': {'type': ['string', 'null'], 'default': None, 'description': 'hd: short edge at least 720 pixels; sd: below 720. Omit or use all for any quality.'}, 'game_ids': {'type': ['array', 'null'], 'items': {'type': ['string', 'null']}, 'default': None, 'description': 'Game tokens returned by this service; maximum 20. For compare_games, supply 2-5 tokens.'}, 'date_from': {'type': 'string', 'description': "Start date, YYYY-MM-DD. Follow this tool's required-date and range constraints. Required."}, 'languages': {'type': ['array', 'null'], 'items': {'type': ['string', 'null']}, 'default': None, 'description': 'Array of exact canonical creative-language values; maximum 20.'}, 'video_type': {'type': ['integer', 'null'], 'default': None, 'description': 'Creative format: 0=image, 1=video, 2=playable. Do not combine with material_type/material_types.'}, 'aspect_ratio': {'type': ['string', 'null'], 'default': None, 'description': 'landscape, portrait, or square. Omit for any orientation.'}, 'country_codes': {'type': ['array', 'null'], 'items': {'type': ['string', 'null']}, 'default': None, 'description': 'Array of ISO 3166-1 alpha-2 delivery-country codes, for example ["TR","US"]; maximum 20.'}, 'country_match': {'type': ['string', 'null'], 'default': None, 'description': 'contains (default): match any specified country. exclusive: the complete delivery-country set must exactly equal the specified set.'}, 'only_discover': {'type': ['boolean', 'null'], 'default': None, 'description': 'true: first discovery falls within the range. false or omitted: creative lifetime overlaps the range.'}, 'content_topics': {'type': ['array', 'null'], 'items': {'type': ['string', 'null']}, 'default': None, 'description': 'Array of canonical content-topic values; maximum 20; matches any value.'}, 'material_types': {'type': ['array', 'null'], 'items': {'type': ['string', 'null']}, 'default': None, 'description': 'Array of formats: image, video, playable. Mutually exclusive with video_type.'}, 'creative_topics': {'type': ['array', 'null'], 'items': {'type': ['string', 'null']}, 'default': None, 'description': 'Array of canonical creative-topic values; maximum 20; matches any value.'}, 'publisher_platforms': {'type': ['array', 'null'], 'items': {'type': ['string', 'null']}, 'default': None, 'description': 'Array of delivery platforms: facebook, instagram, messenger, audience_network, threads, admob, youtube, tiktok, mintegral, unity, applovin, ironsource, vungle or pangle.'}, 'duration_max_seconds': {'type': ['number', 'null'], 'default': None, 'description': 'Exclusive maximum duration in seconds; must be positive and greater than the minimum.'}, 'duration_min_seconds': {'type': ['number', 'null'], 'default': None, 'description': 'Inclusive minimum duration in seconds; must be nonnegative.'}}}
search_materials_v2
Discover creatives by games, countries, platforms, formats, languages, aspect ratio, duration, device, quality and discovery dates. Each result has an atomically associated material_reference, without standalone creative/ad IDs. country_match contains matches any country; exclusive requires exact set equality. Exposure is global lifetime estimated exposure, not country-specific. Pagination reports has_more, not an exact total. Use get_game_platform_stats for totals, never repeated paging. Arbitrary visual-description semantic search is not supported.
输入模式
{'type': 'object', 'properties': {'genre': {'type': ['string', 'null'], 'default': None, 'description': 'Optional game genre in English or Chinese. Combined with the other discovery filters.'}, 'limit': {'type': ['integer', 'null'], 'default': None, 'description': 'Number of results; default 20; maximum 50.'}, 'query': {'type': ['string', 'null'], 'default': None, 'description': 'Optional natural-language creative query, 2-200 characters. English concepts are expanded to Chinese source labels internally. Unlike keyword, this uses concept matching, not exact text matching. Not arbitrary scene-description vector search.'}, 'device': {'type': ['string', 'null'], 'default': None, 'description': 'ios or android; omit or use all for either.'}, 'offset': {'type': ['integer', 'null'], 'default': None, 'description': 'Pagination offset; default 0.'}, 'date_to': {'type': ['string', 'null'], 'default': None, 'description': 'End date, YYYY-MM-DD; defaults to today unless explicitly required.'}, 'keyword': {'type': ['string', 'null'], 'default': None, 'description': "Search text in the user's original language. Maximum 100 characters."}, 'quality': {'type': ['string', 'null'], 'default': None, 'description': 'hd: short edge at least 720 pixels; sd: below 720. Omit or use all for any quality.'}, 'sort_by': {'type': ['string', 'null'], 'default': None, 'description': 'Sort order: heat, latest, ending, reinvestment. The first value is the default.'}, 'game_ids': {'type': ['array', 'null'], 'items': {'type': ['string', 'null']}, 'default': None, 'description': 'Game tokens returned by this service; maximum 20. For compare_games, supply 2-5 tokens.'}, 'date_from': {'type': ['string', 'null'], 'default': None, 'description': "Start date, YYYY-MM-DD. Follow this tool's required-date and range constraints."}, 'languages': {'type': ['array', 'null'], 'items': {'type': ['string', 'null']}, 'default': None, 'description': 'Array of exact canonical creative-language values; maximum 20.'}, 'video_type': {'type': ['integer', 'null'], 'default': None, 'description': 'Creative format: 0=image, 1=video, 2=playable. Do not combine with material_type/material_types.'}, 'aspect_ratio': {'type': ['string', 'null'], 'default': None, 'description': 'landscape, portrait, or square. Omit for any orientation.'}, 'country_codes': {'type': ['array', 'null'], 'items': {'type': ['string', 'null']}, 'default': None, 'description': 'Array of ISO 3166-1 alpha-2 delivery-country codes, for example ["TR","US"]; maximum 20.'}, 'country_match': {'type': ['string', 'null'], 'default': None, 'description': 'contains (default): match any specified country. exclusive: the complete delivery-country set must exactly equal the specified set.'}, 'only_discover': {'type': ['boolean', 'null'], 'default': None, 'description': 'true: first discovery falls within the range. false or omitted: creative lifetime overlaps the range.'}, 'material_types': {'type': ['array', 'null'], 'items': {'type': ['string', 'null']}, 'default': None, 'description': 'Array of formats: image, video, playable. Mutually exclusive with video_type.'}, 'publisher_platforms': {'type': ['array', 'null'], 'items': {'type': ['string', 'null']}, 'default': None, 'description': 'Array of delivery platforms: facebook, instagram, messenger, audience_network, threads, admob, youtube, tiktok, mintegral, unity, applovin, ironsource, vungle or pangle.'}, 'duration_max_seconds': {'type': ['number', 'null'], 'default': None, 'description': 'Exclusive maximum duration in seconds; must be positive and greater than the minimum.'}, 'duration_min_seconds': {'type': ['number', 'null'], 'default': None, 'description': 'Inclusive minimum duration in seconds; must be nonnegative.'}}}
submit_reference_image_search
Submit a reference-image similarity search as an asynchronous job. Use this when the user provides a directly downloadable public HTTPS image URL. The URL must resolve to image bytes without login or hotlink protection; HTML pages, local paths, and base64 are not supported. The embedding provider validates image format and size asynchronously and returns IMAGE_FETCH_FAILED, INVALID_IMAGE, or EMBEDDING_MODEL_ERROR when processing cannot continue. Genre aliases are normalized internally. If a normalized genre produces no candidates, the completed result explicitly marks a visual-only fallback instead of silently returning an empty set. Example: 'Find ads visually similar to this reference image.'
输入模式
{'type': 'object', 'required': ['image_url'], 'properties': {'genre': {'type': ['string', 'null'], 'default': None, 'description': 'Optional game genre or sub-genre, for example SLG, match-3, puzzle, RPG. Aliases are normalized internally. If the normalized genre has no candidates, results may use an explicitly disclosed visual-only fallback.'}, 'limit': {'type': ['integer', 'null'], 'default': None, 'description': 'Number of similar creatives to return when the job completes. Maximum 20.'}, 'format': {'type': ['string', 'null'], 'default': None, 'description': 'Optional creative format: image, video, or playable.'}, 'country': {'type': ['string', 'null'], 'default': None, 'description': 'Optional ISO 3166-1 alpha-2 country code, for example US, JP, KR, GB.'}, 'platform': {'type': ['string', 'null'], 'default': None, 'description': 'Optional platform filter, for example facebook, instagram, tiktok, youtube, admob.'}, 'image_url': {'type': 'string', 'description': 'Directly downloadable public HTTPS image URL. It must return image bytes without login or hotlink protection. Do not pass an HTML page, local path, base64, or expiring authenticated URL.'}}}
已添加
get_store_game_rank_filter
2026年9月17日 07:56
已添加
get_reference_image_search_results
2026年9月17日 07:56
已添加
report_capability_gap
2026年9月17日 07:56
已添加
get_game_ads_v2
2026年9月17日 07:56
已添加
get_game_publisher_platform_ratio
2026年9月17日 07:56
已添加
search_materials_v2
2026年9月17日 07:56
已添加
search_materials_by_filter
2026年9月17日 07:56
已添加
get_game_platform_stats
2026年9月17日 07:56
已添加
get_store_first_seen_games
2026年9月17日 07:56
已添加
get_material_rank
2026年9月17日 07:56
已添加
get_game_country_distribution
2026年9月17日 07:56
已添加
get_game_detail
2026年9月17日 07:56
已添加
get_game_daily_impressions
2026年9月17日 07:56
已添加
compare_games
2026年9月17日 07:56
已添加
resolve_game_by_identifier
2026年9月17日 07:56
已添加
submit_reference_image_search
2026年9月17日 07:56
已添加
get_game_publisher_platform_trend
2026年9月17日 07:56
已添加
search_materials_distribution
2026年9月17日 07:56
已添加
get_game_materials
2026年9月17日 07:56
已添加
get_store_game_rank_trend
2026年9月17日 07:56
已添加
get_filter_options
2026年9月17日 07:56
已添加
get_store_game_rank
2026年9月17日 07:56
已添加
get_context
2026年9月17日 07:56
已添加
get_reference_image_search_status
2026年9月17日 07:56
已添加
get_material_reuse_clues
2026年9月17日 07:56
已添加
search_materials_by_keyword
2026年9月17日 07:56
已添加
get_similar_materials_v2
2026年9月17日 07:56
已添加
get_game_install_trend
2026年9月17日 07:56
已添加
search_games
2026年9月17日 07:56
已添加
get_material_detail_v2
2026年9月17日 07:56