Skip to main content
Glama
ianderso
by ianderso

set_private

DestructiveIdempotent

Mark a Gramps object as private to exclude it from queries, searches, and reports, or clear the flag to restore visibility.

Instructions

Set (or clear) the Gramps private flag on an object.

Private records are withheld from bulk output (queries, searches, tree walks, timelines, reports) unless a call passes include_private.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
targetYesHandle or gramps_id of the object.
privateNoTrue to mark private (default), False to un-mark.
object_typeYesType of the object: 'person', 'family', 'event', 'source', etc.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false. The description adds real value beyond those: it explains what marking private actually does (withheld from queries, searches, tree walks, timelines, reports unless include_private is passed) and that the operation is reversible via 'clear'. This is useful behavioral context, though it doesn't discuss permissions or return shape.

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?

Two sentences, front-loaded with the core action, and the second sentence earns its place by defining the semantic effect of the flag. No filler or redundancy.

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?

For a self-contained mutation tool whose safety profile is fully covered by annotations and whose parameters are fully documented by the schema, the description is complete: it defines the operation and the meaning of the flag. The absence of an output schema is not a gap since no return value is needed.

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 description coverage is 100%, so the schema already documents all three parameters, giving a baseline of 3. The description reinforces the meaning of the private flag but adds no syntax or format detail beyond the schema.

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

Purpose4/5

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

States a specific verb and resource: 'Set (or clear) the Gramps private flag on an object.' This is unambiguous and far from a tautology. It doesn't explicitly differentiate from any sibling (e.g., tag_object), but no sibling shares this exact resource, so the purpose stands clearly on its own.

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

Usage Guidelines3/5

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

The description explains the consequence of the flag and that it can be set or cleared, which implies when you'd reach for the tool. However, it gives no explicit when-to-use/when-not guidance or named alternatives, so usage remains inferred rather than stated.

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