resources/skills/cherry-tool-guide/references/autonomy.md
Covers mcp__cherry-tools__cron, mcp__cherry-tools__notify, and
mcp__cherry-tools__config. These three form one channel-delivery workflow:
config connects the IM channels, cron schedules work that can deliver to them, and
notify pushes messages/files through them.
Get exact argument shapes from the live tool schema — this reference gives routing, sequencing, prerequisites, and safety only.
Schedule changes, notifications, and agent/channel configuration may execute without an approval card. Don't call them merely because they're available — first confirm the user requested the effect or it's necessary to complete an already-approved task.
mcp__cherry-tools__cronSchedules work inside Cherry. Never use OS crontab, at, or a background shell
loop for user-facing schedules — Cherry owns execution, delivery, and lifecycle.
Actions:
add — a recurring or one-time job. A job needs exactly one trigger shape
(recurring expression, interval, or a single future timestamp) — consult the schema
for which fields express that.list — existing jobs.remove — delete a job.Jobs can deliver their results to channels (see notify/config below), so scheduling a
report that lands in Telegram is a single cron job, not a hand-rolled OS cron entry
plus a separate send.
mcp__cherry-tools__notifyProactively sends the user a message and/or a workspace file through connected channels — use it to push a result, status update, or produced file without waiting to be asked.
notify stays listed even with none; it
then reports that no channel is connected. Route the user to
mcp__cherry-tools__config / settings rather than retrying.notify pushes a message/file through a channel. To merely register a produced file as
a deliverable in the Cherry UI (no channel send), that's report_artifacts — a different
tool; see outputs.md.
mcp__cherry-tools__configInspects and manages the agent's own configuration.
Always status first. It lists current channels (with connection state), the model,
and the adapter types you can add — so you act on real IDs instead of guessing.
Then:
add_channel — connect a new IM channel (Telegram, Feishu, Discord, Slack,
WeChat, QQ). Credential-based types need their fields; WeChat/Feishu can use QR mode.update_channel / remove_channel — change or delete an existing channel by
ID.reconnect_channel — re-establish a dropped channel; for WeChat/Feishu this
re-issues a QR code to re-scan (expired session or failed initial setup).rename the agent, or complete_bootstrap / reset_bootstrap onboarding.When a channel needs a QR scan, the tool returns the QR image — display it to the
user and let them scan; the connection completes out of band. Confirm with a follow-up
status.
mcp__cherry-tools__config / settings; don't retry notify blindly.notify reports it per channel; adjust rather than
resending the same payload.Schedule a report and notify on completion
"Every weekday morning, summarize my unread items and send it to Telegram."
mcp__cherry-tools__config (status) to confirm a Telegram channel is connected →
mcp__cherry-tools__cron (add) a recurring weekday job whose prompt builds the summary,
delivering to that channel. The scheduled run does the work and delivery; you don't
hand-roll an OS cron entry.
Connect an IM channel
"Hook me up to Slack so you can message me there."
mcp__cherry-tools__config (status) to see supported types and existing channels →
mcp__cherry-tools__config (add_channel, type Slack) with the required credentials from
the schema → confirm it shows connected in a follow-up status. Later,
mcp__cherry-tools__notify to message the user there.