Skip to main content
Glama
atfinke

contacts-mcp

by atfinke

Lookup Phone

contacts_lookup_phone
Read-only

Resolve a phone number to matching Apple Contacts entries. Returns ranked matches to help identify callers or retrieve contact details.

Instructions

Resolve one phone number to matching Apple Contacts entries. Returns zero or more ranked matches.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
maxResultsNo
phoneNumberYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so safety is covered. The description adds useful return semantics ('zero or more ranked matches'), indicating fuzzy matching and possible multiplicity, but says nothing about permissions, error cases, or ranking criteria.

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 short, front-loaded sentences with no filler; the core purpose leads and the return behavior follows. Efficient, though extremely terse given the unsupported parameters.

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?

With no output schema, the description partially covers returns ('zero or more ranked matches'), and annotations cover safety. However, it omits parameter format guidance and any usage routing, so an agent has gaps for maxResults and phone number formatting.

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

Parameters2/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 not. It implies the phoneNumber input ('one phone number') but gives no format guidance, and maxResults is never mentioned at all, leaving half the parameters undocumented everywhere.

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: 'Resolve one phone number to matching Apple Contacts entries.' The resource ('phone number') naturally separates it from contacts_lookup_email and contacts_search_name, so an agent can distinguish it without opening the schema, though no sibling is named explicitly.

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 phrase 'one phone number' implicitly signals a single-value lookup versus the name-search sibling, but there is no explicit when-to-use, when-not-to-use, or alternative routing. Usage is only inferable from the phrasing.

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