productivityoauth2

Googlecontacts

Access and manage Google Contacts data via the Google People API

Verdict

This MCP connects your team's Switchy workspace to Google Contacts, exposing 24 tools that let you read, write, and organize contacts without leaving a Space. An @mention can create contacts from meeting notes, batch-update phone numbers after a company move, or pull contact details into a proposal draft. Sales and ops teams get the most mileage — you skip the tab-switching and manual data entry. One caveat: OAuth setup requires granting read/write access to all contacts, so this works best when the connecting user owns or manages the shared contact list.

Common use cases

  • Create contacts from meeting transcripts
  • Batch update phone numbers after office move
  • Pull client details into proposal drafts
  • Organize contacts into groups by project
  • Copy suggested contacts to permanent list

Integration

Vendor
Googlecontacts
Category
productivity
Auth
OAUTH2
Tools
24
Composio slug
googlecontacts

Tools

  • Batch create contacts

    Create a batch of new contacts in Google Contacts. This action creates up to 200 contacts in a single API call and returns the PersonResponses for the newly created contacts. Use this action when you need to create multiple contacts at once

  • Batch Delete Google Contacts
    destructive

    Delete a batch of contacts from Google Contacts. Any non-contact data will not be deleted. Use this action when you need to permanently remove multiple contacts from the user's Google Contacts list at once. This action is irreversible — the

  • Batch get contact groups

    Get a list of contact groups owned by the authenticated user by specifying a list of contact group resource names. Use when you need to retrieve details for specific contact groups, such as getting group metadata, member counts, or group na

  • Batch get people

    Batch retrieves information about multiple people from Google Contacts. Use this action when you need to fetch contact information for several people in a single API call rather than making individual requests per person. This improves effi

  • Batch Update Google Contacts

    Update a batch of contacts in Google Contacts and return the updated contact data. Use this action when you need to modify multiple contacts at once, such as: - Updating names, phone numbers, or email addresses for several contacts - Making

  • Copy Other Contact to My Contacts

    Copies an Other contact to a new contact in the user's myContacts group. Use this action when you need to save an existing "Other contact" (from Google's contact suggestions) to your permanent contacts in the myContacts group. Mutate reques

  • Create Contact

    Create a new contact in Google Contacts and return the person resource for that contact. Use when you need to add a new person to the authenticated user's Google Contacts. The request returns a 400 error if more than one field is specified

  • Create Contact Group

    Create a new contact group owned by the authenticated user. The group name must be unique among the user's contact groups. Use this action when you need to create a new contact group to organize the user's Google Contacts. Attempting to cre

  • Delete contact group
    destructive

    Deletes an existing contact group owned by the authenticated user by specifying the contact group resource name. This action is irreversible — once deleted, the contact group cannot be recovered. Use this action when you need to remove a co

  • Delete Contact Photo
    destructive

    Delete a contact's photo from Google Contacts. Use when you need to remove a profile picture from a specific contact. This action is irreversible — once the photo is deleted, it cannot be recovered. Mutate requests for the same user should

  • Delete Google Contact
    destructive

    Delete a contact person from Google Contacts. Any non-contact data will not be deleted. Use this action when you need to permanently remove a contact from the user's Google Contacts list. This action is irreversible — the contact cannot be

  • Get Contact Group

    Retrieves a specific contact group owned by the authenticated user by specifying the contact group resource name. Use when you need to get details about a specific contact group, including its name, member count, and metadata. This is a rea

  • Get Person

    Provides information about a person by specifying a resource name. Use when you need to retrieve detailed information about a specific person, including their names, email addresses, phone numbers, organizations, and other profile data. Use

  • List Connections

    Lists the connections (contacts) for the authenticated user. Use when you need to retrieve a paginated list of all contacts with optional sorting, filtering, and incremental sync support. Sync tokens expire 7 days after a full sync — reques

  • List Contact Groups

    List all contact groups owned by the authenticated user. Use when you need to retrieve all contact groups (e.g., "My Contacts", "Starred", custom groups) for organizing or managing contacts. Members of the contact groups are not populated i

  • List Directory People

    Lists domain profiles and domain contacts in the authenticated user's domain directory. Use when you need to retrieve directory information for all users in a Google Workspace domain, including their contact details like names, emails, and

  • List Other Contacts

    Lists "Other contacts" from Google People API. Other contacts are contacts that are not in a contact group, typically auto-created from interactions like emails sent or received. Use this action when you need to retrieve contacts that exist

  • Modify Contact Group Members

    Modifies the members of a contact group by adding or removing contact resource names. Only system contact groups 'contactGroups/myContacts' and 'contactGroups/starred' can have members added. Other system contact groups are deprecated and c

  • Search Contacts

    Searches the authenticated user's contacts for matches against the provided query. The query matches against names, nicknames, email addresses, phone numbers, and organizations. Use this action when you need to find specific contacts in the

  • Search Domain Directory People

    Search domain directory people in Google Contacts. Provides a list of domain profiles and domain contacts in the authenticated user's domain directory that match the search query. Use this action when you need to find people within your org

  • Search Other Contacts

    Searches other contacts from Google People API that match a query string. Other contacts are contacts not in any contact group, typically auto-created from interactions like emails sent or received. This action searches across names, email

  • Update Contact Group

    Update the name of an existing contact group owned by the authenticated user. Use this action when you need to rename a contact group or update its metadata. Attempting to create a group with a duplicate name will return an HTTP 409 error.

  • Update Contact Photo

    Update a contact's photo. Use when you need to change or set the profile picture for an existing Google Contact. Mutate requests for the same user should be sent sequentially to avoid increased latency and failures. The photo should be prov

  • Update Google Contact

    Update contact data for an existing contact person. Any non-contact data will not be modified. Use this action when you need to update information (such as name, email, phone) for an existing contact in Google Contacts. Important notes: - A

