Skip to main content
Glama
4tal

MCP Google Contacts Server

by 4tal

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GOOGLE_CLIENT_IDNoYour Google OAuth client ID
GOOGLE_CLIENT_SECRETNoYour Google OAuth client secret
GOOGLE_REFRESH_TOKENNoYour Google OAuth refresh token

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Server capabilities have not been inspected yet.

Tools

Functions exposed to the LLM to take actions

NameDescription
list_contactsB

List all contacts or filter by name with comprehensive field support.

    Args:
        name_filter: Optional filter to find contacts by name
        max_results: Maximum number of results to return (default: 100)
        include_all_fields: Whether to include all contact fields like addresses, birthdays, etc.
    
search_contactsB

Enhanced search contacts by name, email, phone, organization, or other fields.

    This uses server-side search when available and falls back to comprehensive client-side search.

    Args:
        query: Search term to find in contacts
        max_results: Maximum number of results to return (default: 50)
        search_fields: Specific fields to search in (e.g., ['emails', 'phones', 'organization'])
    
get_contactB

Get a contact by resource name or email with comprehensive information.

    Args:
        identifier: Resource name (people/*) or email address of the contact
        include_all_fields: Whether to include all contact fields (default: True)
    
create_contactB

Create a new contact with comprehensive field support.

    Args:
        given_name: First name of the contact
        family_name: Last name of the contact
        email: Email address of the contact
        phone: Phone number of the contact
        organization: Company/organization name
        job_title: Job title or position
        address: Physical address
        birthday: Birthday in YYYY-MM-DD format
        website: Website URL
        notes: Notes or biography
        nickname: Nickname
    
create_contact_advancedB

Create a new contact with full field support including multiple emails, phones, addresses, etc.

    Args:
        contact_data: Dictionary containing complete contact information with support for:
            - Multiple emails: {"emails": [{"value": "email@example.com", "type": "work"}]}
            - Multiple phones: {"phones": [{"value": "+1234567890", "type": "mobile"}]}
            - Multiple addresses: {"addresses": [{"formatted": "123 Main St", "type": "home"}]}
            - Relations: {"relations": [{"person": "John Doe", "type": "spouse"}]}
            - Events: {"events": [{"date": {"month": 12, "day": 25}, "type": "anniversary"}]}
            - Custom fields: {"custom_fields": [{"key": "Department", "value": "Engineering"}]}
    
update_contactB

Update an existing contact with comprehensive field support.

    Args:
        resource_name: Contact resource name (people/*)
        given_name: Updated first name
        family_name: Updated last name
        email: Updated email address
        phone: Updated phone number
        organization: Updated company/organization name
        job_title: Updated job title or position
        address: Updated physical address
        birthday: Updated birthday in YYYY-MM-DD format
        website: Updated website URL
        notes: Updated notes or biography
        nickname: Updated nickname
    
update_contact_advancedC

Update an existing contact with full field support including multiple emails, phones, addresses, etc.

    Args:
        resource_name: Contact resource name (people/*)
        contact_data: Dictionary containing updated contact information with full field support
    
delete_contactB

Delete a contact by resource name.

    Args:
        resource_name: Contact resource name (people/*) to delete
    
list_workspace_usersB

List Google Workspace users in your organization's directory.

    This tool allows you to search and list users in your Google Workspace directory,
    including their email addresses and other information.

    Args:
        query: Optional search term to find specific users (name, email, etc.)
        max_results: Maximum number of results to return (default: 50)
    
search_directoryC

Search for people specifically in the Google Workspace directory.

    This performs a more targeted search of your organization's directory.

    Args:
        query: Search term to find specific directory members
        max_results: Maximum number of results to return (default: 20)
    
get_other_contactsB

Retrieve contacts from the 'Other contacts' section.

    Other contacts are people you've interacted with but haven't added to your contacts list.
    These often include email correspondents that aren't in your main contacts.

    Args:
        max_results: Maximum number of results to return (default: 50)
    
list_contact_groupsB

List all contact groups (labels) in your Google Contacts.

    Contact groups are like labels that help you organize your contacts into categories
    such as 'Family', 'Work', 'Friends', etc.

    Args:
        include_system_groups: Whether to include system groups like "My Contacts", "Starred", etc.
    
create_contact_groupB

Create a new contact group (label) to organize your contacts.

    Args:
        name: Name for the new contact group (e.g., "Work Colleagues", "Family", "Book Club")
        client_data: Optional custom data as list of key-value pairs (e.g., [{"key": "color", "value": "blue"}])
    
get_contact_groupB

Get detailed information about a specific contact group.

    Args:
        resource_name: Contact group resource name (e.g., "contactGroups/12345")
        include_members: Whether to include the list of member contact IDs
        max_members: Maximum number of member IDs to return if include_members is True
    
update_contact_groupB

Update a contact group's name and custom data.

    Args:
        resource_name: Contact group resource name (e.g., "contactGroups/12345")
        name: New name for the contact group
        client_data: Optional updated custom data as list of key-value pairs
    
delete_contact_groupA

Delete a contact group. Note: This only works for user-created groups, not system groups.

    Args:
        resource_name: Contact group resource name (e.g., "contactGroups/12345")
    
add_contacts_to_groupA

Add contacts to a contact group (assign a label to contacts).

    Args:
        group_resource_name: Contact group resource name (e.g., "contactGroups/12345")
        contact_resource_names: List of contact resource names to add (e.g., ["people/12345", "people/67890"])
    
remove_contacts_from_groupA

Remove contacts from a contact group (remove a label from contacts).

    Args:
        group_resource_name: Contact group resource name (e.g., "contactGroups/12345")
        contact_resource_names: List of contact resource names to remove (e.g., ["people/12345", "people/67890"])
    
search_contacts_by_groupA

Find all contacts that belong to a specific contact group.

    This is useful for seeing which contacts have a particular label assigned.

    Args:
        group_resource_name: Contact group resource name (e.g., "contactGroups/12345")
        max_results: Maximum number of contacts to return
    

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 19 tools

Disambiguation3/5

Most tools have distinct purposes, but there is notable overlap between create_contact and create_contact_advanced, and between update_contact and update_contact_advanced, which could confuse agents about which to use. Additionally, search_contacts and search_contacts_by_group have overlapping search functionality, though their descriptions help differentiate them.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case, such as create_contact, delete_contact_group, and list_contacts. This predictability makes the tool set easy to navigate and understand at a glance.

Tool Count4/5

With 19 tools, the count is slightly high but reasonable for a Google Contacts server, covering contacts, groups, and directory operations. It includes essential CRUD and search functions, though some redundancy (like advanced vs. basic create/update) contributes to the higher number.

Completeness5/5

The tool set provides comprehensive coverage for managing Google Contacts, including full CRUD for contacts and groups, search across multiple dimensions, and integration with Google Workspace. There are no obvious gaps; agents can perform all typical contact management workflows without dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues