El catálogo/Google Contacts
Google Contacts
app.google.contacts
List, search, create, update, and delete contacts and contact groups in Google Contacts
Versión2.0.0
Categoríaproductivity
AutenticaciónOAuth 2
Herramientas13
Transportestdio
LicenciaMIT
01
Qué hace
La aplicación, en sus propias palabras.
Manage Google Contacts — list, search, create, update, and delete contacts, plus organize them into groups and labels via the Google People API.
02
Herramientas
13 herramientas que el agente puede llamar.
Todas se declaran con parámetros tipados y devuelven resultados estructurados, así que el anfitrión puede renderizarlas en vez de narrarlas.
- add-contacts-to-groupAdd one or more contacts to a contact group (POST /contactGroups/{resourceName}/members:modify). Returns { success, notFoundResourceNames, canNotAddResourceNames }. Params: resourceName (required — e.g. 'contactGroups/abc123'), contactResourceNames (required — array of contact resource names e.g. ['people/c123', 'people/c456']).
- create-contactCreate a new contact in Google Contacts (POST /people:createContact). Returns { resourceName, name }. Params: givenName (required), familyName?, email?, phone?, organization?, title?, notes?.
- create-contact-groupCreate a new contact group (label) in Google Contacts (POST /contactGroups). Returns { resourceName, name, formattedName, groupType }. Params: name (required — must be unique).
- delete-contactDelete a contact permanently from Google Contacts (DELETE /people/{resourceName}:deleteContact). IRREVERSIBLE — the contact is removed. Returns { resourceName, deleted }. Params: resourceName (required — e.g. 'people/c123456789').
- delete-contact-groupDelete a contact group from Google Contacts (DELETE /contactGroups/{resourceName}). By default this does NOT delete the contacts in the group. Set deleteContacts=true to also delete them. IRREVERSIBLE. Returns { resourceName, deleted, contactsDeleted }. Params: resourceName (required — e.g. 'contactGroups/abc123'), deleteContacts? (default false).
- get-contactGet a specific contact by resource name (GET /people/{resourceName}). Returns detailed info including name, emails, phones, organizations, addresses, biographies, birthdays, urls, and photo. Params: resourceName (required — e.g. 'people/c123456789').
- get-contact-groupGet detailed information about a specific contact group, including its members. Returns group name, type, member count, and member resource names. Params: resourceName (required — e.g. 'contactGroups/abc123'), maxMembers? (default 100, max 1000).
- list-contact-groupsList all contact groups (labels) from Google Contacts. Returns group name, member count, and type. Supports pagination. Params: pageSize? (default 100, max 1000), pageToken?.
- list-contactsList contacts from Google Contacts. Returns name, email, phone numbers. Supports pagination. Params: pageSize? (default 100, max 1000), pageToken? (from previous response).
- remove-contacts-from-groupRemove one or more contacts from a contact group (POST /contactGroups/{resourceName}/members:modify). Returns { success, notFoundResourceNames }. Params: resourceName (required — e.g. 'contactGroups/abc123'), contactResourceNames (required — array of contact resource names e.g. ['people/c123', 'people/c456']).
- search-contactsSearch for contacts by query (name, email, phone, etc.). Returns matching contacts with name, emails, phones, organization, and photo. Params: query (required), pageSize? (default 30, max 30).
- update-contactUpdate an existing contact in Google Contacts. Fetches the current contact first for the etag. Returns { resourceName, name }. Params: resourceName (required — e.g. 'people/c123456789'), givenName?, familyName?, email?, phone?, organization?, title?.
- update-contact-groupUpdate an existing contact group (rename it). Fetches the current group for the etag first. Returns { resourceName, name, formattedName, groupType }. Params: resourceName (required — e.g. 'contactGroups/abc123'), name (required — new name).
03
Autenticación y permisos
Qué pide.
Declarado en el manifiesto y por adelantado. La aplicación no puede alcanzar nada que no haya pedido aquí.
Permisos
https://www.googleapis.com/auth/contactshttps://www.googleapis.com/auth/contacts.readonlyhttps://www.googleapis.com/auth/userinfo.email
Secretos de sistema
CLIENT_IDCLIENT_SECRET
Secretos de usuario
ACCESS_TOKENREFRESH_TOKEN
Seguir leyendo
El manifiesto y el código de Google Contacts están en el monorepo, junto al resto de aplicaciones.