Setup

Setup guide

  1. 11. Inside any Switchy Space, click the '+' icon in the sidebar and choose 'Add Integration'. 2. Search for 'Google Contacts' and click 'Connect'. 3. You'll be redirected to Google's OAuth consent screen — sign in with the Google account that owns the contacts you want to access. 4. Google will ask you to grant 'See, edit, download, and permanently delete your contacts' scope; click 'Allow'. 5. Switchy redirects you back and confirms the connection is live. 6. Return to your Space and type '@Googlecontacts list my contact groups' to verify the MCP responds with your actual groups. 7. From now on, @mention Googlecontacts in any message to invoke its tools — the AI will route your request to the appropriate Google Contacts API endpoint and return the result inline.

What teammates see: by default, memories from Googlecontacts are scoped to the Space (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.

Works well with

Top models

Compatibility data appears once enough Spaces have used this MCP together with a given model.

How Switchy teams use it

Not enough Spaces yet to publish anonymised usage stats (we require ≥ 50 Spaces per week).

Starter prompts

Create Contact from Notes

@Googlecontacts create a new contact for Jane Doe, email jane.doe@example.com, mobile +1-555-0199, works at Acme Corp as VP of Sales.
Open in a Space →

List All Contact Groups

@Googlecontacts show me all my contact groups with their names and member counts.
Open in a Space →

Batch Update Area Codes

@Googlecontacts find all contacts with phone numbers starting +1-415 and update them to +1-628, then confirm how many were changed.
Open in a Space →

Fetch Client Details

@Googlecontacts get the full contact card for Michael Chen including all phone numbers, email addresses, and company details.
Open in a Space →

Create Project Contact Group

@Googlecontacts create a contact group called 'Q1 Launch Team' and add sarah@example.com, tom@example.com, and priya@example.com to it.
Open in a Space →

Example outputs

Illustrative - representative of the model's voice and quality, not literal recordings.

Prompt

@googlecontacts find all contacts with 'acme' in their company name and show me their names, emails, and phone numbers

Output

I searched your Google Contacts for anyone associated with 'acme' and found 7 matches: 1. Sarah Chen (sarah.chen@acme.com, +1-555-0142) — VP of Engineering 2. Marcus Williams (m.williams@acme.com, +1-555-0198) — Product Manager 3. Jennifer Park (jpark@acme.com) — no phone listed 4. David Kumar (david.k@acme.com, +1-555-0203) — Sales Director 5. Lisa Thompson (lisa@acme.com, +1-555-0176) 6. Robert Chen (robert@acmecorp.com) — different domain, verify this is the right company 7. Emily Rodriguez (emily.r@acme.com, +1-555-0211) — Customer Success This is an illustrative example based on typical contact data structure.

Notes

This example uses batch retrieval to efficiently fetch multiple contacts matching search criteria. Requires the 'contacts.readonly' OAuth scope. Search behavior depends on how contact data is structured in your Google account — partial matches work for organization fields, but exact email domain searches are more reliable than fuzzy company name matching.

Prompt

@googlecontacts create a new contact for Jamie Sullivan, email jamie.sullivan@techstart.io, mobile +1-555-0299, and add them to my 'Investors' group

Output

I've created a new contact for Jamie Sullivan in your Google Contacts: - Name: Jamie Sullivan - Email: jamie.sullivan@techstart.io - Mobile: +1-555-0299 - Added to group: Investors The contact is now saved and synced across your Google account. You can find Jamie in your Contacts app or by searching in Gmail. This is an illustrative example — the actual response includes the full person resource with a unique resourceName identifier.

Notes

This example demonstrates contact creation with group assignment in a single operation. Requires 'contacts' OAuth scope (read/write). The 'Investors' group must already exist in your account — if it doesn't, you'll need to create the group first using the create contact group tool. Changes sync immediately across all Google services.

Prompt

@googlecontacts review all contacts I haven't interacted with in over a year and draft a list of who I should archive versus keep active

Output

I retrieved your contact interaction data and found 43 contacts with no recorded activity in the past 12+ months. Here's my recommended segmentation: **Archive (28 contacts):** People with incomplete data (missing email/phone), duplicate entries, or contacts from closed projects. Examples: 'John D' (no contact info), 'Conference Booth Lead' (generic placeholder), 'Old Vendor Support' (company no longer used). **Keep Active (15 contacts):** Former colleagues at companies you still work with, investors, advisors, or people in your industry who may be relevant for future networking even without recent contact. Examples: Sarah Kim (ex-colleague now at partner company), Michael Torres (industry conference organizer). This is an illustrative analysis based on typical contact metadata patterns.

Notes

This example combines batch contact retrieval with AI reasoning to analyze contact utility. Google Contacts API doesn't directly expose 'last interaction' timestamps — the AI infers staleness from metadata completeness, group membership, and notes fields. Requires 'contacts.readonly' scope. The analysis is subjective and should be reviewed before taking bulk deletion actions.

Use-case deep-dives

CRM sync for sales team

When Google Contacts beats a full CRM for early-stage teams

A 6-person sales team closing 3-5 deals a month doesn't need Salesforce's overhead. They need contact data in Google Workspace where they already live. This MCP wins when your deal flow is under 20 active prospects and your reps spend more time in Gmail than in a CRM dashboard. The batch create and batch update tools let you push lead lists from a spreadsheet or Slack thread into Contacts in one shot, then tag them with contact groups for pipeline stages. The OAuth2 flow means each rep controls their own contact list—no shared database to maintain. If you're closing more than 10 deals a month or need deal history beyond email threads, you've outgrown this and need a real CRM. For teams still in the 'spreadsheet + Gmail' phase, this MCP keeps you there longer without the chaos.

Event attendee list management

How this MCP handles post-event follow-up at conference scale

A 3-person event ops team runs quarterly meetups with 80-120 attendees. After each event, they need to move badge-scan data into Google Contacts so the founder can send personalized follow-ups from Gmail. This MCP's batch create tool takes a CSV export from the badge scanner and pushes all 100+ contacts in a single call, then uses contact groups to tag them by session attendance or interest area. The copy-other-contact tool is useful when attendees are already in Google's suggestions but not saved—common with repeat guests. The limit is the 200-contact batch ceiling: if your event tops 200 people, you'll need to chunk the import or script it. For quarterly events under 150 attendees where follow-up happens in Gmail (not a marketing automation tool), this MCP closes the loop without adding another SaaS login.

Freelancer client roster upkeep

Why solo consultants use this MCP for client contact hygiene

A solo consultant juggles 12-15 active clients and twice that many past clients who refer new work. Keeping Google Contacts current matters because every intro email and calendar invite pulls from it. This MCP's batch update tool lets you refresh phone numbers, add LinkedIn URLs, or fix misspelled names across a dozen contacts in one Switchy prompt—no clicking through Google's web UI. The contact group tools organize clients by project status (active, paused, alumni) so you can filter your contact list when you need to send a quarterly check-in. The batch delete tool cleans out outdated leads without the tedium of one-by-one confirmation. If you're managing more than 50 active client relationships or need CRM features like deal tracking, this won't scale. For freelancers who live in Gmail and just need their contact list to stay accurate, this MCP is the lowest-friction fix.

Frequently asked

What does the Google Contacts MCP do in Switchy?

It lets your AI agents read, create, update, and delete contacts in your Google Contacts account. Agents can batch-create up to 200 contacts at once, organize contacts into groups, copy suggested contacts into your permanent list, and retrieve contact details by name or email. All changes sync immediately to your Google account.

Which OAuth scopes does the Google Contacts MCP request?

It requests write access to your Google Contacts, which includes reading, creating, updating, and deleting contacts and contact groups. You'll see a Google consent screen asking for permission to manage your contacts. Any Google Workspace account can grant this — you don't need admin rights unless your organization restricts third-party app access.

Can the MCP access contacts shared with me by other people?

No. It only accesses contacts you own in your personal Google Contacts account. Shared contacts from Google Workspace directory or contacts another user shared via a group aren't exposed through the Google People API this MCP uses. For directory access, you'd need a separate Google Workspace Admin integration.

How does this compare to just using Google Contacts directly?

Use the MCP when you want an AI agent to automate contact management — like syncing leads from a spreadsheet, deduplicating entries, or tagging contacts based on email content. For one-off edits or browsing, the Google Contacts web app is faster. The MCP shines in workflows where contact updates are a side effect of another task.

Who on my team should connect the Google Contacts MCP?

Whoever owns the contact list you want agents to manage. Each connection is scoped to one Google account's contacts. If your team shares a contacts@company.com account, connect that. If contacts are personal, each person connects their own. One connection per Google account — it doesn't count against Switchy seat limits.

Data last verified 607 hours ago.Sources aggregated hourly to weekly. See docs/architecture/model-directory.md.