# GOOGLESUPER_BATCH_MODIFY_MESSAGES

Modify labels on multiple Gmail messages in one efficient API call. Supports up to 1,000 messages per request for bulk operations like archiving, marking as read/unread, or applying custom labels.

Agent View of the PolicyLayer registry record for `GOOGLESUPER_BATCH_MODIFY_MESSAGES`. HTML page: https://policylayer.com/tools/googlesuper/googlesuper-batch-modify-messages

## Facts

- Tool: `GOOGLESUPER_BATCH_MODIFY_MESSAGES`
- Server: Google Super (`googlesuper`) — https://policylayer.com/tools/googlesuper.md
- Install: `npx -y googlesuper`
- Homepage: https://www.npmjs.com/package/googlesuper
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 4
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `userId` | string | no | User's email address or 'me' for the authenticated user. |
| `messageIds` | array | no | List of message IDs to modify. Maximum 1,000 message IDs per request. Get message IDs from GMAIL_FETCH_EMAILS or GMAIL_LIST_THREADS actions. |
| `addLabelIds` | array | no | List of label IDs to add to the messages. Common label IDs: INBOX, STARRED, IMPORTANT, SENT, DRAFT, SPAM, TRASH, UNREAD. Use GMAIL_LIST_LABELS to get custom lab |
| `removeLabelIds` | array | no | List of label IDs to remove from the messages. Common use cases: Remove 'UNREAD' to mark as read, remove 'INBOX' to archive, remove 'SPAM' to unmark spam. Leave |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "GOOGLESUPER_BATCH_MODIFY_MESSAGES",
    "arguments": {}
  }
}
```

## Why GOOGLESUPER_BATCH_MODIFY_MESSAGES is rated Medium

The tool modifies Gmail message labels and states (archive, read/unread status, custom labels) in bulk. This is a Write operation because: (1) it creates/modifies data (label assignments, read status), (2) changes are reversible (labels can be removed, messages unarchived, status toggled), and (3) it has no destructive or financial impact.

From the tool's own definition: "Tool description states it 'Modify labels on multiple Gmail messages' and supports 'bulk operations like archiving, marking as read/unread, or applying custom labels.' These are reversible modifications to message state/metadata."

## Use case

AI agents use GOOGLESUPER_BATCH_MODIFY_MESSAGES to create or update resources in Google Super, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Google Super environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Google Super:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "GOOGLESUPER_BATCH_MODIFY_MESSAGES": {
      "limits": [
        {
          "counter": "googlesuper_batch_modify_messages_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Google Super (199)

- `GOOGLESUPER_BATCH_DELETE_MESSAGES` — Destructive — https://policylayer.com/tools/googlesuper/googlesuper-batch-delete-messages.md
- `GOOGLESUPER_CALENDARS_DELETE` — Destructive — https://policylayer.com/tools/googlesuper/googlesuper-calendars-delete.md
- `GOOGLESUPER_CLEAR_BASIC_FILTER` — Destructive — https://policylayer.com/tools/googlesuper/googlesuper-clear-basic-filter.md
- `GOOGLESUPER_CLEAR_CALENDAR` — Destructive — https://policylayer.com/tools/googlesuper/googlesuper-clear-calendar.md
- `GOOGLESUPER_CLEAR_TASKS` — Destructive — https://policylayer.com/tools/googlesuper/googlesuper-clear-tasks.md
- `GOOGLESUPER_CLEAR_VALUES` — Destructive — https://policylayer.com/tools/googlesuper/googlesuper-clear-values.md
- `GOOGLESUPER_DELETE_COMMENT` — Destructive — https://policylayer.com/tools/googlesuper/googlesuper-delete-comment.md
- `GOOGLESUPER_DELETE_CONTENT_RANGE` — Destructive — https://policylayer.com/tools/googlesuper/googlesuper-delete-content-range.md
- `GOOGLESUPER_DELETE_DIMENSION` — Destructive — https://policylayer.com/tools/googlesuper/googlesuper-delete-dimension.md
- `GOOGLESUPER_DELETE_DRAFT` — Destructive — https://policylayer.com/tools/googlesuper/googlesuper-delete-draft.md
- `GOOGLESUPER_DELETE_DRIVE` — Destructive — https://policylayer.com/tools/googlesuper/googlesuper-delete-drive.md
- `GOOGLESUPER_DELETE_EVENT` — Destructive — https://policylayer.com/tools/googlesuper/googlesuper-delete-event.md
- `GOOGLESUPER_DELETE_FOOTER` — Destructive — https://policylayer.com/tools/googlesuper/googlesuper-delete-footer.md
- `GOOGLESUPER_DELETE_HEADER` — Destructive — https://policylayer.com/tools/googlesuper/googlesuper-delete-header.md
- `GOOGLESUPER_DELETE_MESSAGE` — Destructive — https://policylayer.com/tools/googlesuper/googlesuper-delete-message.md
- `GOOGLESUPER_DELETE_NAMED_RANGE` — Destructive — https://policylayer.com/tools/googlesuper/googlesuper-delete-named-range.md
- `GOOGLESUPER_DELETE_PERMISSION` — Destructive — https://policylayer.com/tools/googlesuper/googlesuper-delete-permission.md
- `GOOGLESUPER_DELETE_REPLY` — Destructive — https://policylayer.com/tools/googlesuper/googlesuper-delete-reply.md
- `GOOGLESUPER_DELETE_SHEET` — Destructive — https://policylayer.com/tools/googlesuper/googlesuper-delete-sheet.md
- `GOOGLESUPER_DELETE_TABLE` — Destructive — https://policylayer.com/tools/googlesuper/googlesuper-delete-table.md
- `GOOGLESUPER_DELETE_TABLE_COLUMN` — Destructive — https://policylayer.com/tools/googlesuper/googlesuper-delete-table-column.md
- `GOOGLESUPER_DELETE_TABLE_ROW` — Destructive — https://policylayer.com/tools/googlesuper/googlesuper-delete-table-row.md
- `GOOGLESUPER_DELETE_TASK` — Destructive — https://policylayer.com/tools/googlesuper/googlesuper-delete-task.md
- `GOOGLESUPER_DELETE_TASK_LIST` — Destructive — https://policylayer.com/tools/googlesuper/googlesuper-delete-task-list.md
- `GOOGLESUPER_EMPTY_TRASH` — Destructive — https://policylayer.com/tools/googlesuper/googlesuper-empty-trash.md
- `GOOGLESUPER_GOOGLE_DRIVE_DELETE_FOLDER_OR_FILE_ACTION` — Destructive — https://policylayer.com/tools/googlesuper/googlesuper-google-drive-delete-folder-or-file-action.md
- `GOOGLESUPER_MOVE_TO_TRASH` — Destructive — https://policylayer.com/tools/googlesuper/googlesuper-move-to-trash.md
- `GOOGLESUPER_EVENTS_WATCH` — Execute — https://policylayer.com/tools/googlesuper/googlesuper-events-watch.md
- `GOOGLESUPER_EXECUTE_SQL` — Execute — https://policylayer.com/tools/googlesuper/googlesuper-execute-sql.md
- `GOOGLESUPER_QUERY_TABLE` — Execute — https://policylayer.com/tools/googlesuper/googlesuper-query-table.md
- …and 169 more: https://policylayer.com/tools/googlesuper.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=googlesuper · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/googlesuper
