Skip to main content
Glama

Set who reads a collection

dropyour_records_visibility
Idempotent

Declare the visibility of ONE collection of your graduated app's store. Two values, no policy language. 'partagee' (the default): all in-app reads see the whole collection — today's behaviour, nothing changes. 'par-auteur': each SIGNED-IN visitor only sees and touches their OWN rows (list, get, getMany, count/aggregate, and writes: overwriting or deleting someone else's row is refused); an in-app request with no signed visitor sees an empty set; YOU, the owner, always see everything through MCP and the cockpit. Rows written before authorship existed (author NULL) are visible to no visitor under 'par-auteur' — only to you. What this does NOT cover, so you are not surprised: the shared state blob (app.state) and realtime broadcasts stay visible to everyone — the store is the per-visitor data path. Declared, never derived from your code; reversible with the same call.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dropIdYes
collectionYes
visibiliteYes
managementTokenNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Goes far beyond the idempotentHint/destructiveHint annotations: it discloses per-actor behavior (signed-in visitors see only their own rows, unsigned visitors see an empty set, the owner always sees everything), the NULL-author edge case, the write-refusal rule for others' rows, and that state blob/realtime channels are unaffected. The 'reversible with the same call' and 'declared, never derived' statements add operational traits not inferable from the schema or annotations. No contradiction with annotations — idempotency and non-destructiveness are consistent with the described behavior.

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 description is long but front-loaded: the core statement and the two values come first, followed by edge cases, exclusions, and meta-properties. Every sentence carries semantic weight — the NULL-author rule, the write-refusal behavior, and the scope exclusions each prevent real surprises. It could be tightened slightly, but the density is justified by the conceptual richness of the permission model.

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?

For a tool with no output schema and no per-parameter schema documentation, the description provides everything needed to call it correctly: the meaning of all required parameters, the behavioral consequences of each value, edge cases, scope exclusions, and reversibility. The only omissions — managementToken semantics and possible error responses — do not impede correct invocation.

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 carries the full burden. It thoroughly explains the critical parameter 'visibilite' with full semantics of both enum values, and gives meaningful context for 'collection' (ONE collection) and 'dropId' (your graduated app's store). However, the optional 'managementToken' parameter is never mentioned, leaving a small gap in an otherwise strong compensation for the empty schema.

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: 'Declare the visibility of ONE collection of your graduated app's store.' It names the two allowed values upfront ('partagee' vs 'par-auteur') and defines the scope as the per-visitor data path. The description clearly distinguishes this from sibling data tools like dropyour_records_list, dropyour_records_write, and dropyour_read_data by focusing on read-scoping policy rather than data operations.

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 clear context on when to use the tool — whenever you need to change who can read a collection in a graduated app — and explains both value options thoroughly so an agent can decide between them. The 'What this does NOT cover' paragraph explicitly excludes the shared state blob and realtime broadcasts, preventing misuse. It stops short of naming a sibling alternative for those excluded behaviors, but the tool is largely self-contained as a per-collection visibility setter.

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.