The server supports multiple authenticated Google accounts (e.g., work, personal). Tools behave differently depending on whether they are 'multi-account' or 'single-account' tools.
Multi-account tools
These tools (e.g., list-events, list-calendars, search-events, get-freebusy) accept either a single account string or an array of account strings via the account parameter.
- Omit
account: Queries all authenticated accounts and merges the results. account: "name": Queries only that specific account.account: ["name1", "name2"]: Queries and merges the specified accounts.
Single-account tools
These tools (e.g., create-event, update-event, delete-event, get-event, get-current-time, list-colors) accept only one account.
- Omit
account: The server auto-selects the best account. For write tools, it picks the account with write permission to the target calendar. account: "name": Uses that specific account.
// Read-only: Query all accounts (auto-merge)
use_tool("list-events", {
timeMin: "2025-02-01T00:00:00",
timeMax: "2025-02-01T23:59:59"
});
// Read-only: Query specific accounts
use_tool("list-events", {
account: ["work", "personal"],
timeMin: "2025-02-01T00:00:00",
timeMax: "2025-02-01T23:59:59"
});
// Write: Explicitly pick account (must be a single string)
use_tool("create-event", {
calendarId: "team@company.com",
summary: "Status update",
account: "work",
start: "2025-02-01T10:00:00",
end: "2025-02-01T11:00:00"
});
// Write: Auto-select account (finds account with write access)
use_tool("create-event", {
calendarId: "team@company.com",
summary: "Status update",
start: "2025-02-01T10:00:00",
end: "2025-02-01T11:00:00"
});