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

Tools

Functions exposed to the LLM to take actions

NameDescription
list_contacts

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_contacts

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_contact

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_contact

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_advanced

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_contact

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_advanced

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_contact

Delete a contact by resource name.

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

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_directory

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_contacts

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_groups

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_group

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_group

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_group

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_group

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_group

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_group

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_group

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

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/4tal/mcp-google-contacts'

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