Google Contacts
Manage your Google Contacts, allowing you to create, search, and update contacts.
📇 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 [email protected]: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.txt -
Set up Google API credentials (choose one):
Option A: Credentials file
- Download
credentials.jsonfrom Google Cloud Console - Place 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" - Download
🛠️ Usage
Basic Startup
python src/main.py
# or
uv run src/main.py
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
# HTTP transport
python src/main.py --transport http --port 8080
# Specific credentials file
python src/main.py --credentials-file /path/to/credentials.json
🔌 MCP Client Integration
Add to your MCP configuration:
{
"mcpServers": {
"google-contacts-server": {
"command": "uv",
"args": [
"--directory", "/path/to/mcp-google-contacts-server",
"run", "main.py"
]
}
}
}
🧰 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
# Basic search
search_contacts("john smith")
# Search specific fields
search_contacts("engineer", search_fields=["jobTitle", "organization"])
# Search phone numbers
search_contacts("+1234567890")
Create Contact
# Basic contact
create_contact(
given_name="John",
family_name="Smith",
email="[email protected]",
phone="+1-555-123-4567",
organization="Acme Corp",
job_title="Software Engineer"
)
# Advanced contact with multiple fields
create_contact_advanced({
"given_name": "Jane",
"family_name": "Doe",
"emails": [
{"value": "[email protected]", "type": "work"},
{"value": "[email protected]", "type": "home"}
],
"phones": [
{"value": "+1-555-111-2222", "type": "mobile"}
],
"organization": "Tech Corp",
"birthday": "1985-03-22"
})
Manage Contact Groups
# Create group
create_contact_group("Work Team")
# Add contacts to group
add_contacts_to_group("contactGroups/12345", ["people/67890", "people/11111"])
# Find contacts in group
search_contacts_by_group("contactGroups/12345")
❓ 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_contacts - Try different search terms or fields
Performance Issues
- Use pagination with
max_resultsparameter - Set
include_all_fields=Falsefor faster queries
🔧 Development
# Development setup
uv sync --dev
# Format code
./scripts/format.sh
# Run linting
./scripts/lint.sh
# Test
uv run python test_contact_groups.py
📄 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.
Servidores relacionados
Google Sheets
A server for comprehensive Google Sheets integration, requiring Google OAuth credentials.
Enterpret
Enterpret's Wisdom MCP Server brings customer intelligence directly into your favorite AI tools.
MCP Video Digest
Transcribe and summarize video content from links using various transcription services.
cookiy
AI-powered user research MCP server for creating studies, generating discussion guides, running AI interviews, recruiting participants, and sharing insight reports.
Home Assistant MCP Server
An MCP server for interacting with Home Assistant. Requires HA_URL and HA_TOKEN environment variables.
AI Collaboration MCP Server
An MCP server for AI-to-AI collaboration, enabling autonomous workflows and role-based task management between different AI models.
Atlassian Cloud MCP Server
Integrate with Atlassian Cloud to access Jira tickets, issues, projects, and Confluence pages.
Outline
Interact with Outline, the open-source knowledge base and wiki, directly through your AI assistant.
MCP Mistral OCR
Perform OCR on local files and URLs (images, PDFs) using the Mistral AI API.
MoLing MCP Server
A local office automation assistant for file system operations, system command execution, and browser control.