# CreativeScope — Mobile Game Ad Creative Intelligence (remote · mcp.creativescope.ai)

Mobile-game ad creative intelligence across SDK ad networks: search, rankings, AI hook analysis.

- Trust score: 75/100 (medium)
- Change this week: +8
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `mcp.creativescope.ai`: 75/100 (this document), [markdown](https://verifymcp.io/servers/ai-creativescope-creative-intelligence/mcp.md), [page](https://verifymcp.io/servers/ai-creativescope-creative-intelligence/mcp)

## Channel facts

- Endpoint: `https://mcp.creativescope.ai/mcp`
- Transports: `streamable-http`
- Auth: `required`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 84/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.
  - HTTPS not yet verified: we couldn't determine whether a plaintext access path exists.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
  - The authorisation server supports Client ID Metadata Documents, the current MCP client-registration mechanism.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 64/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2475 tokens (~206/item across 12 items; 12 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http ai-creativescope-creative-intelligence https://mcp.creativescope.ai/mcp
```

### Codex

```toml
[mcp_servers.ai-creativescope-creative-intelligence]
url = "https://mcp.creativescope.ai/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ai-creativescope-creative-intelligence": {
      "type": "remote",
      "url": "https://mcp.creativescope.ai/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add ai-creativescope-creative-intelligence --url https://mcp.creativescope.ai/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  ai-creativescope-creative-intelligence:
    url: "https://mcp.creativescope.ai/mcp"
```

### Other

```json
{
  "mcpServers": {
    "ai-creativescope-creative-intelligence": {
      "type": "http",
      "url": "https://mcp.creativescope.ai/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 75, +2)

- [security improvement] DNSSEC: fail → pass

### 2026-08-01 (score 73, −1)

- [security regression] DNSSEC: pass → fail

### 2026-07-31 (score 74, +4)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 70, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 69, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-28 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 67, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 67)

First indexed and scored.

## MCP tools (12)

### `search_creatives` (~403 tokens)

Search mobile game ad creatives by keyword or visual-description-like natural language. For an English request, send the original English concepts only. The service internally expands genre, hook, mood, art-style, and gameplay-mechanic concepts to Chinese source-label equivalents for retrieval; generated translations must not be inserted into the public request. Use this for finding UGC-style ads, winning creatives, opening hook examples, playable ads, and platform/country/genre slices. Results include the original creative asset as media_url when available. Creative tag fields are normalized to English in the result. Example: 'Find UGC-style match-3 video ads in the US.'

Input parameters:

- `country` (string|null): ISO 3166-1 alpha-2 country code, for example US, JP, KR, GB.
- `date_range` (string|null): Date range. Supports last_7_days, last_30_days, last_90_days, or 'YYYY-MM-DD..YYYY-MM-DD'. Defaults to last_90_days.
- `format` (string|null): Creative format: image, video, or playable.
- `genre` (string|null): Game genre or sub-genre in the user's original language, for example match-3, puzzle, or SLG. Chinese source-label expansion is internal.
- `limit` (integer|null): Number of creatives to return. Maximum 20.
- `orientation` (string|null): Optional creative orientation: portrait, landscape, or square. For video, this is derived from existing media width and height metadata.
- `platform` (string|null): Ad platform filter. Supported values: facebook, instagram, messenger, audience_network, threads, admob, youtube, tiktok, mintegral, unity, applovin, ironsource, vungle, pangle.
- `query` (string, required): Natural-language search query in the user's original language. Do not append generated Chinese translations to an English query; the service performs Chinese source-label expansion internally.

### `get_creative_detail` (~74 tokens)

Get one creative's delivery metadata and English creative insights, including opening hook signals, scene descriptions, and creative patterns when available. Example: 'Why does this winning creative work?'

Input parameters:

- `creative_id` (string, required): Creative ID returned by search_creatives, find_similar_creatives, or get_creative_rankings.

### `get_creative_rankings` (~230 tokens)

Get global or genre-level rising creative rankings by day, week, or month, or evergreen creative rankings from the monthly snapshot; platform and country filters are not supported. Evergreen data is monthly only; day/week requests are normalized to month and disclosed in request_echo. Use this to answer what's rising this week, what evergreen creatives keep working, or which hook patterns repeat in a genre. For platform- or country-filtered discovery, use search_creatives and do not describe those results as an official rising or evergreen ranking. Creative tag fields are normalized to English in the result. Example: 'Which SLG creatives are rising this month?'

Input parameters:

- `genre` (string|null): Optional genre/category filter in the user's original language, for example match-3 or SLG. Chinese source-label expansion is internal.
- `limit` (integer|null): Number of ranked creatives to return. Maximum 20.
- `period` (string, required): Ranking period: day, week, or month. Evergreen supports month only; other values are normalized to month.
- `type` (string, required): Ranking type: rising or evergreen.

### `generate_weekly_creative_brief` (~261 tokens)

Generate a compact creative brief from recent high-signal mobile game ads. Use this for weekly inspiration, hook mining, competitor creative planning, and UA brainstorming. Creative tag fields are normalized to English in the result. Example: 'Create this week's puzzle-game creative brief for Facebook.'

Input parameters:

- `country` (string|null): ISO 3166-1 alpha-2 country code, for example US, JP, KR, GB.
- `date_range` (string|null): Date range. Supports last_7_days, last_30_days, last_90_days, or 'YYYY-MM-DD..YYYY-MM-DD'. Defaults to last_7_days.
- `format` (string|null): Creative format: image, video, or playable.
- `genre` (string|null): Game genre or sub-genre in the user's original language, for example match-3 or puzzle. Chinese source-label expansion is internal.
- `limit` (integer|null): Number of representative creatives to include. Maximum 20.
- `platform` (string|null): Ad platform filter. Supported values: facebook, instagram, messenger, audience_network, threads, admob, youtube, tiktok, mintegral, unity, applovin, ironsource, vungle, pangle.

### `search_advertisers` (~181 tokens)

Search advertisers, game studios, or mobile games by name and optional genre, region, and platform filters. Use the returned advertiser_id with get_advertiser_profile. Example: 'Find the advertiser for Last War.'

Input parameters:

- `genre` (string|null): Game genre or sub-genre filter in the user's original language. Chinese source-label expansion is internal.
- `limit` (integer|null): Number of advertisers to return. Maximum 20.
- `platform` (string|null): Optional ad platform filter. Supported values include facebook, instagram, tiktok, admob, youtube, unity, applovin, mintegral, ironsource, vungle, and pangle.
- `query` (string, required): Advertiser, studio, or game name query.
- `region` (string|null): Region or ISO country code filter. Exact matching depends on current availability metadata.

### `get_advertiser_profile` (~81 tokens)

Get an advertiser or game profile, including recent ad activity, creative volume, target countries, and platforms. Creative tag fields are normalized to English in the result. Example: 'Which markets and platforms is this game scaling on?'

Input parameters:

- `advertiser_id` (string, required): Advertiser ID returned by search_advertisers or as game_id in creative results.

### `get_reference_image_search_results` (~77 tokens)

Get completed reference-image search results. If the job is still running, returns polling guidance. Example: 'Show the matches from my reference-image search.'

Input parameters:

- `job_id` (string, required): Job ID returned by submit_reference_image_search.
- `limit` (integer|null): Maximum number of hydrated creative records to return. Maximum 20.

### `get_game_rank_markets` (~239 tokens)

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.

Input parameters:

- `date_from` (string|null): Start date in YYYY-MM-DD. Defaults to 89 days before date_to.
- `date_to` (string|null): End date in YYYY-MM-DD. Defaults to today.
- `game_id` (string, required): Encrypted game ID returned by search_advertisers or as game_id/advertiser_id in other results.
- `limit` (integer|null): Maximum dimension rows to return. Maximum 200; defaults to 100.
- `rank_types` (array|null): Ranking types: free, store_paid, grossing. Defaults to all three.
- `store` (string|null): Store: all, google_play, or app_store. Defaults to all.

### `get_game_rank_trend` (~311 tokens)

Get one mobile game's daily app-store ranking performance over a date range. Returns free, store-paid, and top-grossing ranking series with best/latest rank and the matched country, category, and store. Use mode=best to select the game's best daily rank across supported countries and categories, or mode=exact for one country/category/store combination. Supported stores are Google Play, iPhone App Store, and all (Google Play plus iPhone App Store). Date range defaults to the last 90 days and cannot exceed 365 days.

Input parameters:

- `category` (string|null): App-store category. Used by exact mode; defaults to all categories.
- `country` (string|null): ISO 3166-1 alpha-2 country code. Used by exact mode; defaults to US.
- `date_from` (string|null): Start date in YYYY-MM-DD. Defaults to 89 days before date_to.
- `date_to` (string|null): End date in YYYY-MM-DD. Defaults to today.
- `game_id` (string, required): Encrypted game ID returned by search_advertisers or as game_id/advertiser_id in other results.
- `mode` (string|null): Query mode: best or exact. Defaults to best.
- `rank_types` (array|null): Ranking types: free, store_paid, grossing. Defaults to all three.
- `store` (string|null): Store: all, google_play, or app_store. Used as a constraint in both modes; defaults to all.

### `submit_reference_image_search` (~327 tokens)

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.'

Input parameters:

- `country` (string|null): Optional ISO 3166-1 alpha-2 country code, for example US, JP, KR, GB.
- `format` (string|null): Optional creative format: image, video, or playable.
- `genre` (string|null): 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-o…
- `image_url` (string, required): 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.
- `limit` (integer|null): Number of similar creatives to return when the job completes. Maximum 20.
- `platform` (string|null): Optional platform filter, for example facebook, instagram, tiktok, youtube, admob.

### `find_similar_creatives` (~241 tokens)

Find visually similar creatives using the stored vector of an existing creative. For a concept without an ID, query selects an explainable seed from available creative metadata and then uses the same vector-neighbor search. For an English concept, send the original English terms only. The service resolves Chinese source-label equivalents internally before selecting the seed. Returns creative records ordered from most to least visually similar; low-similarity and near-duplicate results are excluded, and raw similarity scores are not exposed. If request_echo.seed_basis identifies a proxy seed, clearly disclose that limitation instead of presenting the results as an exact concept match. Example: 'Show variants of the toilet run viral creative concept.'

Input parameters:

- `creative_id` (string|null): Optional creative ID returned by search_creatives, get_creative_rankings, or get_reference_image_search_results. Supply creative_id or query.
- `limit` (integer|null): Number of similar creatives to return. Maximum 20.
- `query` (string|null): Optional concept query in the user's original language used to select a seed before vector similarity. Do not append generated translations; source-label expansion is internal. Supply query or creati…

### `get_reference_image_search_status` (~50 tokens)

Get the processing status of a reference-image search job. Example: 'Is my reference-image search finished yet?'

Input parameters:

- `job_id` (string, required): Job ID returned by submit_reference_image_search.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/ai-creativescope-creative-intelligence/mcp#diagnostics

## Score history

- 2026-08-03: 75
- 2026-08-02: 75
- 2026-08-01: 73
- 2026-07-31: 74
- 2026-07-30: 70
- 2026-07-29: 69
- 2026-07-28: 68
- 2026-07-27: 67
- 2026-07-26: 67

## Links

- Remote endpoint: https://mcp.creativescope.ai/mcp
- Authorisation metadata: https://mcp.creativescope.ai/.well-known/oauth-protected-resource/mcp
- Repository: https://github.com/creativescope/creativescope-mcp
- Website: https://creativescope.ai/
- Changelog RSS feed: https://verifymcp.io/servers/ai-creativescope-creative-intelligence/mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/ai-creativescope-creative-intelligence/mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/ai-creativescope-creative-intelligence/mcp
