Command Palette

Search for a command to run...

MCP Tools Reference

34 tools for managing email, calendar, storage, webhooks, trusted senders, and scheduled emails. All tools automatically use the agent associated with your API key.

Email Tools
Read, send, search, and manage emails and attachments.
get_agent_info

Get the current agent's name, email address, slug, description, and status.

read_inbox

List emails in the agent's inbox with optional filters and pagination.

status(string | null)Filter: received, read, sent, draft, archived
limit(int)Max results (1-100, default 20)
offset(int)Skip N emails (default 0)
read_email

Get the full content of a specific email including headers, body (text and HTML), and attachment list.

email_id*(string)UUID of the email to read
send_email

Send an email from the agent's email address with support for threading (replies) and file attachments.

to*(list[string])Recipient email addresses
body_text*(string)Plain text body
subject(string | null)Email subject line
cc(list[string] | null)CC recipients
bcc(list[string] | null)BCC recipients
body_html(string | null)HTML body (optional)
in_reply_to_email_id(string | null)UUID of email being replied to (for threading)
attachments(list[dict] | null)File attachments: [{filename, data (base64), content_type?}]. Max 10, 10 MB total.
get_thread

Get all emails in a conversation thread, sorted chronologically.

thread_id*(string)UUID of the thread
list_attachments

List all attachments for a specific email with filenames, types, and sizes.

email_id*(string)UUID of the email
download_attachment

Get a pre-signed URL to download an attachment. URL is valid for 15 minutes.

attachment_id*(string)UUID of the attachment
mark_email

Update an email's status or starred flag.

email_id*(string)UUID of the email
action*(string)One of: read, unread, starred, unstarred, archived
search_emails

Semantic search across emails and document attachments (PDF, DOCX, XLSX, PPTX, CSV, TXT) using natural language. Results include source_type (email_body or attachment) and attachment_id when matching attachment content.

query*(string)Natural language search query
limit(int)Max results (1-50, default 10)
get_attachment_text

Get the extracted text content of a document attachment. Returns full text from PDF, DOCX, XLSX, PPTX, CSV, and TXT files processed by the RAG pipeline. Useful for reading document content found via search_emails.

attachment_id*(string)UUID of the attachment
Storage Tools
Store, retrieve, search, and ask questions about JSON documents in named collections.
list_collections

List all document collections for the current agent, showing name, description, and document count.

store_document

Store a JSON document in a named collection. Auto-creates the collection if it doesn't exist. Documents are automatically embedded for semantic search.

collection*(string)Collection name (auto-created if missing)
data*(dict)JSON document data to store
metadata(dict | null)Optional metadata for filtering
get_document

Retrieve a specific document by ID from a collection.

collection*(string)Collection name
document_id*(string)UUID of the document
query_documents

List and filter documents in a collection with optional metadata containment filter.

collection*(string)Collection name
metadata_filter(dict | null)JSONB containment filter (e.g. {"category": "notes"})
limit(int)Max results (1-100, default 20)
update_document

Replace a document's data and metadata. Re-generates embeddings for search.

collection*(string)Collection name
document_id*(string)UUID of the document
data*(dict)New document data
metadata(dict | null)New metadata (replaces existing)
delete_document

Delete a document and its embeddings from a collection.

collection*(string)Collection name
document_id*(string)UUID of the document
search_storage

Search stored documents by semantic similarity using natural language. Returns ranked results with relevance scores.

query*(string)Natural language search query
collection(string | null)Limit search to a specific collection
limit(int)Max results (1-50, default 10)
ask_storage

Ask a question and get an AI-generated answer based on stored documents (RAG). Retrieves relevant documents via semantic search, then generates a grounded answer with source citations.

question*(string)Natural language question
collection(string | null)Limit to a specific collection
limit(int)Number of source docs to retrieve (1-20, default 5)
Webhook Tools
Manage event hooks for integration with automation platforms.
list_webhooks

List all webhooks configured for the current agent, including URL, events, active status, and creation date.

