feat: add Google Contacts (People API) support

Add 16 MCP tools for managing Google Contacts via the People API:

Core tier:
- list_contacts, get_contact, search_contacts, create_contact

Extended tier:
- update_contact, delete_contact, list_contact_groups, get_contact_group

Complete tier:
- batch_create_contacts, batch_update_contacts, batch_delete_contacts
- create_contact_group, update_contact_group, delete_contact_group
- modify_contact_group_members

Includes:
- OAuth scopes for contacts and contacts.readonly
- People API service configuration
- Tool tier definitions
- Unit tests for helper functions
This commit is contained in:
Ali Karbassi
2026-01-25 01:09:47 -06:00
committed by Ali Karbassi
parent af17085509
commit eed562bf9f
8 changed files with 1752 additions and 0 deletions

View File

@@ -61,6 +61,10 @@ SLIDES_READONLY_SCOPE = "https://www.googleapis.com/auth/presentations.readonly"
TASKS_SCOPE = "https://www.googleapis.com/auth/tasks"
TASKS_READONLY_SCOPE = "https://www.googleapis.com/auth/tasks.readonly"
# Google Contacts (People API) scopes
CONTACTS_SCOPE = "https://www.googleapis.com/auth/contacts"
CONTACTS_READONLY_SCOPE = "https://www.googleapis.com/auth/contacts.readonly"
# Google Custom Search API scope
CUSTOM_SEARCH_SCOPE = "https://www.googleapis.com/auth/cse"
@@ -109,6 +113,8 @@ SLIDES_SCOPES = [SLIDES_SCOPE, SLIDES_READONLY_SCOPE]
TASKS_SCOPES = [TASKS_SCOPE, TASKS_READONLY_SCOPE]
CONTACTS_SCOPES = [CONTACTS_SCOPE, CONTACTS_READONLY_SCOPE]
CUSTOM_SEARCH_SCOPES = [CUSTOM_SEARCH_SCOPE]
SCRIPT_SCOPES = [
@@ -132,6 +138,7 @@ TOOL_SCOPES_MAP = {
"forms": FORMS_SCOPES,
"slides": SLIDES_SCOPES,
"tasks": TASKS_SCOPES,
"contacts": CONTACTS_SCOPES,
"search": CUSTOM_SEARCH_SCOPES,
"appscript": SCRIPT_SCOPES,
}