Reference
The tools, one by one.
What a connected assistant can call, with every argument. Ids look like C_9F2A… and come from any search or list. Dates are ISO-8601.
Read tools
Always on while the server is on.
clipboard_search
Search history and boards by text, clip text and the text read from images alike.
| query | free text, matched case-insensitively |
|---|---|
| kind | text · rtf · image · file · link · color |
| category | e.g. code, email, screenshot, link, color, contact, address, date |
| sourceApp | app name or bundle id, substring |
| folder | a board name, or history for unfiled cards |
| since / until | ISO-8601 window |
| limit / offset | 1–50 (default 20) / pagination |
Returns clips as summaries: id, kind, category, a 200-character preview, character count, date, board, source app, url, and the name if you labeled the card.
clipboard_search { "query": "invoice", "since": "2026-09-01T00:00:00Z", "limit": 5 }
clipboard_list_recent
The most recent copies, history only, newest first. Arguments: kind, category, limit, offset.
clipboard_list_recent { "limit": 10, "kind": "link" }
clipboard_get
One card in full, with its metadata. For an image, the text read from it.
| id | required |
|---|---|
| maxChars | 500–50,000 (default 20,000); longer text is cut with a marker |
clipboard_get { "id": "C_9F2A3B10-…", "maxChars": 5000 }
clipboard_get_image
The picture itself, for an image or screenshot card, as an image the assistant can look at, plus a small block of metadata. Scaled to at most maxSide pixels on the long edge and kept under about 1.4 MB. A hidden image and a missing id look the same.
| id | required; must be an image card |
|---|---|
| maxSide | 256–1568 (default 1568) |
clipboard_get_image { "id": "C_5C77…", "maxSide": 1024 }
clipboard_context
Several cards as one ready-to-read block, the same block Copy for AI makes in the app: a header with the board’s name and note, count and time range, then every card oldest first with kind, source app, time and content. Pick one scope.
| folder | a board name, or history for the most recent 200 unfiled cards |
|---|---|
| last | the N most recent cards, 1–200 (default 20) |
| ids | specific cards; hidden ids silently drop |
| maxChars | 1,000–200,000 (default 100,000); longer output is cut with a marker |
clipboard_context { "folder": "Research" }
clipboard_context { "last": 15 }
clipboard_list_folders
Every board with its name, its note, whether it fills itself, its card count and when it last changed, plus the number of unfiled cards. No arguments.
clipboard_list_folder_clips
The cards on one board, newest first. Arguments: folder (required), limit, offset. The page carries the board’s name and note.
clipboard_stats
Totals by kind and category, top source apps, and the date range. Arguments: since, until. Cheap; use it to scope a query.
The write tool
Offered only while “Let tools add cards” is on.
clipboard_put
Add a card to the history. It lands as the newest card, badged with the calling app’s icon. It never pastes and does not touch the system clipboard unless also_copy is true.
| text | required; up to 100,000 characters |
|---|---|
| kind | text (default) · link · color; link needs a URL, color a hex like #FF8800. Code, emails, phone numbers and the rest are detected from the text. |
| folder | also file a copy into this board, by name; boards that fill themselves are refused |
| title | a short label on the card, up to 120 characters |
| also_copy | also put the text on the system clipboard; only when the user asked to paste it next, and logged |
Thirty cards a minute across all clients. Text that looks like a key or a secret is stored concealed, and no read tool returns a concealed card. Every write appears in Settings → AI → Recent activity.
clipboard_put { "text": "Raise the pro tier to $29 — decided in today's call", "title": "Pricing", "folder": "Launch" }
The gate, every tool
A card is returned only if all of these hold: it is not a concealed card; it is not from an app on the excluded list; neither its text nor the text read from its image looks like a credential, known key prefixes and a conservative high-entropy check included; and, when “Also hide contacts, emails, phone numbers & addresses” is on, it is not one of those. Hidden cards are indistinguishable from missing ones. The battery that proves this runs before every release.
Questions
Where do the ids come from?
From any search or list result. They look like C_9F2A… and stay stable for the life of the card.
What does “Clip not found” mean?
Either the id does not exist or the card is hidden by the gate. The two are deliberately indistinguishable.
Does a tool see the write tool the moment I flip the switch?
The next time it connects. A client that fetched the tool list before the switch changed sees the new list when it reconnects.