Skip to main content
Glama

play_data_safety_fill

Fills the Google Play Data safety CSV and returns a summary of declared data for review before import, avoiding incorrect declarations that can take down a published app.

Instructions

Fill in the Data safety CSV and return a summary of what was declared.

Imports nothing — it generates the file for review. An incorrect declaration here can take down a published app, so review the summary with the user before play_data_safety_import.

collected_data maps the Response ID of each collected data type (e.g. "PSL_EMAIL") to {"group": "PSL_DATA_TYPES_PERSONAL", "shared": false, "optional": false, "purposes": ["PSL_APP_FUNCTIONALITY", "PSL_ACCOUNT_MANAGEMENT"]}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
template_pathYes
collected_dataYes
destination_pathYes
supports_deletionNo
account_deletion_urlNo
encrypted_in_transitNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does valuable work: it discloses that this is a non-destructive generation step ("imports nothing"), that it emits a summary for human review, and that errors carry real production risk. Gaps remain around destination_path overwrite behavior and any auth/permission requirements.

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?

Front-loads purpose, then the import/risk warning, then the parameter example — a sensible priority order with no filler. The prose is slightly loose (paragraph breaks mid-sentence) but every sentence carries information.

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?

An output schema exists so return-value detail is not needed, and the description still signals what it returns (a declaration summary). For a tool of this complexity the main omission is the undocumented scalar parameters, but the risk warning and the collected_data example cover the parts most likely to be misused.

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 coverage is 0%, so the description must compensate. It does so well for collected_data — explaining the Response-ID key mapping and the {group, shared, optional, purposes} value shape with concrete PSL_* examples. However template_path, destination_path, supports_deletion, account_deletion_url and encrypted_in_transit remain undocumented in both schema and description, so the compensation is only partial.

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?

States a specific verb and resource ("Fill in the Data safety CSV and return a summary") and explicitly distinguishes itself from the sibling play_data_safety_import by declaring "Imports nothing — it generates the file for review." An agent can tell exactly what this tool produces without opening the schema.

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?

Gives a clear workflow cue: review the summary with the user before calling play_data_safety_import, and warns that an incorrect declaration can take down a published app. It does not discuss play_data_safety_export (read vs generate), so the routing story is strong but not exhaustive.

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