# io.github.IsaiahDupree/storebridge-mcp (remote · storebridge-mcp.vercel.app)

Remote MCP connector for App Store + Google Play data via StoreBridge API. No auth required.

- Trust score: 72/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `storebridge-mcp.vercel.app`: 72/100 (this document), [markdown](https://verifymcp.io/servers/isaiahdupree-storebridge-mcp/storebridge-mcp.md), [page](https://verifymcp.io/servers/isaiahdupree-storebridge-mcp/storebridge-mcp)

## Channel facts

- Endpoint: `https://storebridge-mcp.vercel.app/mcp`
- Transports: `streamable-http`
- Auth: `none`
- 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**: 80/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 70/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1849 tokens (~142/item across 13 items; 13 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 7/100
  - Stability observed for 2 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 isaiahdupree-storebridge-mcp https://storebridge-mcp.vercel.app/mcp
```

### Codex

```toml
[mcp_servers.isaiahdupree-storebridge-mcp]
url = "https://storebridge-mcp.vercel.app/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "isaiahdupree-storebridge-mcp": {
      "type": "remote",
      "url": "https://storebridge-mcp.vercel.app/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add isaiahdupree-storebridge-mcp --url https://storebridge-mcp.vercel.app/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  isaiahdupree-storebridge-mcp:
    url: "https://storebridge-mcp.vercel.app/mcp"
```

### Other

```json
{
  "mcpServers": {
    "isaiahdupree-storebridge-mcp": {
      "type": "http",
      "url": "https://storebridge-mcp.vercel.app/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-03 (score 72, +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-08-02 (score 71, 0)

- [functional improvement] Stability: unverified → 0.03

### 2026-08-01 (score 71)

First indexed and scored.

## MCP tools (13)

### `search_apps` (~256 tokens)

Search apps

Search apps on the Apple App Store, Google Play, or both. Returns matching apps with store, title, developer, icon, price, rating, category, and url. Use store="both" to fan out to both engines and merge results. Apple limit is clamped to 50; Google supports 1-250. The price filter (free/paid) only applies to Google.

Input parameters:

- `country` (string): ISO-3166 alpha-2 storefront/region, lowercase. Defaults to us.
- `device` (string): Apple only. Maps to software / iPadSoftware / macSoftware. Default iphone.
- `fullDetail` (boolean): Google only; expensive (per-result full fetch). Default false.
- `lang` (string): Language (Apple form en_us, Google form en). Derived from country when omitted.
- `limit` (integer): Max results. Apple is clamped to 50; Google accepts 1-250. Default 50.
- `price` (string): Price filter. Google only; Apple ignores it. Default all.
- `store` (string, required): Target store. "both" fans out to both engines and merges results.
- `term` (string, required): URL-encoded search term.

### `get_apps_batch` (~197 tokens)

Look up apps by bundle id or batch of ids

Resolve a single Apple app by bundleId (e.g. com.burbn.instagram), or fetch many apps at once with a comma-separated ids batch (Apple up to ~200 ids in one round-trip; Google fans out and coalesces). A batch request returns an "apps" array; a bundleId request returns a single "app". Supports store="both" for batch lookups.

Input parameters:

- `bundleId` (string): Apple bundle id to resolve, e.g. com.burbn.instagram. Mutually informative with ids.
- `country` (string): ISO-3166 alpha-2 storefront/region, lowercase. Defaults to us.
- `ids` (string): Comma-separated app ids for a batch lookup (up to ~200).
- `lang` (string): Language. Derived from country when omitted.
- `store` (string, required): Target store. "both" is supported for batch (ids) lookups.

### `get_app` (~156 tokens)

Get app details

Full details for one app: description, version, release dates, content rating, genres, screenshots, languages, rating (with histogram and current-version stats), version history, size, installs, IAP flag, privacy policy, and store-specific extras. {id} is the Apple trackId (numeric string, e.g. 6448311069) or the Google package name (e.g. com.whatsapp).

Input parameters:

- `country` (string): ISO-3166 alpha-2 storefront/region, lowercase. Defaults to us.
- `id` (string, required): Apple trackId (numeric string) or Google package name.
- `lang` (string): Language. Derived from country when omitted.
- `store` (string, required): Target store.

### `get_app_reviews` (~241 tokens)

Get app reviews

Reviews for one app. Apple reviews come from the customerreviews RSS feed and are hard-capped at 500 per app per country (50/page x pages 1-10); page>10 returns an error, and sort="rating" is not supported for Apple. Google reviews are token-paginated and effectively unbounded — pass the nextToken from a prior call's pagination to page forward.

Input parameters:

- `country` (string): ISO-3166 alpha-2 storefront/region, lowercase. Defaults to us.
- `id` (string, required): Apple trackId (numeric string) or Google package name.
- `lang` (string): Language. Derived from country when omitted.
- `limit` (integer): Apple clamped to 50. Google ~150-200/page. Default 50.
- `page` (integer): Apple only, 1-10 (RSS is fixed 50/page). Default 1.
- `sort` (string): Sort order. "rating" is unsupported for Apple. Default recent.
- `store` (string, required): Target store.
- `token` (string): Google only. The nextToken from a prior page's pagination.

### `get_similar_apps` (~105 tokens)

Get similar apps

"Customers also bought" / related apps for one app. First-class on both stores.

Input parameters:

- `country` (string): ISO-3166 alpha-2 storefront/region, lowercase. Defaults to us.
- `id` (string, required): Apple trackId (numeric string) or Google package name.
- `lang` (string): Language. Derived from country when omitted.
- `limit` (integer): Max results. Default 20.
- `store` (string, required): Target store.

### `get_app_permissions` (~69 tokens)

Get app permissions (Google only)

Google Play declared device/data permissions for one app, grouped by permission group. Google only — passing store="apple" returns a not_supported error.

Input parameters:

- `id` (string, required): Google package name.
- `lang` (string): Language.
- `store` (string): Must be google. Default google.

### `get_app_datasafety` (~80 tokens)

Get app data safety (Google only)

Google Play "Data safety" section for one app: data shared, data collected, security practices, and privacy policy URL. Google only — passing store="apple" returns a not_supported error.

Input parameters:

- `id` (string, required): Google package name.
- `lang` (string): Language.
- `store` (string): Must be google. Default google.

### `get_charts` (~229 tokens)

Get top charts

Ranked top-chart entries (App summary plus rank) for a store. type is free/paid/grossing (Apple also supports new/newfree/newpaid). category is an Apple genre id (e.g. 6007) or a Google category constant (e.g. PRODUCTIVITY); omit for the overall chart. Google list() may return an empty array with meta.stale=true when a region is broken.

Input parameters:

- `category` (string): Apple genre id (e.g. 6007) or Google category constant (e.g. PRODUCTIVITY). Omit for overall chart.
- `country` (string): ISO-3166 alpha-2 storefront/region, lowercase. Defaults to us.
- `fullDetail` (boolean): Google only; expensive. Default false.
- `limit` (integer): Apple practical max ~200; Google up to ~660 (usually <=500). Default 50.
- `store` (string, required): Target store.
- `type` (string): Chart type: free, paid, grossing (Apple also: new, newfree, newpaid). Default free.

### `get_categories` (~52 tokens)

Get categories / genres

List categories for a store. Apple returns its static 6000/7000-range genre map; Google returns its categories() constants.

Input parameters:

- `lang` (string): Language.
- `store` (string, required): Target store.

### `get_developer` (~135 tokens)

Get developer portfolio

A developer record plus their published apps. {id} is the Apple artistId (numeric) or the Google developerId string (e.g. "Google LLC").

Input parameters:

- `country` (string): ISO-3166 alpha-2 storefront/region, lowercase. Defaults to us.
- `fullDetail` (boolean): Google only; expensive. Default false.
- `id` (string, required): Apple artistId (numeric) or Google developerId string.
- `lang` (string): Language. Derived from country when omitted.
- `limit` (integer): Max apps returned. Default 60.
- `store` (string, required): Target store.

### `autocomplete_suggest` (~83 tokens)

Autocomplete search suggestions

Up to 5 autocomplete completions for a partial search query. First-class on both stores.

Input parameters:

- `country` (string): ISO-3166 alpha-2 storefront/region, lowercase. Defaults to us.
- `lang` (string): Language. Derived from country when omitted.
- `store` (string, required): Target store.
- `term` (string, required): Partial query.

### `get_aso_keywords` (~111 tokens)

Get ASO keyword ideas (estimated)

Directional keyword ideas for a seed term, each with a difficulty score/label, traffic score, result count, and top competitors — derived from live search/suggest results, not panel data. Every result is labeled estimated:true.

Input parameters:

- `country` (string): ISO-3166 alpha-2 storefront/region, lowercase. Defaults to us.
- `lang` (string): Language. Derived from country when omitted.
- `store` (string, required): Target store.
- `term` (string, required): Seed keyword.

### `get_aso_rank` (~135 tokens)

Get ASO keyword rank (estimated, point-in-time)

Point-in-time rank of one app across up to 20 keywords (one live search per keyword, fan-out capped at 20). Every result is labeled estimated:true. This is a snapshot, not rank tracking over time.

Input parameters:

- `appId` (string, required): Target app id (Apple trackId or Google package name).
- `country` (string): ISO-3166 alpha-2 storefront/region, lowercase. Defaults to us.
- `keywords` (string, required): Comma-separated keywords, max 20.
- `lang` (string): Language. Derived from country when omitted.
- `store` (string, required): Target store.

## Diagnostics

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

## Score history

- 2026-08-03: 72
- 2026-08-02: 71
- 2026-08-01: 71

## Links

- Remote endpoint: https://storebridge-mcp.vercel.app/mcp
- Repository: https://github.com/IsaiahDupree/storebridge-mcp
- Website: https://storebridge-mcp.vercel.app/
- Changelog RSS feed: https://verifymcp.io/servers/isaiahdupree-storebridge-mcp/storebridge-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/isaiahdupree-storebridge-mcp/storebridge-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/isaiahdupree-storebridge-mcp/storebridge-mcp
