Skip to main content
Glama

MCP Google Contacts Server

by RayanZaki

Servidor de contactos de Google MCP

Un servidor de Protocolo de conversación de máquina (MCP) que proporciona la funcionalidad de Contactos de Google, lo que permite a los asistentes de IA administrar contactos, buscar en el directorio de su organización e interactuar con Google Workspace.

✨ Características

  • Listado y búsqueda de contactos de Google
  • Crear, actualizar y eliminar contactos
  • Buscar en el directorio de Google Workspace
  • Ver "Otros contactos" (personas con las que has interactuado pero que no has agregado)
  • Acceda a los usuarios de Google Workspace en su organización

🚀 Instalación

📋 Requisitos previos

  • Python 3.12 o superior
  • Cuenta de Google con acceso a contactos
  • Proyecto de Google Cloud con People API habilitada
  • Credenciales OAuth 2.0 para el acceso a la API de Google

🧪 Uso de uv (Recomendado)

  1. Instala uv si aún no lo tienes:
    pip install uv
  2. Clonar el repositorio:
    git clone https://github.com/rayanzaki/mcp-google-contacts-server.git cd mcp-google-contacts-server
  3. Cree un entorno virtual e instale dependencias:
    uv venv source .venv/bin/activate uv pip install -r requirements.txt

📦 Usando pip

  1. Clonar el repositorio:
    git clone https://github.com/rayanzaki/mcp-google-contacts-server.git cd mcp-google-contacts-server
  2. Instalar dependencias:
    pip install -r requirements.txt

🔑 Configuración de autenticación

El servidor requiere las credenciales de la API de Google para acceder a tus contactos. Tienes varias opciones:

🔐 Opción 1: Usar un archivo credentials.json

  1. Cree un proyecto de Google Cloud y habilite la API People
  2. Crear credenciales OAuth 2.0 (tipo de aplicación de escritorio)
  3. Descargue el archivo credentials.json
  4. Colóquelo en uno de estos lugares:
    • El directorio raíz de este proyecto
    • Su directorio de inicio (~/google-contacts-credentials.json)
    • Especifique su ubicación con el argumento --credentials-file

🔐 Opción 2: Uso de variables de entorno

Establezca las siguientes variables de entorno:

  • GOOGLE_CLIENT_ID : Su ID de cliente de Google OAuth
  • GOOGLE_CLIENT_SECRET : Su secreto de cliente de Google OAuth
  • GOOGLE_REFRESH_TOKEN : Un token de actualización válido para su cuenta

🛠️ Uso

🏃‍♂️ Inicio básico

python src/main.py # or uv run src/main.py

Esto inicia el servidor con el transporte stdio predeterminado.

⚙️ Argumentos de la línea de comandos

ArgumentoDescripciónValor predeterminado
--transportProtocolo de transporte a utilizar ( stdio o http )stdio
--hostHost para transporte HTTPlocalhost
--portPuerto para transporte HTTP8000
--client-idID de cliente de Google OAuth (anula la variable de entorno)-
--client-secretSecreto de cliente de Google OAuth (anula la variable de entorno)-
--refresh-tokenToken de actualización de Google OAuth (anula la variable de entorno)-
--credentials-fileRuta al archivo credentials.json de Google OAuth-

📝 Ejemplos

Comience con el transporte HTTP:

python src/main.py --transport http --port 8080

Utilice un archivo de credenciales específico:

python src/main.py --credentials-file /path/to/your/credentials.json

Proporcione las credenciales directamente:

python src/main.py --client-id YOUR_CLIENT_ID --client-secret YOUR CLIENT_SECRET --refresh-token YOUR_REFRESH_TOKEN

🔌 Integración con clientes MCP

Para utilizar este servidor con clientes MCP (como Claude de Anthropic con Cline), agréguelo a su configuración de MCP:

{ "mcpServers": { "google-contacts-server": { "command": "uv", "args": [ "--directory", "/path/to/mcp-google-contacts-server", "run", "main.py" ], "disabled": false, "autoApprove": [] } } }

🧰 Herramientas disponibles

Este servidor MCP proporciona las siguientes herramientas:

HerramientaDescripción
list_contactsListar todos los contactos o filtrar por nombre
get_contactObtenga un contacto por nombre del recurso o correo electrónico
create_contactCrear un nuevo contacto
update_contactActualizar un contacto existente
delete_contactEliminar un contacto por nombre de recurso
search_contactsBuscar contactos por nombre, correo electrónico o número de teléfono
list_workspace_usersIncluir usuarios de Google Workspace en el directorio de su organización
search_directoryBuscar personas en el directorio de Google Workspace
get_other_contactsRecuperar contactos de la sección 'Otros contactos'

🔍 Descripciones detalladas de herramientas

📋 list_contacts

Enumera todos tus contactos de Google o los filtra por nombre.

Parámetros:

  • name_filter (opcional): cadena para filtrar contactos por nombre
  • max_results (opcional): Número máximo de contactos a devolver (predeterminado: 100)

Ejemplo:

list_contacts(name_filter="John", max_results=10)
👤 get_contact

Recupera información detallada sobre un contacto específico.

