Skip to main content
Glama

apple_contacts_remove_from_group

DestructiveIdempotent

Remove a contact from a group without deleting the contact, then save the changes to Apple Contacts.

Instructions

Remove a contact from a group without deleting the contact; saves Contacts changes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
groupIdYes
contactIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv3.0.0

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare the full safety profile (readOnlyHint=false, destructiveHint=true, idempotentHint=true, openWorldHint=true), so the bar is lower. The description adds real context — that changes persist to Contacts ("saves Contacts changes") and that the contact itself is preserved — though it does not touch error handling (e.g., contact not in group) or auth. The mutation/persistence framing sits fine alongside the destructiveHint.

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?

A single front-loaded sentence: verb+resource first, then two tight clarifying clauses separated by a semicolon. No filler, every clause earns its place.

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 two-required-parameter mutation with no output schema and annotations already covering the safety profile, the description covers intent, persistence, and scope (contact preserved). Only edge-case behavior and return-value expectations are unaddressed, which is minor here.

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 0%, so the description must carry parameter meaning, and it only weakly does: "a contact" and "a group" map to the two self-explanatory names contactId/groupId but no ID format, source, or constraint detail is added. Self-evident parameter names keep this at a minimum-viable 3 rather than lower.

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+resource (remove a contact from a group) and immediately scopes it by clarifying the contact survives ("without deleting the contact"). This lets an agent distinguish it from a destructive contact delete without opening any schema, which is exactly the disambiguation needed against siblings like apple_contacts_add_to_group and any delete-tool.

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?

Usage is only implied: the phrasing "without deleting the contact" hints that this is the lighter-weight alternative to contact deletion, but no explicit when-to-use, when-not, or named alternative tool is given. Adequate but leaves routing inference to the agent.

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

Deploy Server

Other Tools