Skip to main content
Glama
A1-x-Tech

A1 Google Contacts MCP

Get a contact

get_contact
Read-onlyIdempotent

Retrieve a contact's details by its resource name, specifying which fields to return. Get the etag needed for safe updates and see the contact's group memberships.

Instructions

Fetches one contact by resource name ("people/c...", or "people/me" for the signed-in user's own profile) with an explicit field mask. Returns a Person with resourceName, etag and the requested person_fields (default names, emailAddresses, phoneNumbers, organizations, memberships). The etag in the result is what update_contact needs to change this contact safely; memberships list the contact's groups as contactGroups/ resource names.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
person_fieldsNoPerson fields to return (default names, emailAddresses, phoneNumbers, organizations, memberships). Only masked fields come back — an absent field may be unmasked, not empty.
resource_nameYesThe contact's full resource name, e.g. "people/c1234567890" — exactly as returned by list_contacts, search_contacts or create_contact.
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the description's added value is its behavioral contract: the etag is what update_contact needs for safe optimistic updates, memberships surface as contactGroups/<id> resource names, and the return shape (resourceName, etag, requested person_fields) is disclosed. This goes beyond the annotations without contradicting them.

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 dense sentences with no filler: sentence 1 states the operation and its two valid inputs, sentence 2 specifies the return envelope and defaults, sentence 3 ties the output to downstream tool contracts (update_contact etag, group memberships). Every sentence earns its place and the main verb is front-loaded.

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?

With no output schema, the description correctly carries the burden of explaining the return value (Person with resourceName, etag, person_fields) and the field-mask default behavior. The openWorldHint and schema caveat cover unknown-fields behavior. The only notable omission is error behavior for unknown or malformed resource names, which is a minor gap for a read tool whose safety profile is fully annotated.

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%: resource_name has a pattern plus a provenance hint, and person_fields has a full enum, minItems, and the critical 'absent field may be unmasked, not empty' caveat. The tool description only restates the default field list (names, emailAddresses, phoneNumbers, organizations, memberships), which the schema already captures. This lands at the baseline for high schema coverage.

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+method combination: 'Fetches one contact by resource name', and clarifies the two accepted forms ('people/c...' or 'people/me'). The single-contact scope distinguishes it from list_contacts, batch_get_contacts, and search_contacts without needing to open any sibling schema.

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 establishes clear usage context: use when you have a specific resource name, including the special 'people/me' self-profile case. The schema's resource_name description reinforces this by stating the name must come 'exactly as returned by list_contacts, search_contacts or create_contact', and the etag note points forward to update_contact. However, there is no explicit exclusion such as 'for multiple contacts use batch_get_contacts instead', so routing guidance is implied rather than stated.

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