google-workspace

Google Workspace MCP integration for Gmail, Drive, Calendar, Docs, Sheets, Slides, Forms, Tasks, and Chat. Use when the user wants to read/send emails, manage files, create/edit documents, schedule events, or interact with any Google Workspace service.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "google-workspace" with this command: npx skills add plurigrid/asi/plurigrid-asi-google-workspace

Google Workspace Skill

Comprehensive MCP integration for all Google Workspace services.

Denotation

Google Workspace tasks map to functional invariants, resulting in consistent email, file, calendar, and task states under Narya condensation and GF(3) conservation.

The skill reaches a fixed point when all pending operations complete with no H¹ obstructions (gluing failures), and thread/folder trit sums are conserved modulo 3.

Formal Contract

Effect: Google Workspace → State × Trit
Invariant: ∀ closed workflow: Σ(trit) ≡ 0 (mod 3)
Denotation: ⟦GW⟧ = lim_{n→∞} Condense(Op_n(...Op_1(S_0)))

Required Parameter

All tools require user_google_email - the user's Google email address.

Services Overview

📧 Gmail (MINUS -1: Validator)

ToolDescription
search_gmail_messagesSearch with Gmail query syntax
get_gmail_message_contentGet full message content
get_gmail_messages_content_batchBatch get (max 25)
get_gmail_thread_contentGet full conversation thread
send_gmail_messageSend email (supports replies)
draft_gmail_messageCreate draft (supports replies)
modify_gmail_message_labelsAdd/remove labels (archive, delete)
batch_modify_gmail_message_labelsBulk label operations
list_gmail_labelsList all labels with IDs
manage_gmail_labelCreate/update/delete labels

Query syntax examples:

  • from:user@example.com - From specific sender
  • is:unread - Unread messages
  • has:attachment - Has attachments
  • after:2024/01/01 - Date filters

📁 Drive (ERGODIC 0: Coordinator)

ToolDescription
search_drive_filesSearch files by query
list_drive_itemsList folder contents
get_drive_file_contentGet file content (text extraction)
get_drive_file_download_urlGet download URL
create_drive_fileCreate new file
update_drive_fileUpdate metadata
share_drive_fileShare with users/groups/anyone
batch_share_drive_fileBulk sharing
get_drive_file_permissionsCheck permissions
get_drive_shareable_linkGet shareable link
remove_drive_permissionRevoke access
transfer_drive_ownershipTransfer file ownership

📅 Calendar (PLUS +1: Executor)

ToolDescription
list_calendarsList user's calendars
get_eventsGet events (by ID or time range)
create_eventCreate new event
modify_eventUpdate existing event
delete_eventDelete event

Event creation options:

  • add_google_meet: true - Add Meet link
  • attendees: ["email1", "email2"] - Invite attendees
  • reminders: [{"method": "popup", "minutes": 15}] - Custom reminders
  • transparency: "transparent" - Show as available

📄 Docs (MINUS -1)

ToolDescription
search_docsSearch Google Docs
list_docs_in_folderList docs in folder
create_docCreate new document
get_doc_contentGet document content
modify_doc_textInsert/replace/format text
find_and_replace_docFind and replace
insert_doc_imageInsert image
insert_doc_elementsInsert table/list/page break
create_table_with_dataCreate populated table
inspect_doc_structureGet document structure
debug_table_structureDebug table layout
update_doc_headers_footersUpdate headers/footers
batch_update_docMultiple operations
export_doc_to_pdfExport to PDF

📊 Sheets (ERGODIC 0)

ToolDescription
list_spreadsheetsList spreadsheets
create_spreadsheetCreate new spreadsheet
get_spreadsheet_infoGet spreadsheet metadata
create_sheetAdd new sheet
read_sheet_valuesRead cell range
modify_sheet_valuesWrite/update/clear cells

Range syntax: Sheet1!A1:D10 or A1:Z1000

📽️ Slides (PLUS +1)

ToolDescription
create_presentationCreate new presentation
get_presentationGet presentation details
get_pageGet slide details
get_page_thumbnailGet slide thumbnail
batch_update_presentationApply updates

📋 Forms

ToolDescription
create_formCreate new form
get_formGet form details
list_form_responsesList responses
get_form_responseGet specific response
set_publish_settingsUpdate publish settings

✅ Tasks

ToolDescription
list_task_listsList all task lists
get_task_listGet task list details
create_task_listCreate new list
update_task_listRename list
delete_task_listDelete list
list_tasksList tasks in list
get_taskGet task details
create_taskCreate task
update_taskUpdate task
delete_taskDelete task
move_taskMove task (position/list)
clear_completed_tasksClear completed

💬 Chat

ToolDescription
list_spacesList Chat spaces
get_messagesGet messages from space
search_messagesSearch messages
send_messageSend message to space

🔍 Custom Search

ToolDescription
search_customProgrammable Search Engine
search_custom_siterestrictSite-restricted search
get_search_engine_infoGet search engine config

💬 Comments (All Doc Types)

ToolDescription
read_document_commentsRead doc comments
create_document_commentAdd doc comment
reply_to_document_commentReply to comment
resolve_document_commentResolve comment
read_spreadsheet_commentsRead sheet comments
create_spreadsheet_commentAdd sheet comment
read_presentation_commentsRead slide comments
create_presentation_commentAdd slide comment

GF(3) Triadic Workflow

MINUS (-1): Validation/Reading
├── search_gmail_messages
├── get_doc_content
├── read_sheet_values
└── list_drive_items

ERGODIC (0): Coordination/Metadata
├── get_spreadsheet_info
├── list_calendars
├── inspect_doc_structure
└── get_drive_file_permissions

