list_contactsLABSCO SUMMARY
Multi-field search is the difference between a contacts API and a usable address book.
You almost never remember the field a person is filed under — you remember the company, or half a phone number, or a name spelt differently. Searching all of them at once matches how recall actually works. Pagination matters more than it sounds too: a large address book returned whole would fill a context window before you asked anything. Note this writes and deletes, so the Google account you authorise deserves thought.
What it is
A Google Contacts server that covers the whole record rather than name and email, including the group structure and Workspace directory.
What you get
- Create, read, update and delete across a wide field set
- Search spanning names, emails, phones and organisations at once
- Contact groups and labels, managed rather than just read
- Workspace directory search and user management
- Pagination, so large address books do not have to arrive at once
- Multiple emails and phones per contact, addresses, birthdays, relationships and custom fields
Requirements
Python 3.12 or later, a Google account, and a Google Cloud project with the People API enabled. MIT licensed.
Setup effort
Build from source — git clone https://github.com/4tal/mcp-google-contacts.git
USE CASES
Finding someone
Search names, emails, phones and organisations together.
Keeping a record complete
The full field set, not just name and email.
Organising
Groups and labels as manageable objects.
19 tools
Listed in project docs. Your client may show a different list.
search_contactsget_contactcreate_contactcreate_contact_advancedupdate_contactupdate_contact_advanceddelete_contactlist_contact_groupscreate_contact_groupget_contact_groupupdate_contact_groupdelete_contact_groupadd_contacts_to_groupremove_contacts_from_groupsearch_contacts_by_grouplist_workspace_userssearch_directoryget_other_contactsBEFORE YOU INSTALL
What to know first
Tools you get
19 tools named in the project's documentation.
Requires
- Python 3.12 or later
- GOOGLE_CLIENT_ID in your environment
- GOOGLE_CLIENT_SECRET in your environment
- GOOGLE_REFRESH_TOKEN in your environment
INSTALLATION
Connect your client
You clone this one yourself.
Server setup
From source
git clone https://github.com/4tal/mcp-google-contacts.git
cd mcp-google-contacts
# Using uv (recommended)
uv venv && source .venv/bin/activate
uv pip install -r requirements.txt
# Or using pip
pip install -r requirements.txt
Configuration file
{
"mcpServers": {
"google-contacts-server": {
"command": "uv",
"args": [
"--directory",
"<YOUR_PATH_TO_MCP_GOOGLE_CONTACTS>",
"run",
"src/main.py"
],
"env": {
"GOOGLE_CLIENT_ID": "<YOUR_GOOGLE_CLIENT_ID>",
"GOOGLE_CLIENT_SECRET": "<YOUR_GOOGLE_CLIENT_SECRET>",
"GOOGLE_REFRESH_TOKEN": "<YOUR_GOOGLE_REFRESH_TOKEN>"
}
}
}
}GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET and GOOGLE_REFRESH_TOKEN come from your Google Cloud OAuth client. If you use a downloaded credentials.json instead, delete the env section and put the file in the root of your clone.