Skip to main content
Glama

apps_search

Read-onlyIdempotent

Search Apple Ads apps by name or Adam ID, filter to owned apps, and apply a bounded exact-name fallback when non-ASCII owned-app queries return no results.

Instructions

Search apps; an empty result for a non-ASCII owned-app query gets one bounded exact-name fallback.

Input Schema

NameRequiredDescriptionDefault
cpidsNooptional iTunes content provider IDs
limitNoresult limit from 1 to 200
queryNoapp name or Adam ID search text
offsetNozero-based result offset
profileYeslocal Apple Ads profile name
adAccountIdYesApple Ads ad account ID
storefrontsNoISO storefront country codes
returnOwnedAppsYeslimit results to apps owned by the organization

Output Schema

NameRequiredDescriptionDefault
dataNopayload
errorNo
summaryYes
rateLimitNo
paginationNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and openWorld, so safety is covered. The description adds one genuinely non-obvious behavior — a single bounded exact-name retry when a non-ASCII owned-app query returns empty — but omits broader behavior such as pagination, default limit, or result ordering.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One compact sentence with the verb front-loaded and no filler. The only quibble is proportion: most of the sentence is spent on a narrow fallback while the primary operation is compressed to two words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter search tool with 3 required parameters, the description never states what is being searched, whether results are owned apps or store listings, or how the filters interact. The output schema and annotations cover returns and safety, but the search semantics — the agent's main uncertainty — are left unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% across all 8 parameters, so the schema does the heavy lifting and a 3 baseline applies. The description contributes nothing about how query, cpids, storefronts, and returnOwnedApps combine.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Search apps" gives a verb and resource, but it doesn't say what corpus is searched (App Store catalog vs. the organization's owned apps) or how it differs from siblings like apps_get and app_store_geo_search. The remainder of the sentence describes an edge-case fallback rather than clarifying the core purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool versus apps_get, apps_eligibility, or app_store_geo_search, nor any prerequisite guidance. The fallback clause describes internal behavior, not a selection rule for the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools