storebridge-mcp
Server Details
Remote MCP connector for App Store + Google Play data via StoreBridge API. No auth required.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- IsaiahDupree/storebridge-mcp
- GitHub Stars
- 0
- Server Listing
- storebridge-mcp
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.2/5 across 13 of 13 tools scored. Lowest: 3.6/5.
Each tool targets a distinct data resource: app details, reviews, permissions, data safety, charts, categories, developer, similar apps, search, autocomplete, and ASO keyword/rank tools. Even get_app vs get_apps_batch is clearly separated by single vs batch/bundleId lookups.
Most tools follow a get_* verb_noun pattern (get_app, get_charts, get_developer), but autocomplete_suggest and search_apps deviate slightly. The style is otherwise consistent with clear snake_case naming.
13 tools is well within the ideal range for a store data API serving both Apple and Google. Each tool covers a distinct aspect, and none are redundant or excessive.
The tool set covers all major read-only store data needs: search, detailed app info, reviews, charts, categories, developer, similar apps, and ASO insights. Minor gaps include lack of time-series rank tracking and no dedicated changelog endpoint, but version history is included in get_app.
Available Tools
13 toolsautocomplete_suggestAutocomplete search suggestionsARead-onlyIdempotentInspect
Up to 5 autocomplete completions for a partial search query. First-class on both stores.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language. Derived from country when omitted. | |
| term | Yes | Partial query. | |
| store | Yes | Target store. | |
| country | No | ISO-3166 alpha-2 storefront/region, lowercase. Defaults to us. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds the 5-result limit and asserts both stores are supported, but omits return format, error behavior, or edge cases. This is adequate but not rich beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the core capability and result limit. The second sentence adds useful scope information without unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and well-covered by annotations and schema, but the description does not explain return structure, locale handling, or fallback behavior. It is sufficient for basic invocation but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all four parameters. The description does not add parameter-specific meaning beyond the schema, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns up to 5 autocomplete completions for a partial search query, using a specific verb (returns) and resource (autocomplete completions). This distinguishes it from sibling tools like search_apps or get_aso_keywords.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for a partial search query' implies the primary use case, but the description does not explicitly compare with sibling tools or state when not to use it. No exclusions or alternate tool references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_appGet app detailsARead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Apple trackId (numeric string) or Google package name. | |
| lang | No | Language. Derived from country when omitted. | |
| store | Yes | Target store. | |
| country | No | ISO-3166 alpha-2 storefront/region, lowercase. Defaults to us. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds no extra behavioral traits such as rate limits, required authentication, or response size. It primarily lists output contents and id format, which are more about purpose and parameters than behavior, so it doesn't go beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and efficiently packs the tool's purpose and key parameter semantics. The first sentence gives a comprehensive but focused list of output fields, and the second clarifies the id format with examples. No redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by enumerating the major response fields (rating histogram, version history, IAP flag, etc.). Combined with solid annotations and clear parameter descriptions, it gives the agent a strong understanding of what to expect. Minor omissions like error behavior or missing fields for certain stores are not critical given the annotations and the tool's read-only nature.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters with descriptions, including the id format (Apple trackId or Google package name). The description repeats the id explanation but adds concrete examples (6448311069, com.whatsapp) that clarify the expected format. No other parameters gain new meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Full details for one app' and provides an extensive list of returned data fields (description, version, release dates, rating, etc.). It clearly identifies the tool's specific function (fetching comprehensive app details) and distinguishes it from siblings like get_app_datasafety and get_app_reviews by being the general-purpose detail fetcher.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the tool's use case clear: retrieving complete app metadata for a single app. However, it does not explicitly mention alternative tools for narrower queries (e.g., get_app_reviews for reviews) or provide when-not-to-use guidance. The context is clear but lacks explicit exclusions or referral to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_app_datasafetyGet app data safety (Google only)ARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Google package name. | |
| lang | No | Language. | |
| store | No | Must be google. Default google. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate read-only, idempotent, non-destructive operations. The description adds behavioral context beyond these by specifying that non-Google store values yield a not_supported error and enumerating the returned data categories, which is not in the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences that efficiently convey the tool's purpose, output contents, and a key error condition. No wasted words; front-loaded with the main purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description compensates by listing the content areas returned (data shared, collected, security practices, privacy policy URL). It also covers the platform limitation with an error example. The tool is simple (3 params), so this is sufficiently complete, though it lacks explicit return structure details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for all three parameters (100% coverage). The description does not add new parameter-specific semantics beyond the schema; it merely reinforces the store='google' constraint already in the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving the Google Play Data safety section for a single app, listing the specific content areas (data shared, collected, security practices, privacy policy URL). It distinguishes itself from sibling tools like get_app_permissions by focusing on data safety, and the Google-only limitation is explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the tool is Google-only and that passing store='apple' results in a not_supported error, providing a clear exclusion. It gives context that it is for the data safety section of one app, implying when it should be used, though it does not directly compare to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_app_permissionsGet app permissions (Google only)ARead-onlyIdempotentInspect
Google Play declared device/data permissions for one app, grouped by permission group. Google only — passing store="apple" returns a not_supported error.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Google package name. | |
| lang | No | Language. | |
| store | No | Must be google. Default google. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish that this is a safe, read-only, idempotent operation. The description adds useful context beyond the schema: the grouping by permission group and the specific error behavior when an invalid store value is provided. This goes beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main purpose and immediately followed by the critical constraint. Every word earns its place, with no fluff or redundancy. It is exceptionally concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with fully documented parameters and clear annotations, the description provides all necessary context: the exact data returned, the grouping structure, and the error behavior for a common mistake. No important information appears missing for correct tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides complete descriptions for all three parameters (id, lang, store) with 100% coverage. The description reiterates the Google-only restriction, matching the schema, but adds no additional semantic detail beyond what is already in the structured parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action and resource: retrieving Google Play declared device/data permissions for one app, grouped by permission group. It distinguishes itself from sibling tools like get_app and get_app_datasafety by focusing on permissions and the Google-only scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Google only' and warns that passing store="apple" returns a not_supported error, which is a clear when-not condition. However, it doesn't name alternative tools or explain when to prefer this over get_app_datasafety, so it lacks full explicit guidance on alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_app_reviewsGet app reviewsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Apple trackId (numeric string) or Google package name. | |
| lang | No | Language. Derived from country when omitted. | |
| page | No | Apple only, 1-10 (RSS is fixed 50/page). Default 1. | |
| sort | No | Sort order. "rating" is unsupported for Apple. Default recent. | |
| limit | No | Apple clamped to 50. Google ~150-200/page. Default 50. | |
| store | Yes | Target store. | |
| token | No | Google only. The nextToken from a prior page's pagination. | |
| country | No | ISO-3166 alpha-2 storefront/region, lowercase. Defaults to us. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses important behavioral traits beyond the annotations: Apple's hard cap of 500 reviews, page limits (1-10), error on page>10, unsupported sort 'rating', and Google's token-based pagination with effectively unbounded results. These details are not present in the annotations and significantly enhance the agent's understanding of the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, consisting of two sentences that front-load the core purpose and then efficiently detail platform-specific constraints. Every sentence provides useful information without redundancy, making it well-structured and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 8 parameters and two platform variants, the description covers the key operational quirks and pagination details, which are the main sources of complexity. However, since there is no output schema, the description does not explain the return value structure (e.g., review fields), which slightly reduces completeness. Overall, it is nearly complete for the tool's purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of the parameters with detailed descriptions, so the baseline is 3. The description adds some context (e.g., the aggregate cap of 500 per country, the RSS feed source), but most of the parameter-specific details are already in the schema. Thus, the description doesn't add substantial meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Reviews for one app,' which clearly identifies the tool's function: retrieving reviews for a single app. It distinguishes itself from sibling tools like get_app or get_app_permissions by focusing specifically on reviews, and the platform-specific details reinforce its unique scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use the tool (for one app's reviews) and how to handle pagination differences between Apple and Google. It gives explicit usage tips like 'page>10 returns an error' and 'pass the nextToken from a prior call's pagination to page forward.' However, it doesn't explicitly name alternatives or state when not to use this tool, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_apps_batchLook up apps by bundle id or batch of idsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No | Comma-separated app ids for a batch lookup (up to ~200). | |
| lang | No | Language. Derived from country when omitted. | |
| store | Yes | Target store. "both" is supported for batch (ids) lookups. | |
| country | No | ISO-3166 alpha-2 storefront/region, lowercase. Defaults to us. | |
| bundleId | No | Apple bundle id to resolve, e.g. com.burbn.instagram. Mutually informative with ids. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (read-only, idempotent), the description adds meaningful behavioral details: Apple's ~200 id round-trip limit, Google's fan-out/coalescing, the response shape difference ('apps' array vs 'app' object), and the store='both' constraint. This significantly enriches the agent's understanding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action, and every clause conveys useful information without redundancy. It is efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential operational context: how to invoke single vs batch, the response shapes, and the store='both' restriction. With the schema providing parameter details and annotations covering safety, the description is complete for this tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes all five parameters (100% coverage), so the baseline is 3. The description adds value by explaining the relationship between bundleId and ids, clarifying that store='both' is only supported for batch lookups, and providing a concrete bundleId example, which goes beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Resolve'/'fetch') and resource ('apps'), and clearly distinguishes the batch capability from the single lookup by bundleId. It explicitly mentions the dual mode (single vs batch) and the store='both' option, differentiating it from sibling tools like get_app.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use batch lookups (when fetching many apps at once) versus a single bundleId lookup, and notes the Apple/Google fan-out behavior. However, it does not explicitly name alternative tools or state when not to use this tool, so it stops short of the highest bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_aso_keywordsGet ASO keyword ideas (estimated)ARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language. Derived from country when omitted. | |
| term | Yes | Seed keyword. | |
| store | Yes | Target store. | |
| country | No | ISO-3166 alpha-2 storefront/region, lowercase. Defaults to us. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that results are derived from live search/suggest results (not panel data) and that every result is labeled estimated:true. This adds significant value beyond the readOnly and openWorld annotations, which do not specify data source or estimation status.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the tool's purpose, output fields, and data source. Every clause earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description enumerates the result fields and the estimation flag, providing a clear picture of the return value. It does not cover pagination or limitations, but those may not be critical for this tool's use case.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are already documented in the schema. The description only refers to 'seed term' as the input, adding marginal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides directional keyword ideas for a seed term, with specific metrics (difficulty score/label, traffic score, result count, top competitors). It distinguishes from siblings by noting it derives from live search/suggest results, not panel data, which sets it apart from other ASO tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you have a seed term and need ASO keyword ideas. It provides clear context but does not explicitly mention alternatives or when not to use the tool, which is a minor gap given the sibling tools available.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_aso_rankGet ASO keyword rank (estimated, point-in-time)ARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language. Derived from country when omitted. | |
| appId | Yes | Target app id (Apple trackId or Google package name). | |
| store | Yes | Target store. | |
| country | No | ISO-3166 alpha-2 storefront/region, lowercase. Defaults to us. | |
| keywords | Yes | Comma-separated keywords, max 20. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only and idempotent annotations, the description discloses that each search is live, fan-out is capped at 20, results are labeled estimated:true, and this is a snapshot rather than historical tracking. These details add meaningful behavioral context not present in the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences deliver the essential information without redundancy. The description is front-loaded with the main purpose and each sentence adds value: scope, live-search behavior, and the estimated/snapshot nature.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description covers key behavioral caveats: live search, fan-out cap, estimated flag, and point-in-time semantics. Combined with the rich annotations and complete parameter schema, this gives an agent sufficient context to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides full descriptions for all five parameters, including max 20 keywords and defaults for country/lang. The description adds the live-search and fan-out behavior but does not significantly enhance parameter-level semantics beyond what the schema offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns point-in-time ASO keyword rank for one app across up to 20 keywords, using a specific verb and scope. It distinguishes itself from sibling tools like get_aso_keywords by emphasizing this is a rank snapshot, not tracking or keyword discovery.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: use for a current rank snapshot with up to 20 keywords, with a live search per keyword and fan-out cap. It explicitly says this is not rank tracking over time, offering a when-not-to-use cue, though it does not name an alternative tool for tracking.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_categoriesGet categories / genresARead-onlyIdempotentInspect
List categories for a store. Apple returns its static 6000/7000-range genre map; Google returns its categories() constants.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language. | |
| store | Yes | Target store. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a safe, read-only, idempotent operation. The description adds valuable behavioral context by explaining the differing data sources between Apple and Google, which is not present in the annotations. It does not describe the return format in detail, but the added store-specific behavior is useful beyond the structured metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: one sentence with a clear action prefix ('List categories for a store') followed by a brief, relevant explanation of store-specific behavior. Every word earns its place; no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with only two parameters, strong annotations, and no output schema, the description provides sufficient context. It explains the key behavioral difference between Apple and Google, which is the main complexity. A slight gap is the lack of return-type details, but given the tool's simplicity and the annotations' coverage, this is not a major omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing basic meaning for both parameters (lang, store). The description adds extra semantic value by explaining how the 'store' parameter alters behavior—Apple returns its static genre map, Google returns its categories() constants. This goes beyond the schema's simple 'Target store' description, justifying a score above the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'List categories for a store.' This is a specific verb+resource combination. It also distinguishes the tool from siblings by noting the Apple/Google genre-map difference, making it unique among app-focused siblings like get_app_reviews or search_apps.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly conveys when to use the tool: when you need categories for a store, with the store parameter determining the source. It provides clear context for both supported stores (Apple returns a static genre map, Google returns categories() constants), but does not explicitly mention alternatives or when not to use it. This is acceptable for a simple tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_chartsGet top chartsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Chart type: free, paid, grossing (Apple also: new, newfree, newpaid). Default free. | |
| limit | No | Apple practical max ~200; Google up to ~660 (usually <=500). Default 50. | |
| store | Yes | Target store. | |
| country | No | ISO-3166 alpha-2 storefront/region, lowercase. Defaults to us. | |
| category | No | Apple genre id (e.g. 6007) or Google category constant (e.g. PRODUCTIVITY). Omit for overall chart. | |
| fullDetail | No | Google only; expensive. Default false. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint and idempotentHint, and the description adds useful behavioral context: the potential empty array with meta.stale=true for Google when a region is broken, and the return format 'App summary plus rank'. This goes beyond what annotations alone provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (three sentences) and front-loaded with the core purpose. It is mostly efficient, though the phrase 'Google list()' is slightly confusing since the tool is named get_charts, and could distract the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides store-specific nuances and a caveat, but with no output schema it remains vague about the exact structure of returned entries. Saying 'App summary plus rank' is a decent high-level indication, but not fully complete for an agent to anticipate the response shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description restates parameter meanings (type, category) but adds no new details beyond the schema. The only extra nugget is 'omit for the overall chart', which is already present in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: returning ranked top-chart entries (App summary plus rank) for a store. This is a specific and concrete description that distinguishes it from sibling tools that focus on individual app details, ASO rank, or categories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives. It explains parameter semantics (type, category) but never mentions sibling tools like get_aso_rank or get_categories, nor does it state explicitly that this is the tool for store-wide charts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_developerGet developer portfolioARead-onlyIdempotentInspect
A developer record plus their published apps. {id} is the Apple artistId (numeric) or the Google developerId string (e.g. "Google LLC").
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Apple artistId (numeric) or Google developerId string. | |
| lang | No | Language. Derived from country when omitted. | |
| limit | No | Max apps returned. Default 60. | |
| store | Yes | Target store. | |
| country | No | ISO-3166 alpha-2 storefront/region, lowercase. Defaults to us. | |
| fullDetail | No | Google only; expensive. Default false. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, so the description adds minimal behavioral context. It mentions the id format for each store, which is helpful but not deep behavioral disclosure. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—two sentences that convey the core function and the id format. No filler or redundancy; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relatively simple read-only tool, the description adequately states what is returned and clarifies the id format. With no output schema, the description does not elaborate on the structure of the returned data, but the purpose is clear enough. The schema covers all parameters, so the description is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with descriptions for all parameters. The description's note about `{id}` being Apple artistId or Google developerId repeats the schema's parameter description, adding no new semantic information. Baseline 3 applies due to full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns 'a developer record plus their published apps', which is a specific and distinct purpose. The name 'Get developer portfolio' and the description differentiate it from sibling tools like get_app (single app) or search_apps.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving developer details and associated apps, but does not explicitly compare it to alternatives or state when not to use it. No exclusions or alternative tool references are provided, so the guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_similar_appsGet similar appsARead-onlyIdempotentInspect
"Customers also bought" / related apps for one app. First-class on both stores.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Apple trackId (numeric string) or Google package name. | |
| lang | No | Language. Derived from country when omitted. | |
| limit | No | Max results. Default 20. | |
| store | Yes | Target store. | |
| country | No | ISO-3166 alpha-2 storefront/region, lowercase. Defaults to us. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint true, and destructiveHint false, so the safety profile is clear. The description adds that the tool is 'first-class' on both stores, which is useful context about cross-store behavior, but does not disclose other behavioral traits such as potential empty results or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the core purpose ('Customers also bought' / related apps) and adds the key detail about store support. Every word contributes value, with no unnecessary filler or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple read-only retrieval operation with five parameters, two of which are required, and no output schema. The description covers the purpose and key context (cross-store support), and the schema covers parameter details. It is adequately complete for an API of this complexity, though it could mention output format or pagination behavior, but that is not critical given the simple nature.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema fully documents all five parameters including meanings for id, store, lang, limit, and country. The description does not add parameter semantics beyond what the schema already provides, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb+resource: it retrieves 'Customers also bought' / related apps for one app. It differentiates from sibling tools like get_app or get_app_reviews by specifying the 'similar apps' scope, and the mention of 'both stores' adds specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used to fetch related apps for a given app, but does not explicitly state when to use it over alternatives or when not to use it. No sibling tools or exclusions are mentioned, leaving guidance at a basic implied level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_appsSearch appsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language (Apple form en_us, Google form en). Derived from country when omitted. | |
| term | Yes | URL-encoded search term. | |
| limit | No | Max results. Apple is clamped to 50; Google accepts 1-250. Default 50. | |
| price | No | Price filter. Google only; Apple ignores it. Default all. | |
| store | Yes | Target store. "both" fans out to both engines and merges results. | |
| device | No | Apple only. Maps to software / iPadSoftware / macSoftware. Default iphone. | |
| country | No | ISO-3166 alpha-2 storefront/region, lowercase. Defaults to us. | |
| fullDetail | No | Google only; expensive (per-result full fetch). Default false. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, open-world, and non-destructive behavior. The description adds valuable operational details beyond annotations: Apple limit is clamped to 50, Google supports 1-250, price filter only applies to Google, and store='both' merges results. This is informative but not exhaustive (e.g., no mention of ordering or pagination).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences, front-loaded with purpose, and each sentence adds distinct value: what it does, what it returns, store='both' behavior, and platform-specific caveats. No redundant words or restatements.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 8 parameters and no output schema, the description gives a clear overall picture, including return fields and key store-specific constraints. It doesn't detail every parameter (e.g., device, fullDetail), but those are fully described in the schema, making the tool effectively invokable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description enriches parameter semantics by explaining the 'limit' behavior (Apple clamped vs Google range), 'store' merging behavior, and 'price' filter's Google-only scope, going beyond the schema's phrasing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Search apps on the Apple App Store, Google Play, or both.' It identifies the resource (apps), specific stores, and lists the returned fields (store, title, developer, icon, price, rating, category, url), which distinguishes it from siblings like get_app or get_charts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides concrete usage context, such as using store='both' to fan out and merge results, and clarifies per-store limits. It implies when to use this tool (for general app search) but does not explicitly exclude alternatives or compare with sibling tools, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
Alicense-qualityAmaintenanceEnables AI agents to query live App Store and Google Play data, including app search, revenue/download metrics, keyword difficulty, and reviews, via a hosted MCP server with API-key authentication.Last updated350MIT- Alicense-qualityBmaintenanceA remote MCP server that gives AI agents structured access to Google Play and the Apple App Store — search apps, fetch metadata, pull reviews.Last updatedMIT
- FlicenseCqualityDmaintenanceEnables querying and retrieving data from App Store and Google Play Store, including app details, reviews, ratings, rankings, permissions, and search capabilities across both iOS and Android platforms.Last updated20
- AlicenseBqualityDmaintenanceUnified MCP server for App Store Connect & Google Play Console — manage listings, screenshots, releases, reviews & submissionsLast updated9114323MIT
Your Connectors
Sign in to create a connector for this server.