MCP Google Contacts Server
Provides tools for managing Google Contacts and searching Google Workspace directories using the Google People API, including listing, searching, creating, updating, and deleting contacts.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Google Contacts ServerFind John Doe's email address"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Google Contacts Server
A Model Context Protocol (MCP) server that gives AI assistants access to Google Contacts. Supports listing, searching, creating, updating, and deleting contacts, as well as searching Google Workspace directories.
Forked from RayanZaki/mcp-google-contacts-server with the following bug fixes:
search_contactsnow uses the Google People API's nativesearchContactsendpoint instead of fetching the first 100 contacts and filtering locally — searches across all contacts regardless of list sizelist_contactsnow paginates through all results instead of stopping at the first pageget_contactby email address now uses the server-side search instead of scanning a partial contact listRemoved a stray debug print statement in
list_directory_people
Prerequisites
Python 3.12 or higher
A Google Cloud project with the People API enabled
OAuth 2.0 credentials (Desktop app type) downloaded from Google Cloud Console
Related MCP server: Google Contacts MCP Server
Installation
git clone https://github.com/puzne2000/mcp-google-contacts-server.git
cd mcp-google-contacts-server
pip install .This installs the mcp-google-contacts command into your PATH.
Authentication
Step 1 — Create a Google Cloud project and get credentials
If you don't already have OAuth credentials from Google, follow these steps. If you do, skip to Step 2.
Go to https://console.cloud.google.com/ and sign in.
Click the project dropdown (top-left) → New Project → give it a name → Create.
In the left menu, go to APIs & Services → Library, search for People API, click it, and click Enable.
In the left menu, go to APIs & Services → OAuth consent screen:
Choose External → Create
Fill in App name, User support email, and Developer contact email (your email for all three)
Click Save and Continue through all steps, then Back to Dashboard
The app stays in Testing mode, which is fine for personal use. If you want others to use it with their accounts, add them as test users on the Test users screen.
In the left menu, go to APIs & Services → Credentials:
Click + Create Credentials → OAuth client ID
Set Application type to Desktop app → Create
Click Download JSON in the confirmation popup
Place the downloaded file at:
mkdir -p ~/.config/google
mv ~/Downloads/client_secret_*.json ~/.config/google/credentials.jsonAlternatively, pass its path explicitly with --credentials-file, or use environment variables:
GOOGLE_CLIENT_ID=...
GOOGLE_CLIENT_SECRET=...
GOOGLE_REFRESH_TOKEN=..."Google hasn't verified this app": When authorizing in the next step, you may see this warning. It is expected for personal apps in Testing mode — click Advanced → Go to [App Name] (unsafe) to proceed.
Step 2 — Run the initial auth flow
Run this once in your terminal to open a browser and authorize access:
mcp-google-contactsSign in with the Google account whose contacts you want to manage. The token is saved to ~/.config/google-contacts-mcp/token.json and auto-refreshes — you won't need to repeat this unless you revoke access.
Once you see Running with stdio transport, press Ctrl+C. Setup is complete.
MCP Configuration
The mcpServers block below is the same across all MCP-compatible clients. Where you put it depends on your client:
Client | Config file location |
Claude Code |
|
Claude Desktop |
|
Cursor | Settings → MCP |
Other clients | See your client's documentation |
{
"mcpServers": {
"google-contacts": {
"command": "mcp-google-contacts",
"args": []
}
}
}Available Tools
Tool | Description |
| Search contacts by name, email, or phone (server-side, searches all contacts) |
| List all contacts, optionally filtered by name |
| Get a contact by resource name ( |
| Create a new contact |
| Update an existing contact |
| Delete a contact |
| List users in your Google Workspace directory |
| Search your Google Workspace directory |
| List contacts from the "Other contacts" section |
License
MIT — see LICENSE.
Related MCP Connectors
Personal CRM for Claude. Contacts live as plain-text files in your own Google Drive.
GDPR-compliant calendar access for AI assistants: read, create, edit, RSVP. Google, MS 365, Apple.
An AI-first personal CRM you run in natural language: contacts, reminders, notes, and more.
Connect AI assistants to Nimble CRM to access and work with customer relationship data.
Related MCP Servers
- AlicenseAqualityDmaintenanceA Machine Conversation Protocol server that enables AI assistants to manage Google Contacts and search Google Workspace directories, providing tools for listing, creating, updating, and deleting contacts within your Google account.933MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to access and search Google Contacts through per-user OAuth authentication on serverless AWS Lambda. Provides read-only access to personal contacts with zero data storage and real-time API queries.47 npm2MIT
- AlicenseAqualityDmaintenanceProvides comprehensive Google Contacts management including creating, searching, and updating contacts with 25+ fields, managing contact groups, and accessing Google Workspace directories.191MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage contacts with full CRUD, dedup, merge, import/export, sync with Google/Apple/CardDAV, and git-backed rollback.4 npmAGPL 3.0