> ## Documentation Index
> Fetch the complete documentation index at: https://docs.caylex.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Contacts

> Automate form creation and response management

The Google Forms MCP Server integrates with the Google Forms API to create, edit, and retrieve forms, enabling AI agents to automate data collection, streamline surveys, and enhance user interactions through natural language processing.

## Server Details

| Property       | Value                                                     |
| -------------- | --------------------------------------------------------- |
| **Transport**  | Streamable HTTP                                           |
| **Hosting**    | Remote (externally hosted)                                |
| **Categories** | Productivity & Collaboration, Business Operations, Google |

## Authentication

This server supports the following authentication method:

### OAuth

**Scopes:** `openid`, `email`, `profile`, `https://www.googleapis.com/auth/contacts`, `https://www.googleapis.com/auth/contacts.readonly`

During the server onboarding flow, you will be prompted to complete the OAuth flow to grant access. See the [Google Contacts Authentication guide](/oauth-guides/google-contacts) for step-by-step credential configuration.

## Getting Started

<Steps>
  <Step title="Add the server">
    Navigate to the **Server Library** and click on the **New Server** button. Find **Google Contacts** in the Caylex Catalog.
  </Step>

  <Step title="Server Onboarding flow">
    Go through the server onboarding flow.
  </Step>

  <Step title="Use in a project">
    Add the server to a [project](https://app.caylex.dev/projects) by configuring project connections. Its tools are now available to any agents connected to that project.
  </Step>
</Steps>

## Available Tools

This server provides **16** tools:

<AccordionGroup>
  <Accordion title="contacts_get_current_user">
    Returns the authenticated user's account information for use with Contacts tools. Use the returned email as user\_google\_email when calling contacts\_\* tools. Uses the Bearer token from the request's Authorization header.
  </Accordion>

  <Accordion title="get_contact">
    Get detailed information about a specific contact.

    Use contacts\_get\_current\_user to get the user\_google\_email or account information.

    Args:
    user\_google\_email (str): The user's Google email address. Required.
    contact\_id (str): The contact ID (e.g., "c1234567890" or full resource name "people/c1234567890").

    Returns:
    str: Detailed contact information.
  </Accordion>

  <Accordion title="contacts_create_contact">
    Create a new contact.

    Use contacts\_get\_current\_user to get the user\_google\_email or account information.

    Args:
    user\_google\_email (str): The user's Google email address. Required.
    given\_name (Optional\[str]): First name.
    family\_name (Optional\[str]): Last name.
    email (Optional\[str]): Email address.
    phone (Optional\[str]): Phone number.
    organization (Optional\[str]): Company/organization name.
    job\_title (Optional\[str]): Job title.
    notes (Optional\[str]): Additional notes.

    Returns:
    str: Confirmation with the new contact's details.
  </Accordion>

  <Accordion title="contacts_get_contact_group">
    Get details of a specific contact group including its members.

    Use contacts\_get\_current\_user to get the user\_google\_email or account information.

    Args:
    user\_google\_email (str): The user's Google email address. Required.
    group\_id (str): The contact group ID.
    max\_members (int): Maximum number of members to return (default: 100, max: 1000).

    Returns:
    str: Contact group details including members.
  </Accordion>

  <Accordion title="contacts_batch_update_contacts">
    Update multiple contacts in a batch operation.

    Use contacts\_get\_current\_user to get the user\_google\_email or account information.

    Args:
    user\_google\_email (str): The user's Google email address. Required.
    updates (List\[Dict\[str, str]]): List of update dictionaries with fields:

    <ul>
      <li>contact\_id: The contact ID to update (required)</li>
      <li>given\_name: New first name</li>
      <li>family\_name: New last name</li>
      <li>email: New email address</li>
      <li>phone: New phone number</li>
      <li>organization: New company name</li>
      <li>job\_title: New job title</li>
    </ul>

    Returns:
    str: Confirmation with updated contacts.
  </Accordion>

  <Accordion title="contacts_update_contact">
    Update an existing contact. Note: This replaces fields, not merges them.

    Use contacts\_get\_current\_user to get the user\_google\_email or account information.

    Args:
    user\_google\_email (str): The user's Google email address. Required.
    contact\_id (str): The contact ID to update.
    given\_name (Optional\[str]): New first name.
    family\_name (Optional\[str]): New last name.
    email (Optional\[str]): New email address.
    phone (Optional\[str]): New phone number.
    organization (Optional\[str]): New company/organization name.
    job\_title (Optional\[str]): New job title.
    notes (Optional\[str]): New notes.

    Returns:
    str: Confirmation with updated contact details.
  </Accordion>

  <Accordion title="contacts_delete_contact">
    Delete a contact.

    Use contacts\_get\_current\_user to get the user\_google\_email or account information.

    Args:
    user\_google\_email (str): The user's Google email address. Required.
    contact\_id (str): The contact ID to delete.

    Returns:
    str: Confirmation message.
  </Accordion>

  <Accordion title="contacts_batch_delete_contacts">
    Delete multiple contacts in a batch operation.

    Use contacts\_get\_current\_user to get the user\_google\_email or account information.

    Args:
    user\_google\_email (str): The user's Google email address. Required.
    contact\_ids (List\[str]): List of contact IDs to delete.

    Returns:
    str: Confirmation message.
  </Accordion>

  <Accordion title="contacts_create_contact_group">
    Create a new contact group (label).

    Use contacts\_get\_current\_user to get the user\_google\_email or account information.

    Args:
    user\_google\_email (str): The user's Google email address. Required.
    name (str): The name of the new contact group.

    Returns:
    str: Confirmation with the new group details.
  </Accordion>

  <Accordion title="contacts_update_contact_group">
    Update a contact group's name.

    Use contacts\_get\_current\_user to get the user\_google\_email or account information.

    Args:
    user\_google\_email (str): The user's Google email address. Required.
    group\_id (str): The contact group ID to update.
    name (str): The new name for the contact group.

    Returns:
    str: Confirmation with updated group details.
  </Accordion>

  <Accordion title="contacts_delete_contact_group">
    Delete a contact group.

    Use contacts\_get\_current\_user to get the user\_google\_email or account information.

    Args:
    user\_google\_email (str): The user's Google email address. Required.
    group\_id (str): The contact group ID to delete.
    delete\_contacts (bool): If True, also delete contacts in the group (default: False).

    Returns:
    str: Confirmation message.
  </Accordion>

  <Accordion title="contacts_list_contact_groups">
    List contact groups (labels) for the user.

    Use contacts\_get\_current\_user to get the user\_google\_email or account information.

    Args:
    user\_google\_email (str): The user's Google email address. Required.
    page\_size (int): Maximum number of groups to return (default: 100, max: 1000).
    page\_token (Optional\[str]): Token for pagination.

    Returns:
    str: List of contact groups with their details.
  </Accordion>

  <Accordion title="contacts_batch_create_contacts">
    Create multiple contacts in a batch operation.

    Use contacts\_get\_current\_user to get the user\_google\_email or account information.

    Args:
    user\_google\_email (str): The user's Google email address. Required.
    contacts (List\[Dict\[str, str]]): List of contact dictionaries with fields:

    <ul>
      <li>given\_name: First name</li>
      <li>family\_name: Last name</li>
      <li>email: Email address</li>
      <li>phone: Phone number</li>
      <li>organization: Company name</li>
      <li>job\_title: Job title</li>
    </ul>

    Returns:
    str: Confirmation with created contacts.
  </Accordion>

  <Accordion title="contacts_modify_contact_group_members">
    Add or remove contacts from a contact group.

    Use contacts\_get\_current\_user to get the user\_google\_email or account information.

    Args:
    user\_google\_email (str): The user's Google email address. Required.
    group\_id (str): The contact group ID.
    add\_contact\_ids (Optional\[List\[str]]): Contact IDs to add to the group.
    remove\_contact\_ids (Optional\[List\[str]]): Contact IDs to remove from the group.

    Returns:
    str: Confirmation with results.
  </Accordion>

  <Accordion title="contacts_list_contacts">
    List contacts for the authenticated user.

    Use contacts\_get\_current\_user to get the user\_google\_email or account information.

    Args:
    user\_google\_email (str): The user's Google email address. Required.
    page\_size (int): Maximum number of contacts to return (default: 100, max: 1000).
    page\_token (Optional\[str]): Token for pagination.
    sort\_order (Optional\[str]): Sort order: "LAST\_MODIFIED\_ASCENDING", "LAST\_MODIFIED\_DESCENDING", "FIRST\_NAME\_ASCENDING", or "LAST\_NAME\_ASCENDING".

    Returns:
    str: List of contacts with their basic information.
  </Accordion>

  <Accordion title="contacts_search_contacts">
    Search contacts by name, email, phone number, or other fields.

    Use contacts\_get\_current\_user to get the user\_google\_email or account information.

    Args:
    user\_google\_email (str): The user's Google email address. Required.
    query (str): Search query string (searches names, emails, phone numbers).
    page\_size (int): Maximum number of results to return (default: 30, max: 30).

    Returns:
    str: Matching contacts with their basic information.
  </Accordion>
</AccordionGroup>

## Related Servers

<CardGroup cols={2}>
  <Card title="Gmail" href="/server-catalog/gmail" icon="https://d338mlbnszozgc.cloudfront.net/logos/gmail.svg" />

  <Card title="Google Calendar" href="/server-catalog/google-calendar" icon="https://d338mlbnszozgc.cloudfront.net/logos/google-calendar.svg" />

  <Card title="Hunter" href="/server-catalog/hunter" icon="https://d338mlbnszozgc.cloudfront.net/logos/hunter.svg" />
</CardGroup>
