Skip to main content
Glama
A1-x-Tech

A1 Google Contacts MCP

Create many contacts at once

batch_create_contacts

Create up to 200 Google contacts in one atomic batch call for bulk imports. After a timeout or 5xx error, verify via list_contacts before retrying to avoid duplicates.

Instructions

Creates up to 200 contacts in one call (People API people:batchCreateContacts). Each entry takes the same normalized fields as create_contact (name parts, emails[], phones[], addresses[], organization, birthday, notes, urls[]) and needs at least one. Returns createdPeople[] with each new resourceName. The call is atomic — a validation error anywhere creates nothing — but after an AMBIGUOUS failure (timeout/5xx; never auto-retried) the batch may still have committed: check via list_contacts before re-sending, or every contact gets created twice (the API has no duplicate detection). Send mutate batches sequentially, never in parallel — that is also how the per-user write quota stretches furthest.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
contactsYesThe contacts to create (1..200), each with the create_contact field set.
read_maskNoPerson fields to return (default names, emailAddresses, phoneNumbers, organizations, memberships). Only masked fields come back — an absent field may be unmasked, not empty.
Behavior5/5

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

Beyond the annotations (readOnlyHint=false, idempotentHint=false), the description discloses critical behaviors: atomicity for validation errors, the risk that an ambiguous timeout/5xx may still commit, absence of duplicate detection, no auto-retry, and the requirement to verify via list_contacts. This is exactly the non-obvious behavior an agent needs before invoking a batch write.

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?

Four sentences, each earning its place: what the call does/scales to, the return shape, atomicity and ambiguity handling, and the sequential-send/quota guidance. The most decision-relevant facts are front-loaded and no schema content is repeated verbatim.

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 complex batch-write tool with no output schema, the description is complete: it names the return array and resourceName, explains failure semantics and retry safety, addresses duplicate creation, and covers quota/concurrency. An agent has enough to invoke it correctly and to recover from the API's ambiguous failure mode.

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 description coverage is 100%, so the baseline is 3; the description adds value by saying the entries use the same normalized fields as create_contact and that each entry needs at least one field, which the schema does not explicitly require for the item objects. This helps agents compose valid contacts parameter values.

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 opening sentence states a specific verb ('Creates'), resource ('contacts'), upper bound ('up to 200 in one call'), and the underlying API. It also links entry fields to create_contact, distinguishing this bulk creation tool from single-contact siblings such as create_contact and batch_update_contacts.

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 clearly defines the batch's scope (up to 200 contacts per call) and gives operational directives: re-check via list_contacts after an ambiguous failure and never send mutate batches in parallel. It does not explicitly state 'use create_contact for exactly one contact,' but the 'same normalized fields as create_contact' comparison plus title makes the bulk-vs-single distinction recoverable.

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