The extension provides a feature configuration system that lets you control which services and scopes are enabled. Each Google Workspace service is split into read and write feature groups, giving you granular control over what the extension can access.
| Service | Group | Scopes | Default |
|---|---|---|---|
docs |
read | documents |
ON |
docs |
write | documents |
ON |
drive |
read | drive.readonly |
ON |
drive |
write | drive |
ON |
calendar |
read | calendar.readonly |
ON |
calendar |
write | calendar |
ON |
chat |
read | chat.spaces.readonly, chat.messages.readonly, chat.memberships.readonly |
ON |
chat |
write | chat.spaces, chat.messages, chat.memberships |
ON |
gmail |
read | gmail.readonly |
ON |
gmail |
write | gmail.modify |
ON |
people |
read | userinfo.profile, directory.readonly |
ON |
slides |
read | presentations.readonly |
ON |
slides |
write | presentations |
OFF |
sheets |
read | spreadsheets.readonly |
ON |
sheets |
write | spreadsheets |
OFF |
time |
read | (none) | ON |
tasks |
read | tasks.readonly |
OFF |
tasks |
write | tasks |
OFF |
Read groups contain tools with no side effects (search, get, list). Write groups contain tools that perform mutations (create, update, delete, send).
Services whose write scopes aren't in the published GCP project (Slides write, Sheets write, Tasks) default to OFF. These can be enabled by contributors using their own GCP projects.
Use the WORKSPACE_FEATURE_OVERRIDES environment variable to enable or disable
feature groups and individual tools.
WORKSPACE_FEATURE_OVERRIDES="key:on|off,key:on|off,..."
Each entry is a comma-separated key:value pair where:
keyis a feature group (e.g.,gmail.write) or a tool name (e.g.,calendar.deleteEvent)valueisonoroff
Disable or enable entire feature groups:
# Disable Gmail write tools (send, createDraft, modify, etc.)
export WORKSPACE_FEATURE_OVERRIDES="gmail.write:off"
# Disable all of Chat
export WORKSPACE_FEATURE_OVERRIDES="chat.read:off,chat.write:off"
# Enable experimental features (Slides write, Tasks)
export WORKSPACE_FEATURE_OVERRIDES="slides.write:on,tasks.read:on,tasks.write:on"Disable specific tools within an enabled group (subtractive only):
# Keep calendar.write enabled but disable delete
export WORKSPACE_FEATURE_OVERRIDES="calendar.deleteEvent:off"
# Disable destructive Gmail tools while keeping modify/label tools
export WORKSPACE_FEATURE_OVERRIDES="gmail.send:off,gmail.sendDraft:off"
# Combine group and tool overrides
export WORKSPACE_FEATURE_OVERRIDES="gmail.write:off,calendar.deleteEvent:off,slides.write:on"::: warning Tool-level overrides are subtractive only. You cannot use
tool:on to enable a tool whose feature group is disabled. To enable tools,
enable their parent feature group. :::
The configuration follows a three-layer precedence model:
- Baked-in defaults — Current services default ON; experimental services default OFF
- Settings — Future: overrides from the install-time settings UI
WORKSPACE_FEATURE_OVERRIDES— Highest precedence; overrides everything
When a feature group is disabled:
- Its tools are not registered with the MCP server (clients won't see them)
- Its OAuth scopes are not requested during authentication
- If you re-enable a previously disabled feature, you may need to re-authenticate to grant the new scopes
docs.getSuggestionsdocs.getText
docs.createdocs.writeTextdocs.replaceTextdocs.formatText
drive.getCommentsdrive.findFolderdrive.searchdrive.downloadFile
drive.createFolderdrive.moveFiledrive.trashFiledrive.renameFile
calendar.listcalendar.listEventscalendar.getEventcalendar.findFreeTime
calendar.createEventcalendar.updateEventcalendar.respondToEventcalendar.deleteEvent
chat.listSpaceschat.findSpaceByNamechat.getMessageschat.findDmByEmailchat.listThreads
chat.sendMessagechat.sendDmchat.setUpSpace
gmail.searchgmail.getgmail.downloadAttachmentgmail.listLabels
gmail.modifygmail.batchModifygmail.modifyThreadgmail.sendgmail.createDraftgmail.sendDraftgmail.createLabel
people.getUserProfilepeople.getMepeople.getUserRelations
slides.getTextslides.getMetadataslides.getImagesslides.getSlideThumbnail
sheets.getTextsheets.getRangesheets.getMetadata
time.getCurrentDatetime.getCurrentTimetime.getTimeZone
When adding a new service or tools:
- Define read and write feature group entries in
workspace-server/src/features/feature-config.ts - Set the default state — ON for scopes in the published GCP project, OFF otherwise
- Register your tools in
index.tsas usual — the feature config wrapper automatically skips disabled tools
This lets contributors develop and merge new features without being blocked by
the published GCP project's scope configuration. Contributors can test with
their own GCP projects by enabling the feature via
WORKSPACE_FEATURE_OVERRIDES.