Skip to main content
Glama

Hole checks (radar)

get_radar
Read-onlyIdempotent

Run read-only pre-release checks for apps and organizations to catch store mismatches, missing listings, expiring certificates, broken privacy links, and store-blocking SDK/build issues.

Instructions

Return the hole checks that catch a problem before a user hits it: store names that differ between the App Store and Google Play, a store listing missing a language, a domain or HTTPS certificate about to expire, missing security headers, a broken privacy link, storage rows deleted with SQL (files left behind and billed), and an Android target SDK or iOS build that the stores will refuse. scope "project" (default; projectId optional) returns every check with state ok | finding | unknown | error, a plain-English reason, and each finding with its fix; unknown means not checked and never means healthy. scope "organization" (organizationId optional, account-level key) returns the open findings of every app. Read-only. To run the checks again, use the console Recipe page.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
scopeNoproject (default) or organization
projectIdNoProject UUID — defaults to the server-configured project (scope project) (`project_id` is accepted too.)
organizationIdNoOrganization UUID — defaults to the key owner's only organization (scope organization)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.14

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover readOnlyHint, idempotentHint and openWorldHint, so the 'Read-only' sentence is largely redundant. The description does add genuinely non-structured semantics: the four possible states (ok | finding | unknown | error) and the crucial clarification that 'unknown means not checked and never means healthy', plus that each finding carries a plain-English reason and a fix. It does not repeat annotation content as its only contribution, so it clears the lower bar set by annotations.

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?

The opening clause front-loads the core purpose before the long enumeration of check types, and the scope semantics follow. It is a single dense paragraph rather than a bulleted list, so the enumeration of check categories is heavy to read, but no sentence is pure filler.

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

Completeness4/5

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

With no output schema, the description carries the burden of describing returns and does so well: it specifies the four states, the presence of a plain-English reason, and per-finding fixes, which is exactly what an agent needs to interpret results. The one shortfall is that it never mentions the run_radar sibling, so an agent asked to re-run checks is pointed at a UI page instead of an available tool.

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 100%, so the baseline is 3. The description exceeds it by explaining defaulting behavior and interaction between parameters that the schema only states tersely: projectId is optional and falls back to the server-configured project, organizationId is optional and falls back to the key owner's only organization, and organization scope requires an account-level key.

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 names a concrete verb and resource ('Return the hole checks') and then enumerates the specific defect classes it surfaces (store name mismatches, missing listing languages, expiring certs, broken privacy links, orphaned storage rows, rejected target SDKs). It implicitly distinguishes itself from the sibling run_radar by framing the tool as a read-only retrieval of existing check results rather than a trigger.

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?

It gives clear conditional guidance for the two scopes: 'project' (default, projectId optional) returns every check with state, while 'organization' (organizationId optional, account-level key) returns open findings across all apps. However, it does not name the sibling tool run_radar as the way to re-run checks, instead pointing at 'the console Recipe page', which is a UI instruction rather than a tool alternative an agent can act on.

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