Skip to main content
Glama

voicememos_voiceprint

Recognise the owner's voice in transcribed Apple Voice Memos using a local voiceprint: enroll from memos, identify speakers, and exclude known other voices.

Instructions

Recognise the owner's voice with a local voiceprint.

Args: action: 'status' (enrollment state, thresholds and suggested enrollment memos), 'enroll' (build the voiceprint from memos where only the owner speaks), 'identify' (apply it to already transcribed memos), 'add_other' (store a known other voice, e.g. a relative who sounds similar, from one speaker of one memo; it is never shown by name, it only prevents mistaking that person for the owner) or 'remove_other' (by name). memos: memo ids for 'enroll' (2+, ideally 4-6 from different years), 'identify', or one memo for 'add_other'. since: for 'identify': memos recorded on or after this date (YYYY-MM-DD). until: for 'identify': memos recorded on or before this date (YYYY-MM-DD). name: the owner's name for 'enroll' (default from config); the other person's name for 'add_other' / 'remove_other'. speaker: for 'add_other' in a multi-speaker memo: the speaker label (S1, S2, ...).

Input Schema

NameRequiredDescriptionDefault
nameNo
memosNo
sinceNo
untilNo
actionNostatus
speakerNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.6

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description must carry behavioral disclosure, and it does disclose meaningful traits: processing is local, the other-voice entry is 'never shown by name' (a privacy/semantics guarantee), and name defaults from config. It stops short of saying what enrollment persists, what each action returns, or how failures are reported — notable gaps for a state-mutating action set.

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 one-line purpose is front-loaded and the Args block is organized rather than rambling; every clause carries actionable detail. It is slightly verbose in the parentheticals ('e.g. a relative who sounds similar'), but no sentence is pure filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Six parameters, no annotations, and no output schema means the description is the only source of truth, and while parameters are fully explained, the return shape of 'status' and 'identify' is only hinted at ('enrollment state, thresholds and suggested enrollment memos'). An agent can invoke it correctly but cannot predict what comes back or what errors to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description does all the work, and all six parameters are documented with per-action scope: 'memos' means different things for enroll/identify/add_other, 'since'/'until' are restricted to 'identify' with a YYYY-MM-DD format, and 'name'/'speaker' are disambiguated by action. This is exactly the compensation a 0% coverage schema requires.

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?

Opens with a specific verb and resource: 'Recognise the owner's voice with a local voiceprint,' and the Args block enumerates five mutually exclusive actions, which frames the tool's full scope. It doesn't explicitly name or contrast with siblings (voicememos_transcribe, voicememos_second_read), but the voiceprint domain is distinctive enough that confusion is unlikely.

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

Usage Guidelines5/5

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

Each action carries its own when-to-use condition: 'enroll' requires memos where only the owner speaks, 'identify' applies to already transcribed memos, 'add_other' exists specifically to prevent mistaking a similar-sounding relative for the owner. It even specifies data thresholds (2+ memos, ideally 4-6 from different years) and that 'speaker' is only needed for multi-speaker memos, leaving little to inference.

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