Skip to main content
Glama
SantosRojas

Gmail Secure MCP

by SantosRojas

contacts_search

Read-onlyIdempotent

Search Google contacts by name or email to resolve recipient details (name, primary email, organization) before drafting a message. Read-only; does not return photos or notes.

Instructions

Busca contactos de Google por nombre o email (p. ej. "fulano" o "fulano@empresa.com"). Devuelve nombre, email principal y organizacion para resolver destinatarios antes de crear un draft. Solo lectura, no expone fotos ni notas.

Input Schema

NameRequiredDescriptionDefault
queryYesNombre o email a buscar, p. ej. "cesar" o "company.com"
max_resultsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered structurally. The description reinforces read-only and adds a real disclosure the annotations do not: photos and notes are deliberately not exposed. It says nothing about how many results return, truncation, or how matching behaves (substring vs prefix), which would be the genuinely additive context.

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?

Three short sentences with no filler: purpose and input examples first, then the payoff and the use case, then the scope caveat. Front-loaded and immediately actionable.

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?

No output schema exists, and the description compensates by naming the returned fields (name, primary email, organization) and the excluded ones (photos, notes). What is left uncovered is result-count behavior via max_results and any matching ambiguity, which matters for an agent deciding how many candidates it will get back.

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 coverage is 50%: query is documented in-schema while max_results has no description anywhere. The description reinforces query semantics with example formats (a bare name or a full email), helping the agent choose input shape, but it never mentions max_results, its default of 5, or the cap of 20, so guidance on result breadth is missing from both sources.

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?

Specific verb and resource: search Google contacts by name or email, with the return surface (name, primary email, organization) stated up front. It is not explicitly differentiated from the closest sibling contacts_get or from gmail_suggest_recipients, which also resolve recipients, so the boundary with those is left to inference.

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?

Gives a concrete usage context — resolving recipients before creating a draft — which tells the agent when to reach for it. It offers no exclusion or comparison, though, and the overlap with gmail_suggest_recipients (also a recipient-resolution tool) is never addressed.

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