Google Contacts
Gerencie seus Contatos do Google, permitindo criar, pesquisar e atualizar contatos.
GitHub
1
Experimente este MCPPatrocinadoDocumentação
📇 Servidor MCP do Google Contacts
Um servidor de Protocolo de Conversação entre Máquinas (MCP) que fornece funcionalidades abrangentes do Google Contacts para assistentes de IA.
✨ Recursos
- Gerenciamento Completo de Contatos: Crie, leia, atualize e exclua contatos com mais de 25 campos
- Busca Avançada: Busca em múltiplos campos por nomes, e-mails, telefones e organizações
- Grupos de Contatos: Gerenciamento completo de rótulos/grupos e organização
- Integração com Google Workspace: Busca no diretório e gerenciamento de usuários
- Desempenho Eficiente: Suporte a paginação para listas grandes de contatos (mais de 1000 contatos)
- Suporte a Campos Ricos: Múltiplos e-mails/telefones, endereços, aniversários, relacionamentos, campos personalizados
🚀 Instalação
Pré-requisitos
- Python 3.12 ou superior
- Conta Google com acesso a contatos
- Projeto no Google Cloud com a API People habilitada
- Credenciais OAuth 2.0
Configuração
-
Clone e instale:
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.txt -
Configure as credenciais da API do Google (escolha uma opção):
Opção A: Arquivo de credenciais
- Baixe
credentials.jsondo Console do Google Cloud - Coloque na raiz do projeto ou especifique com
--credentials-file
Opção B: Variáveis de ambiente
export GOOGLE_CLIENT_ID="your_client_id" export GOOGLE_CLIENT_SECRET="your_client_secret" export GOOGLE_REFRESH_TOKEN="your_refresh_token" - Baixe
🛠️ Uso
Inicialização Básica
python src/main.py
# or
uv run src/main.py
Opções de Linha de Comando
--transport: Protocolo (stdioouhttp, padrão:stdio)--host: Host HTTP (padrão:localhost)--port: Porta HTTP (padrão:8000)--credentials-file: Caminho para credentials.json--client-id,--client-secret,--refresh-token: Credenciais OAuth
Exemplos
# HTTP transport
python src/main.py --transport http --port 8080
# Specific credentials file
python src/main.py --credentials-file /path/to/credentials.json
🔌 Integração com Cliente MCP
Adicione à sua configuração MCP:
{
"mcpServers": {
"google-contacts-server": {
"command": "uv",
"args": [
"--directory", "/path/to/mcp-google-contacts-server",
"run", "main.py"
]
}
}
}
🧰 Ferramentas Disponíveis
Gerenciamento de Contatos
list_contacts- Lista todos os contatos com filtragem e paginaçãosearch_contacts- Busca avançada em múltiplos camposget_contact- Obtém informações detalhadas do contatocreate_contact- Cria contato com campos básicos (11 campos)create_contact_advanced- Cria contato com todos os campos (mais de 25 campos)update_contact- Atualiza contato com campos básicosupdate_contact_advanced- Atualiza contato com todos os camposdelete_contact- Exclui um contato
Grupos de Contatos (Rótulos)
list_contact_groups- Lista todos os grupos/rótulos de contatoscreate_contact_group- Cria novo grupo de contatosget_contact_group- Obtém detalhes do grupo e membrosupdate_contact_group- Atualiza nome do grupodelete_contact_group- Exclui grupos criados pelo usuárioadd_contacts_to_group- Adiciona contatos a um gruporemove_contacts_from_group- Remove contatos de um gruposearch_contacts_by_group- Encontra contatos em grupo específico
Google Workspace
list_workspace_users- Lista diretório da organizaçãosearch_directory- Busca no diretório do workspaceget_other_contacts- Obtém "outros contatos"
📝 Exemplos Rápidos
Buscar Contatos
# Basic search
search_contacts("john smith")
# Search specific fields
search_contacts("engineer", search_fields=["jobTitle", "organization"])
# Search phone numbers
search_contacts("+1234567890")
Criar Contato
# Basic contact
create_contact(
given_name="John",
family_name="Smith",
email="john@example.com",
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": "jane@work.com", "type": "work"},
{"value": "jane@personal.com", "type": "home"}
],
"phones": [
{"value": "+1-555-111-2222", "type": "mobile"}
],
"organization": "Tech Corp",
"birthday": "1985-03-22"
})
Gerenciar Grupos de Contatos
# 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")
❓ Solução de Problemas
Problemas de Autenticação
- Certifique-se de que a API People está habilitada no Console do Google Cloud
- Verifique se as credenciais OAuth são válidas e possuem os escopos adequados
- Escopos necessários:
contactsedirectory.readonly
Busca Não Funcionando
- Use busca no lado do servidor com
search_contacts - Tente diferentes termos ou campos de busca
Problemas de Desempenho
- Use paginação com o parâmetro
max_results - Defina
include_all_fields=Falsepara consultas mais rápidas
🔧 Desenvolvimento
# Development setup
uv sync --dev
# Format code
./scripts/format.sh
# Run linting
./scripts/lint.sh
# Test
uv run python test_contact_groups.py
📄 Licença
Licença MIT - consulte o arquivo LICENSE para detalhes.
Nota: Este servidor fornece funcionalidades abrangentes do Google Contacts com suporte para todos os campos de contato, busca avançada, grupos de contatos e gerenciamento eficiente de grandes listas de contatos.