Skip to main content
Glama

Privacy: what the circle sees

set_sharing
Idempotent

Lets a care recipient control which care categories—medications, wellbeing, appointments, or messages—are shared with their care circle or kept private.

Instructions

The care recipient decides what their circle can see: medications, wellbeing (mood, pain, symptoms), appointments, messages. Only the care recipient can change this.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "category": "<category>",
      "shared_with_circle": "<shared_with_circle>"
    },
    "name": "set_sharing"
  }
}

Input Schema

NameRequiredDescriptionDefault
categoryYesWhat to share or hide
shared_with_circleYesTrue to share, False to keep private

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already establish mutation semantics (readOnlyHint=false), idempotency, and non-destructiveness, so the bar is lower. The description adds genuine context beyond the schema: the authorization constraint that only the care recipient may change sharing. It does not disclose what toggling to false does to already-shared data, nor the failure mode for unauthorized callers.

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?

Two tight sentences with no filler, and the enumeration of categories is front-loaded before the permission constraint. It could have led with the action verb ('Set whether each category is shared…') rather than a narrative framing, which would make the operation slightly more immediate.

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 an output schema present, return values need no explanation, and the two required params are fully covered by the schema. The description supplies the one thing structured data cannot: who is authorized to make the change. Remaining gap is the effect of unsharing and the unauthorized-caller behavior.

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 coverage is 100%, so baseline is 3, but the description adds real meaning by expanding the 'wellbeing' enum value into 'mood, pain, symptoms'—detail the schema does not provide. It also frames the boolean as share-vs-hide rather than a bare flag, though it doesn't spell out that the two params combine per category.

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?

The description states a specific resource (sharing/privacy visibility for medications, wellbeing, appointments, messages) and the gating rule that only the care recipient can change it. It never explicitly says 'set/toggle a sharing flag per category', but the meaning is recoverable from the enumeration plus the input schema. No sibling tool overlaps this purpose, so sibling differentiation is unnecessary.

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?

It gives one explicit precondition—'Only the care recipient can change this'—which is useful for deciding whether the caller may invoke it at all. However, there is no guidance on when to call versus alternatives (e.g., read_messages or care_briefing for viewing), and no note about what happens when the caller is not the care recipient (error vs. no-op).

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