Google Contacts for AI agents

Google Contacts, accessed through the People API, manages a user's personal and organizational contact list, letting apps read, search, and update names, emails, and phone numbers stored in the account. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.

ProductivityOAuth 2.0MCP + RESTcontacts.google.com
AUDIT LOG · GOOGLE CONTACTSPOLICY: acme-support
09:41:07 · claude · u_8f2read
google_contacts.list_connections
List Connections✓ allowed · 212ms
09:41:08 · claude · u_8f2read
google_contacts.get_person
Get Person✓ allowed · 164ms
09:41:09 · claude · u_8f2write
google_contacts.create_contact
Create Contact✓ approved · approved by user
09:41:12 · claude · u_8f2destructive
google_contacts.delete_contact
Delete Google Contact✕ blocked · policy: deny
EVERY GOOGLE CONTACTS CALL, ON THE RECORD
01 · USE CASES

What agents do in Google Contacts.

01

Look up a contact's details

Search contacts by name to find a person's email or phone number before reaching out.

02

Add a new contact

Create a new contact entry from details shared in an email signature or business card.

03

Delete a contact with confirmation

Remove a contact only after the user confirms it is a duplicate or no longer needed.

02 · ACTIONS

24 Google Contacts actions, graded by risk.

Every Google Contacts action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.

read

11

Look things up. Allowed by default.

  • google_contacts.get_person
    Get Person
  • google_contacts.search_contacts
    Search Contacts
  • google_contacts.get_batch_people
    Batch get people
  • google_contacts.list_connections
    List Connections
  • google_contacts.get_contact_group
    Get Contact Group
  • google_contacts.list_contact_groups
    List Contact Groups
  • google_contacts.list_other_contacts
    List Other Contacts
  • google_contacts.list_directory_people
    List Directory People
  • google_contacts.search_other_contacts
    Search Other Contacts
  • google_contacts.search_directory_people
    Search Domain Directory People
  • google_contacts.batch_get_contact_groups
    Batch get contact groups

write

9

Create and change things. Allow, or ask the user first.

  • google_contacts.create_contact
    Create Contact
  • google_contacts.update_contact
    Update Google Contact
  • google_contacts.create_contact_group
    Create Contact Group
  • google_contacts.update_contact_group
    Update Contact Group
  • google_contacts.update_contact_photo
    Update Contact Photo
  • google_contacts.batch_create_contacts
    Batch create contacts
  • google_contacts.batch_update_contacts
    Batch Update Google Contacts
  • google_contacts.modify_contact_group_members
    Modify Contact Group Members
  • google_contacts.copy_other_contact_to_my_contacts
    Copy Other Contact to My Contacts

destructive

4

Delete, cancel or archive. Ask first, or deny outright.

  • google_contacts.delete_contact
    Delete Google Contact
  • google_contacts.delete_contact_group
    Delete contact group
  • google_contacts.delete_contact_photo
    Delete Contact Photo
  • google_contacts.delete_contacts_batch
    Batch Delete Google Contacts
03 · HOW IT WORKS

Google Contacts in three steps.

  1. 01Your users connect Google ContactsThey sign in to Google Contacts on Arc0 Connect, under your brand, and approve the access you ask for.
  2. 02You set the rulesReads run, writes like “create Contact” can wait for the user, and “delete Google Contact” can be denied outright.
  3. 03Any agent can actYour agent calls Google Contacts through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
POLICY.TS
await arc0.policies.set('google_contacts', {
  read: 'allow',
  write: 'ask',        // create_contact
  destructive: 'deny',  // delete_contact
})

# Claude Code: the same connection, one URL
$ claude mcp add --transport http arc0 \
    https://mcp.arc0.ai/u/u_8f2
04 · AUTH AND DATA

How Google Contacts connects.

Users sign in to Google Contacts on Arc0 Connect and approve the scopes you request. Build with Arc0’s Google Contacts OAuth app, or bring your own so the Google Contacts consent screen names you. Tokens refresh automatically, and you can export them whenever you want.

The same Google Contacts connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →

AUTH
OAuth 2.0
CREDENTIALS
Per-tenant encrypted vault
MODEL SEES
Results only, never credentials
AUDIT LOG
Every call, on every plan
05 · WORKS WITH

Use Google Contacts from any agent.

Claude
ChatGPT
Cursor
Codex
VS Code
OpenAI Agents SDK
Claude Agent SDK
Vercel AI SDK
Mastra
LangGraph
07 · FAQ

Google Contacts and Arc0, answered.

Q01

Can I use Google Contacts with Claude, ChatGPT or Cursor?

Yes. Connect Google Contacts to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the Google Contacts actions you allow.

Q02

How do users connect Google Contacts?

Users sign in to Google Contacts on Arc0 Connect and approve the scopes you request. Build with Arc0’s Google Contacts OAuth app, or bring your own so the Google Contacts consent screen names you. Tokens refresh automatically, and you can export them whenever you want.

Q03

Which Google Contacts actions can my agent take?

24 in total: 11 read, 9 write and 4 destructive, such as “create Contact”. Your policies decide which of them each agent may call.

Q04

Can I stop my agent from deleting things in Google Contacts?

Yes. Actions like “delete Google Contact” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.

Q05

Can my own backend call Google Contacts too?

Yes. The same Google Contacts connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.

Get started

Plug Google Contacts into your agent.

Your users connect Google Contacts once, under your brand. Your agent gets 24 actions behind your policies, with every call on the record.

Free to build · MCP + REST · Audit log on every plan