Provides comprehensive Google Contacts management including creating, reading, updating, and deleting contacts with 25+ fields, advanced multi-field search, contact groups/labels management, and Google Workspace directory integration.
Integrates with Google Cloud's People API to enable contact management operations, requiring OAuth 2.0 credentials and API enablement through Google Cloud Console.
📇 MCP Google Contacts Server
A Machine Conversation Protocol (MCP) server that provides comprehensive Google Contacts functionality for AI assistants.
✨ Features
Complete Contact Management: Create, read, update, and delete contacts with 25+ fields
Advanced Search: Multi-field search across names, emails, phones, and organizations
Contact Groups: Full label/group management and organization
Google Workspace Integration: Directory search and user management
Efficient Performance: Pagination support for large contact lists (1000+ contacts)
Rich Field Support: Multiple emails/phones, addresses, birthdays, relationships, custom fields
🚀 Installation
Prerequisites
Python 3.12 or higher
Google account with contacts access
Google Cloud project with People API enabled
OAuth 2.0 credentials
Setup
Clone and install:
git clone git@github.com:4tal/mcp-google-contacts-server.git cd mcp-google-contacts-server # Using uv (recommended) uv venv && source .venv/bin/activate uv pip install -r requirements.txt # Or using pip pip install -r requirements.txtSet up Google API credentials (choose one):
Option A: Credentials file
Download
credentials.jsonfrom Google Cloud ConsolePlace in project root or specify with
--credentials-file
Option B: Environment variables
export GOOGLE_CLIENT_ID="your_client_id" export GOOGLE_CLIENT_SECRET="your_client_secret" export GOOGLE_REFRESH_TOKEN="your_refresh_token"
🛠️ Usage
Basic Startup
Command Line Options
--transport: Protocol (stdioorhttp, default:stdio)--host: HTTP host (default:localhost)--port: HTTP port (default:8000)--credentials-file: Path to credentials.json--client-id,--client-secret,--refresh-token: OAuth credentials
Examples
🔌 MCP Client Integration
Add to your MCP configuration:
🧰 Available Tools
Contact Management
list_contacts- List all contacts with filtering and paginationsearch_contacts- Advanced multi-field searchget_contact- Get detailed contact informationcreate_contact- Create contact with basic fields (11 fields)create_contact_advanced- Create contact with all fields (25+ fields)update_contact- Update contact with basic fieldsupdate_contact_advanced- Update contact with all fieldsdelete_contact- Delete a contact
Contact Groups (Labels)
list_contact_groups- List all contact groups/labelscreate_contact_group- Create new contact groupget_contact_group- Get group details and membersupdate_contact_group- Update group namedelete_contact_group- Delete user-created groupsadd_contacts_to_group- Add contacts to a groupremove_contacts_from_group- Remove contacts from groupsearch_contacts_by_group- Find contacts in specific group
Google Workspace
list_workspace_users- List organization directorysearch_directory- Search workspace directoryget_other_contacts- Get "other contacts"
📝 Quick Examples
Search Contacts
Create Contact
Manage Contact Groups
❓ Troubleshooting
Authentication Issues
Ensure People API is enabled in Google Cloud Console
Check OAuth credentials are valid and have proper scopes
Required scopes:
contactsanddirectory.readonly
Search Not Working
Use server-side search with
search_contactsTry different search terms or fields
Performance Issues
Use pagination with
max_resultsparameterSet
include_all_fields=Falsefor faster queries
🔧 Development
📄 License
MIT License - see LICENSE file for details.
Note: This server provides comprehensive Google Contacts functionality with support for all contact fields, advanced search, contact groups, and efficient handling of large contact lists.