Watches, write
Add watch
Start watching a topic, the mentions of a name, or an account. Nothing is read here: the watch is polled at the project's own pace from then on, and every post it surfaces is charged at that platform's blip rate. The result carries the estimate. Send dry_run to read that estimate without saving anything.
MCP
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "add_watch",
"arguments": {
"project_id": "<uuid>",
"kind": "<topic | mention | account>",
"query": []
}
}
}Input
topic: one phrase, every English post that says it. mention: the names people use for you. account: handles, every original post they write.
The terms, exactly as the dialog takes them: one phrase for a topic, the names people use for you on a mention watch, handles without the @ on an account watch. A topic holds one term; several terms make several topic watches.
Where the watch runs, one or more of x, hn, youtube, bluesky, reddit. Each is charged at its own blip rate; Reddit is stored and never polled.
What to call it. Empty names each watch by its own term.
The folder it joins. Null or absent leaves it ungrouped.
How to reply per intent, up to 12 rows of { intent, note }. Ignored on an account watch, which keeps none.
X account watches only: posts a day Sonket may be billed for from them. Null is 5, at most 50.
True answers the same estimate and the watch as it would be saved, and writes nothing, so the price can be said before anything starts costing. Every refusal is the same, so a watch already taken comes back refused here too. A new group is never made on a dry run.
Returns
The watches as saved — several when a topic run carries several terms — an estimate: blips a month, the dollars they work out to, and the sentence that says it is an estimate and not a bill, and dry_run, true when nothing was written. A dry run's watches carry no id and no blips.