Skip to main content
Glama
aaronsb

Google Workspace MCP Server

by aaronsb

manage_contacts

Manage Google Contacts directly from your workspace: list, search, get, create, update, and delete saved contacts, other contacts, and directory entries.

Instructions

Search, read, create, update and delete Google Contacts: your saved contacts, the addresses you have corresponded with but never saved, and your organization's directory.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoFull name, e.g. `Ada Lovelace`. Split into given and family name on the way in; a single word becomes the given name.
emailYesAccount email address
notesNoFree-text note stored on the contact
phoneNoPhone number, in whatever form you have it — Google normalizes it. On `update` this REPLACES every number the contact has — pass an empty string to clear them.
queryNoText to match against names, email addresses, nicknames and phone numbers. Matching is by PREFIX: `ann` finds Anna, `nna` finds nobody.
companyNoOrganization name
jobTitleNoJob title within the organization
contactIdNoPerson id as `list` or `search` printed it (e.g. `people/c1234567890`). A bare id without the `people/` prefix is accepted.
operationYeslist: list your saved contacts | search: search your saved contacts by name, email, nickname or phone | get: get one person in full — addresses, birthday, notes, relations | create: create a new contact | update: change an existing contact (only the fields you pass; pass an empty string to clear one) | delete: delete a contact | listOther: list 'other contacts' — addresses you have corresponded with but never saved | searchOther: search 'other contacts' by name or email | listDirectory: list people in your organization's directory (Workspace accounts only) | searchDirectory: search your organization's directory by name or email (Workspace accounts only)
pageTokenNoContinue from where a previous page stopped — pass the token that response printed
sortOrderNoOrder for `list` — by first name, by last name, or most recently changed first
maxResultsNoMax people to return (default 25). Capped per operation: 30 for `search` and `searchOther`, 100 for everything else.
contactEmailNoThe contact's email address. (`email` is the account making the call, not the person being saved.) On `update` this REPLACES every address the contact has — pass an empty string to clear them.
Install Server

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden for behavioral disclosure. It does convey the high-level mutability (create/update/delete) and the meaningful scope of 'addresses you have corresponded with but never saved' and 'organization's directory.' However, it does not disclose important behavioral traits such as update replacing existing phone/email values, directory operations being Workspace-only, or pagination behavior; some of this is delegated to schema property descriptions.

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?

The description is a single well-structured sentence that front-loads the action verbs and uses a colon to enumerate the three data scopes. Every word earns its place, and there is no redundant or filler language.

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 tool with 13 parameters, 10 operations, and no output schema, the description provides a solid orientation while the rich input schema carries the operational detail. The only notable gap is that return-value structure is not described anywhere, but it is not heavily needed given the schema's references to pagination tokens and printed ids.

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%, so the baseline is 3 even though the main description contributes no parameter-level meaning. The schema descriptions themselves are detailed and clarify subtle distinctions like `email` being the account email versus `contactEmail` being the contact's email, which is valuable. The description adds no extra parameter context beyond that.

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 set — search, read, create, update, delete — tied to Google Contacts, and then distinguishes three data scopes: saved contacts, unsaved 'other contacts', and the organization directory. This makes the tool's purpose unmistakable and clearly separates it from sibling domain tools like manage_calendar or manage_email.

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 provides clear context for when the tool applies by naming the resource and the three contact scopes it covers. It does not explicitly state when not to use it or name alternatives, but the sibling tools cover different domains, so ambiguity is low.

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

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/aaronsb/google-workspace-mcp'

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