gg-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AUTH_PORT | No | Auth portal port | 3838 |
| GOOGLE_CLIENT_ID | Yes | OAuth 2.0 Client ID | |
| GOOGLE_TOKEN_JSON | No | Token as JSON string | |
| GOOGLE_TOKEN_PATH | No | Token file path | .token.json |
| GOOGLE_CLIENT_SECRET | Yes | OAuth 2.0 Client Secret |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tasks | {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
},
"prompts": {
"get": {}
},
"resources": {
"read": {}
}
}
} |
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_account_infoA | Get the email address of the currently authenticated Google account. |
| create_gmail_labelB | Create a new label in Gmail. |
| list_gmail_labelsA | List all user labels in Gmail. |
| send_emailC | Send a simple email via Gmail. Note: This function intentionally constructs the MIME message manually to keep the raw decoded content readable with Unicode subjects, as expected by the test suite. This avoids RFC-compliant header encoding that would obscure the original subject line text. |
| list_calendar_eventsC | List events. Timezone: Asia/Ho_Chi_Minh. |
| create_calendar_eventC | Create a calendar event. format: YYYY-MM-DDTHH:MM (VN Time). |
| list_drive_foldersC | List all folders in Google Drive. parent_id: 'root' for main folder. |
| search_driveD | Search for files in Google Drive. |
| create_documentC | Create a new Google Docs document with optional initial text. |
| get_documentB | Get the full text content of a Google Docs document by its ID. |
| append_to_documentC | Append text to the end of a Google Docs document. |
| search_documentsA | Search for Google Docs documents in Drive. Empty query lists recent docs. |
| export_documentB | Export a Google Docs document. Formats: text, html, pdf, docx. |
| create_spreadsheetC | Create a new Google Sheets spreadsheet. |
| read_spreadsheetB | Read data from a Google Sheets spreadsheet. Range format: 'Sheet1!A1:D10' or 'Sheet1'. |
| update_spreadsheetA | Update cells in a spreadsheet. Values format: JSON 2D array, e.g. '[["A","B"],["1","2"]]'. Range: 'Sheet1!A1'. |
| append_to_spreadsheetC | Append rows to a spreadsheet. Values format: JSON 2D array. Range: 'Sheet1!A1'. |
| search_spreadsheetsB | Search for Google Sheets spreadsheets in Drive. Empty query lists recent sheets. |
| get_spreadsheet_infoB | Get metadata about a spreadsheet: title, sheets, and their dimensions. |
| clear_spreadsheet_rangeB | Clear all values in a range. Range format: 'Sheet1!A1:D10'. |
| batch_update_spreadsheetA | Batch update multiple ranges. Data format: JSON array of {range, values}, e.g. '[{"range":"Sheet1!A1","values":[["X"]]}]'. |
| add_sheetB | Add a new sheet/tab to an existing spreadsheet. |
| export_spreadsheetB | Export a spreadsheet. Formats: csv, xlsx, pdf, tsv. sheet_id: 0 for first sheet. |
| create_presentationC | Create a new Google Slides presentation. |
| get_presentationB | Get metadata and slide titles/content from a Google Slides presentation. |
| add_slideB | Add a new slide to a presentation. Layouts: BLANK, TITLE, TITLE_AND_BODY, TITLE_AND_TWO_COLUMNS, TITLE_ONLY, SECTION_HEADER, CAPTION_ONLY, BIG_NUMBER. |
| add_text_to_slideC | Add a text box to a slide. slide_index: 0-based. Coordinates in points (pt). |
| search_presentationsB | Search for Google Slides presentations in Drive. Empty query lists recent presentations. |
| delete_slideB | Delete a slide from a presentation by its 0-based index. |
| export_presentationB | Export a presentation. Formats: pdf, pptx, txt. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 30 tools
Each tool targets a specific Google service and action (e.g., create, read, update, search, export), with clear names that distinguish between resources like documents, spreadsheets, slides, Gmail, Calendar, and Drive. There is no ambiguity between tools.
All tools use consistent snake_case naming with a verb-first pattern (e.g., create_document, list_calendar_events, get_spreadsheet_info). The naming convention is uniform across the entire set, making it predictable for an agent.
With 30 tools covering multiple Google services (Docs, Sheets, Slides, Gmail, Calendar, Drive, account info), the count is appropriate for a comprehensive Google Workspace integration. Each tool serves a distinct purpose without redundancy.
The tool set covers core create, read, search, and export operations for most resources but lacks update and delete for documents, presentations, and calendar events. This is a notable gap for full CRUD workflows, though the set is still functional for many use cases.