Tools
Oggie exposes 24 shared calendar tools. These capabilities sit behind the CLI, MCP, and future official apps; this page is rendered from the same catalog served by the MCP endpoint.
calendar_calendars_list
List connected calendars visible to the connection.
- Title: Calendar Calendars List
- Annotations:
readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=true
Input schema
{
"type": "object",
"additionalProperties": false,
"properties": {}
}calendar_events_list
List events in a time range. Defaults to an agenda-shaped summary; use detail_level full when raw structured event details are required. If calendar_ids is omitted, searches all connected readable calendars.
- Title: Calendar Events List
- Annotations:
readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=true
Input schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"calendar_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Calendar IDs or supported aliases. Omit on read tools to search all connected readable calendars."
},
"timezone": {
"type": "string",
"description": "IANA timezone, for example Asia/Singapore."
},
"time_min": {
"type": "string",
"description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
},
"time_max": {
"type": "string",
"description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
},
"resolution": {
"type": "object",
"description": "Optional agent date-resolution proof for natural-language dates.",
"properties": {
"resolved_date": {
"type": "string",
"description": "Resolved YYYY-MM-DD date."
},
"resolved_day_of_week": {
"type": "string",
"description": "Resolved day of week, for example Wednesday."
},
"based_on": {
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Server date the resolution was based on."
},
"timezone": {
"type": "string",
"description": "Timezone the resolution was based on."
}
}
}
}
},
"max_results": {
"type": "number",
"minimum": 1,
"maximum": 250,
"description": "Maximum events to return. Defaults to 50; maximum 250."
},
"detail_level": {
"type": "string",
"enum": [
"summary",
"normal",
"full"
],
"default": "summary",
"description": "Response detail level. Defaults to summary. summary returns agenda-safe fields and event refs; normal adds scan fields such as location; full returns complete privacy-filtered event JSON and compact full details in MCP text."
}
},
"required": [
"timezone",
"time_min",
"time_max"
]
}calendar_events_search
Search events by text in a time range. Defaults to compact results with exact calendar_id/event_id pairs for follow-up actions; use detail_level full for raw event details.
- Title: Calendar Events Search
- Annotations:
readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=true
Input schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"query": {
"type": "string"
},
"calendar_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Calendar IDs or supported aliases. Omit on read tools to search all connected readable calendars."
},
"timezone": {
"type": "string",
"description": "IANA timezone, for example Asia/Singapore."
},
"time_min": {
"type": "string",
"description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
},
"time_max": {
"type": "string",
"description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
},
"resolution": {
"type": "object",
"description": "Optional agent date-resolution proof for natural-language dates.",
"properties": {
"resolved_date": {
"type": "string",
"description": "Resolved YYYY-MM-DD date."
},
"resolved_day_of_week": {
"type": "string",
"description": "Resolved day of week, for example Wednesday."
},
"based_on": {
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Server date the resolution was based on."
},
"timezone": {
"type": "string",
"description": "Timezone the resolution was based on."
}
}
}
}
},
"max_results": {
"type": "number",
"description": "Maximum events to return."
},
"detail_level": {
"type": "string",
"enum": [
"summary",
"normal",
"full"
],
"default": "summary",
"description": "Response detail level. Defaults to summary. summary returns compact candidate results with event refs; normal adds scan fields such as location; full returns complete privacy-filtered event JSON and compact full details in MCP text."
}
},
"required": [
"query",
"timezone",
"time_min",
"time_max"
]
}calendar_events_get
Get a single event by calendar ID and event ID. Defaults to full details.
- Title: Calendar Events Get
- Annotations:
readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=true
Input schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"calendar_id": {
"type": "string",
"description": "Calendar ID or supported alias."
},
"event_id": {
"type": "string"
},
"detail_level": {
"type": "string",
"enum": [
"summary",
"normal",
"full"
],
"default": "full",
"description": "Response detail level. Defaults to full. full returns the complete privacy-filtered event JSON and compact full details in MCP text; use summary or normal only for compact output."
}
},
"required": [
"calendar_id",
"event_id"
]
}calendar_events_create
Create a calendar event.
- Title: Calendar Events Create
- Annotations:
readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true
Input schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"calendar_id": {
"type": "string",
"description": "Calendar ID or supported alias. Required; writes never default to a calendar."
},
"title": {
"type": "string"
},
"start": {
"type": "string",
"description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
},
"end": {
"type": "string",
"description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
},
"timezone": {
"type": "string",
"description": "IANA timezone, for example Asia/Singapore."
},
"location": {
"type": "string"
},
"description": {
"type": "string"
},
"attendees": {
"type": "array",
"items": {
"type": "string"
}
},
"idempotency_key": {
"type": "string"
},
"resolution": {
"type": "object",
"description": "Optional agent date-resolution proof for natural-language dates.",
"properties": {
"resolved_date": {
"type": "string",
"description": "Resolved YYYY-MM-DD date."
},
"resolved_day_of_week": {
"type": "string",
"description": "Resolved day of week, for example Wednesday."
},
"based_on": {
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Server date the resolution was based on."
},
"timezone": {
"type": "string",
"description": "Timezone the resolution was based on."
}
}
}
}
}
},
"required": [
"calendar_id",
"title",
"start",
"end",
"timezone"
]
}calendar_events_update
Update selected fields on an event.
- Title: Calendar Events Update
- Annotations:
readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=true
Input schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"calendar_id": {
"type": "string",
"description": "Calendar ID or supported alias. Required; writes never default to a calendar."
},
"event_id": {
"type": "string"
},
"timezone": {
"type": "string",
"description": "IANA timezone, for example Asia/Singapore."
},
"patch": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"location": {
"type": "string"
},
"start": {
"type": "string",
"description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
},
"end": {
"type": "string",
"description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
},
"attendees": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"send_updates": {
"type": "string",
"enum": [
"all",
"externalOnly",
"none"
]
},
"resolution": {
"type": "object",
"description": "Optional agent date-resolution proof for natural-language dates.",
"properties": {
"resolved_date": {
"type": "string",
"description": "Resolved YYYY-MM-DD date."
},
"resolved_day_of_week": {
"type": "string",
"description": "Resolved day of week, for example Wednesday."
},
"based_on": {
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Server date the resolution was based on."
},
"timezone": {
"type": "string",
"description": "Timezone the resolution was based on."
}
}
}
}
}
},
"required": [
"calendar_id",
"event_id",
"patch"
]
}calendar_events_cancel
Cancel an event.
- Title: Calendar Events Cancel
- Annotations:
readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=true
Input schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"calendar_id": {
"type": "string",
"description": "Calendar ID or supported alias. Required; writes never default to a calendar."
},
"event_id": {
"type": "string"
}
},
"required": [
"calendar_id",
"event_id"
]
}calendar_freebusy_query
Return busy intervals for calendars in a time range. If calendar_ids is omitted, searches all connected readable calendars.
- Title: Calendar Freebusy Query
- Annotations:
readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=true
Input schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"calendar_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Calendar IDs or supported aliases. Omit on read tools to search all connected readable calendars."
},
"timezone": {
"type": "string",
"description": "IANA timezone, for example Asia/Singapore."
},
"time_min": {
"type": "string",
"description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
},
"time_max": {
"type": "string",
"description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
},
"resolution": {
"type": "object",
"description": "Optional agent date-resolution proof for natural-language dates.",
"properties": {
"resolved_date": {
"type": "string",
"description": "Resolved YYYY-MM-DD date."
},
"resolved_day_of_week": {
"type": "string",
"description": "Resolved day of week, for example Wednesday."
},
"based_on": {
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Server date the resolution was based on."
},
"timezone": {
"type": "string",
"description": "Timezone the resolution was based on."
}
}
}
}
}
},
"required": [
"timezone",
"time_min",
"time_max"
]
}calendar_availability_find_slots
Find open slots in a time range. If calendar_ids is omitted, searches all connected readable calendars.
- Title: Calendar Availability Find Slots
- Annotations:
readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=true
Input schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"calendar_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Calendar IDs or supported aliases. Omit on read tools to search all connected readable calendars."
},
"timezone": {
"type": "string",
"description": "IANA timezone, for example Asia/Singapore."
},
"time_min": {
"type": "string",
"description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
},
"time_max": {
"type": "string",
"description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
},
"resolution": {
"type": "object",
"description": "Optional agent date-resolution proof for natural-language dates.",
"properties": {
"resolved_date": {
"type": "string",
"description": "Resolved YYYY-MM-DD date."
},
"resolved_day_of_week": {
"type": "string",
"description": "Resolved day of week, for example Wednesday."
},
"based_on": {
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Server date the resolution was based on."
},
"timezone": {
"type": "string",
"description": "Timezone the resolution was based on."
}
}
}
}
},
"duration_minutes": {
"type": "number"
},
"max_results": {
"type": "number"
}
},
"required": [
"timezone",
"time_min",
"time_max",
"duration_minutes"
]
}calendar_events_detect_conflicts
Check whether a proposed time range conflicts with busy calendar intervals. If calendar_ids is omitted, searches all connected readable calendars.
- Title: Calendar Events Detect Conflicts
- Annotations:
readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=true
Input schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"calendar_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Calendar IDs or supported aliases. Omit on read tools to search all connected readable calendars."
},
"timezone": {
"type": "string",
"description": "IANA timezone, for example Asia/Singapore."
},
"start": {
"type": "string",
"description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
},
"end": {
"type": "string",
"description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
},
"resolution": {
"type": "object",
"description": "Optional agent date-resolution proof for natural-language dates.",
"properties": {
"resolved_date": {
"type": "string",
"description": "Resolved YYYY-MM-DD date."
},
"resolved_day_of_week": {
"type": "string",
"description": "Resolved day of week, for example Wednesday."
},
"based_on": {
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Server date the resolution was based on."
},
"timezone": {
"type": "string",
"description": "Timezone the resolution was based on."
}
}
}
}
}
},
"required": [
"timezone",
"start",
"end"
]
}preferences_get
Get user calendar preferences.
- Title: Preferences Get
- Annotations:
readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=false
Input schema
{
"type": "object",
"additionalProperties": false,
"properties": {}
}preferences_update
Update user calendar preferences.
- Title: Preferences Update
- Annotations:
readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=false
Input schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"timezone": {
"type": "string"
},
"default_calendar_id": {
"type": "string"
}
}
}calendar_policies_validate
Validate and resolve a structured calendar policy without enabling it.
- Title: Calendar Policies Validate
- Annotations:
readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=true
Input schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"policy": {
"type": "object"
},
"source_text": {
"type": "string",
"description": "Optional original user request supplied by an agent or UI for audit context."
}
},
"required": [
"policy"
]
}calendar_policies_list
List calendar sync policies.
- Title: Calendar Policies List
- Annotations:
readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=true
Input schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"include_paused": {
"type": "boolean"
},
"detail_level": {
"type": "string",
"enum": [
"summary",
"full"
],
"description": "Response detail level. Defaults to summary; use full for raw detailed records."
}
}
}calendar_policies_create
Create a calendar sync policy. The policy is disabled until explicitly enabled.
- Title: Calendar Policies Create
- Annotations:
readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true
Input schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"policy": {
"type": "object"
},
"enabled": {
"type": "boolean"
},
"detail_level": {
"type": "string",
"enum": [
"summary",
"full"
],
"description": "Response detail level. Defaults to summary; use full for raw detailed records."
}
},
"required": [
"policy"
]
}calendar_policies_update
Update a calendar sync policy.
- Title: Calendar Policies Update
- Annotations:
readOnlyHint=false, destructiveHint=true, idempotentHint=true, openWorldHint=true
Input schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"policy_id": {
"type": "string"
},
"patch": {
"type": "object"
},
"detail_level": {
"type": "string",
"enum": [
"summary",
"full"
],
"description": "Response detail level. Defaults to summary; use full for raw detailed records."
}
},
"required": [
"policy_id",
"patch"
]
}calendar_policies_pause
Pause a calendar sync policy without deleting its shadow events.
- Title: Calendar Policies Pause
- Annotations:
readOnlyHint=false, destructiveHint=false, idempotentHint=true, openWorldHint=true
Input schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"policy_id": {
"type": "string"
},
"detail_level": {
"type": "string",
"enum": [
"summary",
"full"
],
"description": "Response detail level. Defaults to summary; use full for raw detailed records."
}
},
"required": [
"policy_id"
]
}calendar_policies_delete
Delete a calendar sync policy. Use purge when policy-created events should also be removed.
- Title: Calendar Policies Delete
- Annotations:
readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=true
Input schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"policy_id": {
"type": "string"
}
},
"required": [
"policy_id"
]
}calendar_policies_preview
Preview create, update, delete, skip, and no-op actions for calendar policies. Defaults to compact action summaries.
- Title: Calendar Policies Preview
- Annotations:
readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=true
Input schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"policy_id": {
"type": "string"
},
"policy": {
"type": "object"
},
"calendar_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Calendar IDs or supported aliases. Omit on read tools to search all connected readable calendars."
},
"timezone": {
"type": "string",
"description": "IANA timezone, for example Asia/Singapore."
},
"time_min": {
"type": "string",
"description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
},
"time_max": {
"type": "string",
"description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
},
"resolution": {
"type": "object",
"description": "Optional agent date-resolution proof for natural-language dates.",
"properties": {
"resolved_date": {
"type": "string",
"description": "Resolved YYYY-MM-DD date."
},
"resolved_day_of_week": {
"type": "string",
"description": "Resolved day of week, for example Wednesday."
},
"based_on": {
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Server date the resolution was based on."
},
"timezone": {
"type": "string",
"description": "Timezone the resolution was based on."
}
}
}
}
},
"detail_level": {
"type": "string",
"enum": [
"summary",
"full"
],
"description": "Response detail level. Defaults to summary; use full for raw detailed records."
}
},
"required": [
"timezone",
"time_min",
"time_max"
]
}calendar_policies_run
Run calendar policy sync actions. Defaults to compact execution summaries.
- Title: Calendar Policies Run
- Annotations:
readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=true
Input schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"policy_id": {
"type": "string"
},
"calendar_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Calendar IDs or supported aliases. Omit on read tools to search all connected readable calendars."
},
"timezone": {
"type": "string",
"description": "IANA timezone, for example Asia/Singapore."
},
"time_min": {
"type": "string",
"description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
},
"time_max": {
"type": "string",
"description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
},
"resolution": {
"type": "object",
"description": "Optional agent date-resolution proof for natural-language dates.",
"properties": {
"resolved_date": {
"type": "string",
"description": "Resolved YYYY-MM-DD date."
},
"resolved_day_of_week": {
"type": "string",
"description": "Resolved day of week, for example Wednesday."
},
"based_on": {
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Server date the resolution was based on."
},
"timezone": {
"type": "string",
"description": "Timezone the resolution was based on."
}
}
}
}
},
"detail_level": {
"type": "string",
"enum": [
"summary",
"full"
],
"description": "Response detail level. Defaults to summary; use full for raw detailed records."
}
},
"required": [
"timezone",
"time_min",
"time_max"
]
}calendar_policies_purge
Preview or purge events created by a calendar policy. Defaults to compact action summaries.
- Title: Calendar Policies Purge
- Annotations:
readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=true
Input schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"policy_id": {
"type": "string"
},
"preview": {
"type": "boolean"
},
"detail_level": {
"type": "string",
"enum": [
"summary",
"full"
],
"description": "Response detail level. Defaults to summary; use full for raw detailed records."
}
},
"required": [
"policy_id"
]
}calendar_sync_status
Show calendar sync freshness and policy job status. Defaults to compact status summaries.
- Title: Calendar Sync Status
- Annotations:
readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=true
Input schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"detail_level": {
"type": "string",
"enum": [
"summary",
"full"
],
"description": "Response detail level. Defaults to summary; use full for raw detailed records."
}
}
}audit_recent
List recent audited tool calls. Defaults to summaries without raw input/output payloads.
- Title: Audit Recent
- Annotations:
readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=false
Input schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"limit": {
"type": "number"
},
"detail_level": {
"type": "string",
"enum": [
"summary",
"full"
],
"description": "Response detail level. Defaults to summary; use full for raw detailed records."
}
}
}artifacts_purge_owned
Preview touched events associated with this connection for future purge support. Defaults to summaries without metadata blobs.
- Title: Artifacts Purge Owned
- Annotations:
readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=false
Input schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"connection_id": {
"type": "string"
},
"preview": {
"type": "boolean"
},
"detail_level": {
"type": "string",
"enum": [
"summary",
"full"
],
"description": "Response detail level. Defaults to summary; use full for raw detailed records."
}
}
}