Skip to main content
Glama
alexstockman1

autoMessage MCP Server

list_contacts

Read-only

List saved iMessage contacts, including auto-populated and manual entries, to resolve a name to a phone number before sending a message.

Instructions

List the user's saved iMessage contacts. Contacts are auto-populated by the Mac agent from macOS Contacts as the user messages people, plus any manual additions. Useful for resolving "Sarah" to a phone number before sending.

Input Schema

NameRequiredDescriptionDefault
limitNoMax contacts to return (1-500). Default 200.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.2

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and destructiveHint, so the safety burden is light. The description still adds real value by explaining that contacts are auto-populated from macOS Contacts by the Mac agent plus manual additions, telling the agent why data may be partial or in flux.

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?

Three short sentences, front-loaded with the action and resource. Each sentence contributes something, though the last sentence repeats a bit of the 'saved contacts' framing.

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 one-parameter read tool with annotations and no output schema, this covers what the resource is, where the data comes from, and a typical use. Only the relationship to find_contact is left unstated.

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 100% and the single limit parameter is fully documented with range and default in the schema. The description adds nothing about parameters, so baseline 3 applies.

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?

Clear verb+resource: lists the user's saved iMessage contacts. The provenance sentence adds specificity about what a 'contact' is in this system. It does not distinguish itself from the sibling find_contact, which appears to target the same resource.

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?

It offers one implied usage scenario ('resolving "Sarah" to a phone number before sending'), which is helpful context. But it never says when to use this instead of find_contact or create_contact, so the agent must infer list-vs-lookup from names alone.

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