Parámetros:

  • identifier : Nombre del recurso (personas/*) o dirección de correo electrónico del contacto

Ejemplo:

get_contact("john.doe@example.com") # or get_contact("people/c12345678901234567")
create_contact

Crea un nuevo contacto en tus Contactos de Google.

Parámetros:

  • given_name : Nombre del contacto
  • family_name (opcional): Apellido del contacto
  • email (opcional): Dirección de correo electrónico del contacto
  • phone (opcional): Número de teléfono del contacto

Ejemplo:

create_contact(given_name="Jane", family_name="Smith", email="jane.smith@example.com", phone="+1-555-123-4567")
✏️ update_contact

Actualiza un contacto existente con nueva información.

Parámetros:

  • resource_name : Nombre del recurso de contacto (personas/*)
  • given_name (opcional): Nombre actualizado
  • family_name (opcional): Apellido actualizado
  • email (opcional): Dirección de correo electrónico actualizada
  • phone (opcional): Número de teléfono actualizado

Ejemplo:

update_contact(resource_name="people/c12345678901234567", email="new.email@example.com")
🗑️ delete_contact

Elimina un contacto de tus Contactos de Google.

Parámetros:

  • resource_name : Nombre del recurso de contacto (personas/*) para eliminar

Ejemplo:

delete_contact(resource_name="people/c12345678901234567")
🔍 search_contacts

Busca tus contactos por nombre, correo electrónico o número de teléfono.

Parámetros:

  • query : Término de búsqueda para encontrar en contactos
  • max_results (opcional): Número máximo de resultados a devolver (predeterminado: 10)

Ejemplo:

search_contacts(query="john", max_results=5)
🏢 list_workspace_users

Enumera los usuarios de Google Workspace en el directorio de tu organización.

Parámetros:

  • query (opcional): término de búsqueda para encontrar usuarios específicos
  • max_results (opcional): Número máximo de resultados a devolver (predeterminado: 50)

Ejemplo:

list_workspace_users(query="engineering", max_results=25)
🔭 search_directory

Realiza una búsqueda específica en el directorio de Google Workspace de su organización.

Parámetros:

  • query : término de búsqueda para encontrar miembros específicos del directorio
  • max_results (opcional): Número máximo de resultados a devolver (predeterminado: 20)

Ejemplo:

search_directory(query="product manager", max_results=10)
👥 get_other_contacts

Recupera contactos de la sección “Otros contactos”: personas con las que has interactuado pero que no has agregado a tus contactos.

Parámetros:

  • max_results (opcional): Número máximo de resultados a devolver (predeterminado: 50)

Ejemplo:

get_other_contacts(max_results=30)

🔒 Permisos

Al ejecutar el servidor por primera vez, deberá autenticarse con Google y otorgar los permisos necesarios para acceder a sus contactos. El proceso de autenticación le guiará.

❓ Solución de problemas

  • 🔐 Problemas de autenticación : asegúrese de que sus credenciales sean válidas y tengan los alcances necesarios
  • ⚠️ Límites de API : tenga en cuenta los límites de cuota de la API de Google People
  • 📝 Registros : Verifique la salida de la consola en busca de mensajes de error e información de depuración

👥 Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

📄 Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Un servidor de protocolo de conversación de máquina que permite a los asistentes de IA administrar contactos de Google y buscar en directorios de Google Workspace, proporcionando herramientas para enumerar, crear, actualizar y eliminar contactos dentro de su cuenta de Google.

  1. ✨ Características
    1. 🚀 Instalación
      1. 📋 Requisitos previos
      2. 🧪 Uso de uv (Recomendado)
      3. 📦 Usando pip
    2. 🔑 Configuración de autenticación
      1. 🔐 Opción 1: Usar un archivo credentials.json
      2. 🔐 Opción 2: Uso de variables de entorno
    3. 🛠️ Uso
      1. 🏃‍♂️ Inicio básico
      2. ⚙️ Argumentos de la línea de comandos
      3. 📝 Ejemplos
    4. 🔌 Integración con clientes MCP
      1. 🧰 Herramientas disponibles
        1. 🔍 Descripciones detalladas de herramientas
      2. 🔒 Permisos
        1. ❓ Solución de problemas
          1. 👥 Contribuyendo
            1. 📄 Licencia

              Related MCP Servers

              • -
                security
                F
                license
                -
                quality
                A Model Context Protocol server that enables AI assistants to interact with Gmail services, supporting email operations, draft management, and calendar functionality through Google API integration.
                Last updated -
                TypeScript
              • A
                security
                A
                license
                A
                quality
                A Model Context Protocol server that enables AI assistants like Claude to interact with Google Cloud Platform environments through natural language, allowing users to query and manage GCP resources during conversations.
                Last updated -
                9
                102
                62
                TypeScript
                MIT License
              • -
                security
                -
                license
                -
                quality
                A server that provides a Machine Control Protocol (MCP) interface to search, access, and interact with Google Drive files and folders, enabling AI assistants to work with Google Drive content.
                Last updated -
                Python
                MIT License
              • A
                security
                A
                license
                A
                quality
                A Model Context Protocol server that enables AI agents to interact with Google Workspace services including Drive, Docs, and Sheets through natural language commands.
                Last updated -
                8
                Python
                MIT License
                • Linux
                • Apple

              View all related MCP servers

              MCP directory API

              We provide all the information about MCP servers via our MCP API.

              curl -X GET 'https://glama.ai/api/mcp/v1/servers/RayanZaki/mcp-google-contacts-server'

              If you have feedback or need assistance with the MCP directory API, please join our Discord server