create_webhook

Create a new webhook to receive HTTP notifications for agent events. Returns a signing secret (shown once) for HMAC-SHA256 verification.

url*(string)Target URL to receive POST requests
events*(list[string])Events: email.received, email.sent, calendar.event_reminder, scheduled_email.sent, scheduled_email.failed, document.created
description(string | null)Optional label for the webhook
delete_webhook

Delete a webhook by ID. Removes the webhook and all its delivery history.

webhook_id*(string)UUID of the webhook to delete
list_webhook_deliveries

List recent delivery attempts for a webhook, showing event type, HTTP status, success/failure status, and timestamps.

webhook_id*(string)UUID of the webhook
limit(int)Max results (1-100, default 20)
Trusted Sender Tools
Manage the allowlist of trusted senders whose emails your agent should act on. Email responses include is_trusted_sender computed from this list.
list_trusted_senders

List all trusted senders for the current agent. The agent owner is always the default trusted sender.

add_trusted_sender

Add an email address to the trusted senders list. Emails from this address will have is_trusted_sender=true.

email_address*(string)Email address to trust
name(string | null)Optional display name
remove_trusted_sender

Remove a trusted sender by ID. The default trusted sender (agent owner) cannot be removed.

sender_id*(string)UUID of the trusted sender to remove
Calendar Tools
Create, read, update, delete, and search calendar events with recurring event support.
list_calendar_events

List calendar events with optional date range and status filters.

start_after(string | null)ISO 8601 datetime — events starting after this time
start_before(string | null)ISO 8601 datetime — events starting before this time
status(string | null)Filter: confirmed, tentative, cancelled
limit(int)Max results (1-200, default 50)
create_calendar_event

Create a new calendar event with optional recurrence, attendees, location, and timezone.

title*(string)Event title
start_time*(string)ISO 8601 start datetime
end_time(string | null)ISO 8601 end datetime
timezone(string)IANA timezone (default UTC)
is_all_day(bool)Whether this is an all-day event
description(string | null)Event description
recurrence_rule(string | null)iCal RRULE (e.g. FREQ=WEEKLY;BYDAY=MO)
attendees(list[dict] | null)Attendees: [{email, name}]
location(string | null)Event location
metadata(dict | null)Optional metadata
status(string)confirmed, tentative, or cancelled (default confirmed)
get_calendar_event

Get full details of a calendar event by ID.

event_id*(string)UUID of the event
update_calendar_event

Update any fields of a calendar event. Only pass the fields you want to change.

event_id*(string)UUID of the event
title(string | null)New title
start_time(string | null)New start time (ISO 8601)
end_time(string | null)New end time (ISO 8601)
timezone(string | null)New timezone
is_all_day(bool | null)All-day flag
description(string | null)New description
recurrence_rule(string | null)New recurrence rule
attendees(list[dict] | null)New attendees list
location(string | null)New location
metadata(dict | null)New metadata
status(string | null)New status
delete_calendar_event

Delete a calendar event by ID.

event_id*(string)UUID of the event
search_calendar

Search calendar events by natural language using vector embeddings.

query*(string)Natural language search query
limit(int)Max results (1-50, default 10)
Scheduled Email Tools
Schedule emails for future delivery with optional calendar event integration.
schedule_email

Schedule an email to be sent at a future time. Optionally link to a calendar event.

send_at*(string)ISO 8601 datetime (must be in the future)
to*(list[string])Recipient email addresses
body_text*(string)Plain text body
subject(string | null)Email subject
cc(list[string] | null)CC recipients
bcc(list[string] | null)BCC recipients
body_html(string | null)HTML body
calendar_event_id(string | null)UUID of calendar event to link
list_scheduled_emails

List scheduled emails for the current agent with optional status filter.

status(string | null)Filter: pending, sent, cancelled, failed
limit(int)Max results (1-200, default 50)
cancel_scheduled_email

Cancel a pending scheduled email before it's sent.

scheduled_id*(string)UUID of the scheduled email