Skip to main content
Glama

contacts_search

Search iCloud contacts by name, email, phone, or organization substring. Use an empty query to list all contacts up to a specified limit.

Instructions

Search iCloud contacts by name/email/phone/org substring (empty query lists all, up to limit).

Input Schema

NameRequiredDescriptionDefault
limitNo
queryNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose meaningful behavior: substring matching across four fields and the empty-query-lists-all fallback capped at a limit. It stops short of stating that this is a read-only, side-effect-free operation or whether truncation at the limit is silently reported, leaving some behavioral questions open.

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 sentence that front-loads the verb and resource and packs two useful behavioral details into a parenthetical with zero waste.

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?

Low-complexity two-parameter read tool with an output schema, so return values need no explanation. The description covers both parameters' semantics and the key edge case (empty query); only truncation signaling when results exceed the limit is unaddressed.

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 description coverage is 0%, so the description must compensate, and it largely does: 'query' is explained as a substring match over name/email/phone/org with empty meaning list-all, and 'limit' is referenced as the cap. Only the default value (50) and truncation semantics are left to 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 ('Search iCloud contacts') and enumerates the searchable fields (name/email/phone/org), so the agent knows exactly what this tool does. No contacts-domain siblings exist in the list to differentiate against, so the lack of explicit sibling routing is a minor gap rather than a real ambiguity.

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 parenthetical '(empty query lists all, up to limit)' tells the agent it can enumerate contacts by passing nothing, which is useful implied usage. However, there is no explicit when-to-use/when-not guidance, no mention of alternatives (there are none in the sibling set), and no indication of what happens when the result set exceeds the limit.

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