Skip to main content
Glama

find_contact

Search Signal contacts by name or phone number fragment to find a phone number or verify a contact exists. Returns all matches containing the query string.

Instructions

Search contacts by name or phone number fragment. Returns all contacts whose name or number contains the query string (case-insensitive). Use this to look up a phone number when you only know a name, or to verify a contact exists.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesName or phone number fragment to search for

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.33.3

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It discloses that matching is case-insensitive substring containment, that the query can match name or number, and that all matching contacts are returned. This goes beyond a simple one-line summary, though it omits details like result ordering, pagination, or empty-result behavior.

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?

Two sentences deliver the core action, matching behavior, and practical use cases without filler. The most important behavioral details are front-loaded, and every sentence contributes meaning.

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 search tool with no output schema, the description is nearly sufficient: it explains what is searched, how matching works, and what is returned. The main gap is not mentioning the alternative list_contacts or the shape of returned contact objects, which would round out agent decision-making.

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?

The single parameter already has a clear schema description: 'Name or phone number fragment to search for.' The tool description adds value by specifying case-insensitive contains semantics and that both name and number are searched. With 100% schema coverage, this extra context justifies a score above baseline.

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?

The description specifies a clear verb and resource: 'Search contacts by name or phone number fragment,' and clarifies that it returns matching contacts via substring matching. It is clearly distinct from list_contacts in function, though it does not explicitly name or contrast a sibling tool, so it stops short of full differentiation.

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

Usage Guidelines4/5

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

The description gives explicit use cases: 'look up a phone number when you only know a name' and 'verify a contact exists.' It provides clear context for when to use the tool, but it does not mention alternatives or when not to use it, such as choosing list_contacts for unfiltered contact listing.

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