Skip to main content
Glama
A1-x-Tech

A1 Google Contacts MCP

List or search Other contacts

list_other_contacts
Read-onlyIdempotent

Find and list auto-saved email contacts that don't appear in your regular contact lists. Search by name or email, or page through all other contacts.

Instructions

Lists 'Other contacts' — addresses Google auto-saved from the user's email interactions; they are NOT in the saved contact list and never appear in list_contacts/search_contacts. Give query to search them instead of listing (prefix match, max 30 results, no pagination — the warmup request is sent automatically before the session's first search); without query it lists with page_token pagination (page_size up to 1000) and optional sync tokens (request_sync_token/sync_token; expired ones fail with 410 — re-list in full). Only names, emailAddresses, phoneNumbers, photos and metadata exist here. Other contacts are read-only: to edit one, first make it a real contact with copy_other_contact. Requires the contacts.other.readonly OAuth scope — a 403 means the refresh token was minted without it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryNoSearch text; when set, page_token and sync tokens are invalid.
page_sizeNoPage size when listing (1..1000, default 100); max matches when searching (1..30).
read_maskNoFields to return (default names, emailAddresses, phoneNumbers) — Other contacts have no more.
page_tokenNonextPageToken from the previous page (listing only).
sync_tokenNoReturn only changes since this token (listing only).
request_sync_tokenNoAsk for a nextSyncToken (listing only).
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description reinforces them ('Other contacts are read-only') while adding substantial behavior beyond the annotations: the automatic warmup request before the first search, prefix-match search capped at 30 with no pagination, sync-token 410 failure semantics, and the OAuth scope requirement with the 403 diagnostic. No contradiction with annotations.

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?

The description is dense but every sentence is functional — the core definition and sibling distinction are front-loaded, followed by modes, field set, edit path, and auth. It is a single long paragraph that could be structured with clearer separation between the search and list modes, but there is no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-mode tool with pagination, sync tokens, auth requirements, and no output schema, the description is complete: it covers the returnable field set, error semantics (410, 403), the automatic warmup, scope requirements, and the editing pathway. An agent has everything needed to invoke and interpret this tool correctly.

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 coverage is 100%, so the baseline is 3, but the description adds genuine cross-parameter meaning: setting query invalidates page_token and sync tokens, search caps at 30 results while listing allows up to 1000, and read_mask default fields are stated. The description explains interactions and error semantics the per-property schema cannot express, though each individual parameter is already well documented in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb-resource pair ('Lists Other contacts') and immediately defines what Other contacts are: addresses Google auto-saved from email interactions. It explicitly distinguishes the tool from siblings by stating Other contacts are NOT in the saved contact list and never appear in list_contacts/search_contacts. An agent can tell exactly what this tool does and how it differs from its nearest siblings.

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

Usage Guidelines5/5

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

Usage guidance is explicit: the description names list_contacts/search_contacts as the tools that will NOT return these contacts, and names copy_other_contact as the required path for editing. It also spells out the two invocation modes — search with a query vs. paginated listing with tokens — and warns that expired sync tokens fail with 410, directing re-listing in full. This leaves no ambiguity about when to call this tool and how.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/A1-x-Tech/mcp-google-contacts'

If you have feedback or need assistance with the MCP directory API, please join our Discord server