Skip to main content
Glama
abd3lraouf-studios

Google Play Console MCP

Preflight Data Safety Csv

preflight_data_safety_csv

Validate a Data Safety CSV export before submitting it, catching structural errors and flagging conditional warnings to prevent Play rejection.

Instructions

Check a Data Safety CSV export before declaring it.

Play has no API to read the current Data Safety declaration, and set_data_safety replaces it wholesale, so this is the only point at which the file can be inspected. Play's own rejection arrives after the upload and does not name the row.

Structural faults are errors: wrong headers, a row that is not five fields, a Response value that is not exactly TRUE/FALSE/blank (a lowercase "true" is the signature of a spreadsheet re-save), a repeated response, or a single-choice question with two answers.

Everything conditional is a warning. Google adds and renames question IDs without publishing them, and most of a real export is conditional on answers elsewhere in it, so an unrecognised ID or an unanswered group means "look at this", never "stop".

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
csv_pathYesPath to a CSV exported from Play Console > App content > Data safety > Export to CSV

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations present, the description carries the full burden, and it discloses the tool's behavior in detail. It distinguishes hard errors (structural faults like wrong headers, malformed rows, invalid Response values, duplicate responses, multi-answer single-choice questions) from warnings (conditional/unrecognized IDs), and explains why warnings should not block. It even notes the lowercase 'true' signature of spreadsheet re-saves. This is genuinely valuable behavioral context.

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 organized into a clear purpose statement followed by three tightly scoped paragraphs: why preflight exists, what counts as structural errors, and what counts as warnings. Every sentence earns its place, and the most important information—what the tool checks and when to use it—is front-loaded. Despite being longer than average, it contains no 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?

The tool has only one parameter, an output schema is present, and the description thoroughly covers the validation rules and the reasoning behind them. It explains the operational context (set_data_safety replacement, post-upload rejection without row names) and the error/warning philosophy. Nothing an agent needs to invoke this tool correctly is missing.

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?

The schema already provides 100% coverage for the single parameter csv_path, describing it as a path to the Play Console data safety CSV export. The description reinforces that this is a Data Safety CSV export but does not add new parameter-level details beyond what the schema states. Baseline 3 is appropriate because the schema handles the documentation burden.

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 opens with a specific verb and resource: "Check a Data Safety CSV export before declaring it." It clearly distinguishes this preflight/validation tool from the sibling set_data_safety by explaining that Play has no API to read the current declaration and rejects after upload without naming the row. This leaves no ambiguity about what the tool does or how it differs from nearby tools.

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

Usage Guidelines5/5

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

The description explicitly states when to use it: before declaring data safety, because set_data_safety replaces the declaration wholesale and Play's own rejection comes only after upload. It also gives the exclusion rationale—this is the only point where the file can be inspected—which tells an agent when this tool is the right choice versus alternatives.

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