PLUS (+1): Execution/Writing
├── send_gmail_message
├── create_event
├── modify_sheet_values
└── create_drive_file

Common Workflows

Email Management

# Search → Read → Reply
messages = search_gmail_messages(query="from:boss is:unread")
content = get_gmail_message_content(message_id=messages[0].id)
send_gmail_message(
    to="boss@company.com",
    subject="Re: " + content.subject,
    body="Response...",
    thread_id=content.thread_id,
    in_reply_to=content.message_id
)

Document Creation

# Create → Inspect → Add Table
doc = create_doc(title="Report")
structure = inspect_doc_structure(document_id=doc.id)
create_table_with_data(
    document_id=doc.id,
    index=structure.total_length,
    table_data=[["Header1", "Header2"], ["Data1", "Data2"]]
)

Calendar Scheduling

# Check availability → Create event with Meet
events = get_events(
    time_min="2024-12-26T09:00:00Z",
    time_max="2024-12-26T17:00:00Z"
)
create_event(
    summary="Team Sync",
    start_time="2024-12-26T14:00:00Z",
    end_time="2024-12-26T15:00:00Z",
    attendees=["team@company.com"],
    add_google_meet=True
)

File Sharing

# Share with expiration
share_drive_file(
    file_id="abc123",
    share_with="contractor@example.com",
    role="writer",
    expiration_time="2025-01-15T00:00:00Z"
)

Authentication

If tools fail with auth errors, use:

start_google_auth(service_name="gmail|drive|calendar|docs|sheets|slides|forms|tasks|chat")

Tips

  1. Batch operations - Use batch tools for multiple items
  2. Table creation - Always call inspect_doc_structure first to get safe index
  3. Email threading - Include thread_id, in_reply_to, references for proper replies
  4. Drive shared drives - Use drive_id parameter for shared drive operations
  5. Calendar attachments - Use Drive file URLs or IDs for event attachments

Related Skills (Backlinks)

SkillTritIntegration
finder-color-walk0Drive files ↔ local Finder GF(3) coloring via drive_color_walk.py
gay-mcp+1SplitMix64 deterministic colors for file organization
triad-interleave+1Schedule Drive operations in GF(3)-balanced triplets
bisimulation-game-1Verify Drive state equivalence across agents

Triadic Integration Pattern

google-workspace (ERGODIC 0) ─── Coordinator
        │
        ├── finder-color-walk (0) ─── File coloring bridge
        │       └── drive_color_walk.py
        │
        ├── gay-mcp (+1) ─── Color generation
        │       └── SplitMix64 seeds → GF(3) trits
        │
        └── bisimulation-game (-1) ─── State verification
                └── Attacker/Defender/Arbiter protocol

GF(3) Check: 0 + 0 + 1 + (-1) = 0 ✓

Invariant Set

InvariantDefinitionVerification
NoDuplicationEach item (message, event, file) resides in exactly one triadic queueQueue intersection = ∅
RouteInvarianceroute(item) = agent_of(trit(item)) alwaysFor all items, routing is deterministic
ThreadConservationThread trit sum ≡ 0 (mod 3) at cycle closeverify_h1_obstruction() returns no violations
ClosedWorkflowBalanceAny complete workflow has Σ trits = 0GF(3) conservation check

Narya Compatibility

FieldDefinitionExample
beforeRaw input from Google APIs{"messages": [...], "files": [...]}
afterTransformed interactions with GF(3) trits[{id, trit, verb, thread_id}]
deltaChange in triadic queue state{added: 3, removed: 1, trit_sum_delta: +1}
birthInitial unprocessed stateEmpty queues, no interactions
impact1 if equivalence class changed, 0 otherwiseUsed for ANIMA detection

Condensation Policy

Trigger: When 10 consecutive operations yield no change in equivalence classes.

def should_condense(history: List[State], threshold: int = 10) -> bool:
    if len(history) < threshold:
        return False
    recent = history[-threshold:]
    return all(equiv(s) == equiv(recent[0]) for s in recent)

Action: Collapse queue state into condensed fingerprint, archive processed items.

Scientific Skill Interleaving

This skill connects to the K-Dense-AI/claude-scientific-skills ecosystem:

Graph Theory

  • networkx [○] via bicomodule
    • Universal graph hub

Bibliography References

  • general: 734 citations in bib.duckdb

SDF Interleaving

This skill connects to Software Design for Flexibility (Hanson & Sussman, 2021):

Primary Chapter: 10. Adventure Game Example

Concepts: autonomous agent, game, synthesis

GF(3) Balanced Triad

google-workspace (○) + SDF.Ch10 (+) + [balancer] (−) = 0

Skill Trit: 0 (ERGODIC - coordination)

Secondary Chapters

  • Ch7: Propagators
  • Ch6: Layering
  • Ch4: Pattern Matching
  • Ch2: Domain-Specific Languages
  • Ch1: Flexibility through Abstraction

Connection Pattern

Adventure games synthesize techniques. This skill integrates multiple patterns.

Cat# Integration

This skill maps to Cat# = Comod(P) as a bicomodule in the equipment structure:

Trit: 0 (ERGODIC)
Home: Prof
Poly Op: ⊗
Kan Role: Adj
Color: #26D826

GF(3) Naturality

The skill participates in triads satisfying:

(-1) + (0) + (+1) ≡ 0 (mod 3)

This ensures compositional coherence in the Cat# equipment structure.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

alife

No summary provided by upstream source.

Repository SourceNeeds Review
General

bdd-mathematical-verification

No summary provided by upstream source.

Repository SourceNeeds Review
General

beeper-mcp

No summary provided by upstream source.

Repository SourceNeeds Review