Skip to main content
Glama

TunnelMind Data API

sigil_verify_app_bundle

Verifies that a mobile or CTV app bundle ID actually exists in the relevant app store — used to detect bundle spoofing in bid requests.

Platform support (v1):

  • ios: verified live via Apple's iTunes Lookup API.

  • android: verified live via the Google Play store listing page.

  • ctv_* / web: no public store API — returns verified=null.

Inputs:

  • bundle_id (body, required): e.g. com.nytimes.NYTimes.

  • platform (body, required): ios | android | ctv_roku | ctv_fire | ctv_samsung | ctv_lg | ctv_vizio | web.

  • claimed_developer (body, optional): checked against the store listing.

Returns:

  • verified: true | false | null (not checkable on this platform).

  • store_listing: name, developer, developer_match, store_url.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
platformYes
bundle_idYes
claimed_developerNo

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals that ios verification uses Apple's iTunes Lookup API and android uses Google Play's listing page, that ctv_*/web platforms return verified=null, and that claimed_developer is checked against the store listing. It does not mention error/exception handling or rate limits, but the disclosed behavior is substantial and useful.

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

Conciseness5/5

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

The description is well-organized into purpose, platform support, inputs, and returns sections. It front-loads the core purpose and uses concise, informative bullets. Every sentence contributes useful information without redundant filler.

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

Completeness5/5

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

Given the tool's moderate complexity, no output schema, and no annotations, the description is complete: it explains what the tool does, platform limitations, all input parameters, and the shape of the return value (verified, store_listing fields). This gives an agent enough context to invoke the tool and interpret results correctly.

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

Parameters4/5

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

Schema description coverage is 0%, so the description compensates by listing each parameter, marking bundle_id and platform as required, and explaining that claimed_developer is checked against the store listing. It also provides an example bundle_id and lists the platform enum values. This adds clear meaning beyond the schema's raw type/enum declarations.

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

Purpose5/5

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

The description clearly states the tool verifies that a mobile or CTV app bundle ID exists in the relevant app store, with the specific use case of detecting bundle spoofing. This clearly differentiates it from sibling tools like sigil_verify_domain or sigil_verify_ads_txt by focusing on app bundles.

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

Usage Guidelines4/5

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

The description provides concrete guidance on when the tool is usable: it lists supported platforms (ios, android) and explicitly notes that ctv_* and web platforms are not verifiable and return verified=null. It also states the intended use case (detecting bundle spoofing in bid requests), though it does not name alternative tools to use instead.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

B3.3/5.0
Disambiguation2/5

Many tools overlap in purpose, such as cross_lens_verify, cross_lens_lookup, profile_entity, and preflight_should_i_act, which all return node verdicts with subtle differences. Sigil verification tools and receipt-related tools also have similar names and require deep reading to distinguish.

Naming Consistency3/5

The tool names are mostly readable, but the pattern is mixed: some use verb_noun (get_domain, create_subscription) while others use domain prefixes (sigil_*, ghostroute_*, intel_*). Within each domain, naming is consistent, but the overall style lacks uniformity.

Tool Count1/5

With 90 tools, this server is extremely overloaded. Even for a multi-purpose data API, the sheer number overwhelms and makes navigation difficult, far exceeding the typical well-scoped MCP server. The count is an extreme mismatch for the apparent scope.

Completeness4/5

The tool surface is very comprehensive, covering tracker lookup, cross-lens verification, receipts, compliance, subscriptions, tasks, intel probes, and more. Minor gaps exist, such as no batch cross-lens verification, but core workflows are well covered.

Resources