Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GOOGLE_CLIENT_ID | No | Your Google OAuth client ID | |
| GOOGLE_CLIENT_SECRET | No | Your Google OAuth client secret | |
| GOOGLE_REFRESH_TOKEN | No | Your Google OAuth refresh token |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |