Skip to main content
Glama
shapeyourphone

shapeyourphone

by rachitkj

preferences_read

Read-only

Read the phone owner's plain-language preferences file at the start of each session so an AI agent can follow their wishes before changing settings.

Instructions

The owner's preferences file (their wishes in plain words). Read it at the start of every session.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "preferences_read"
  }
}

Input Schema

NameRequiredDescriptionDefault
deviceNoadb serial, only needed when several phones are connected

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered structurally. The description adds that the payload is unstructured human prose ('plain words'), which tells the agent to interpret rather than parse it. It does not say what happens when no preferences exist, nor anything about return shape or size.

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 short sentences, zero wasted words, and the identity of the resource is front-loaded before the action instruction. Nothing could be removed without losing meaning.

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 zero-required-parameter read with no output schema and full schema documentation, the description supplies what an agent needs: what the file is and when to consult it. The only gap is the absent-file behavior, which is minor for a tool this simple.

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 100% and the single optional 'device' parameter is fully documented in the schema as an adb serial needed only with multiple phones. The description adds nothing about it, but with complete schema documentation the baseline of 3 is appropriate.

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 names a specific resource ('The owner's preferences file') and clarifies what it contains ('their wishes in plain words'), and the imperative 'Read it' makes the operation unambiguous. Sibling name preferences_write makes the read/write split inferable, though the description never explicitly distinguishes itself from it.

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?

It gives a concrete trigger: 'at the start of every session,' which is unusually actionable guidance for an agent. It stops short of naming preferences_write as the alternative for the write case or stating what to do if the file is absent, so it is clear context rather than a full when/when-not rubric.

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