Tool catalog
Every MCP tool, grouped by what it does and the scope it needs.
The tools your client sees depend on your token's scope. The five read tools are available under both scopes; everything else needs full.
Read (both scopes)
| Tool | What it does |
|---|---|
query_knowledge_base | Ask the Knowledge Base a question; get a grounded answer with citations |
get_usage_stats | Lifetime conversation, query, and document counts. When conversation_count_is_cap is true the conversation figure is a floor — report it as "at least N" |
get_recent_questions | Paraphrased themes of what workers have asked over a date range (defaults to 30 days). Never returns a worker's own words — see Security & privacy. If below_anonymity_floor is true there was too little activity to summarise safely, which is not the same as "no themes" |
list_prompt_cards | Read the mobile app's prompt-card categories and starter questions, including any longer prompt a card sends to the Agent in place of its question |
get_import_status | Check a file-import batch by batch_id |
get_recognition_summary | How your team engaged with the Agent over one Recognition week: how many were scored, how many earned a point, star movement, Awards and Badges, and a per-location breakdown. workers_scored includes people who did nothing — workers_active is the subset who earned a point, and the average is among those only. No names |
get_recognition_leaderboard | The top ten for each location for one Recognition week, as first name plus last initial — the same form your team sees. Workers who earned no points are never ranked and never appear |
get_recognition_worker | One team member's Recognition standing for a week, found by name. If the name matches more than one person, or nobody, it returns found: false with the candidates — ask which one, never pick |
The three Recognition tools need Recognition switched on for your Agent. It is an
optional feature and it is off unless OnKey staff have enabled it, so on an Agent without it
every one of them returnsavailable: falserather than an error — and the same answer comes
back when Recognition is on but no week has finished yet. Treatavailable: falseas "there
is nothing to report", never as "your team did nothing". Ask your Virtual Operations Agent if
you want it turned on.
Content management (full)
| Tool | What it does |
|---|---|
add_files | Upload documents (PDF, DOCX, XLSX, PPTX, TXT, MD; up to 20 files, 10 MB each) to the Knowledge Base. Async — the Admin is emailed when the batch finishes |
preview_prompt_card_edits | Validate a batch of Prompt Card edits and return a diff — no write. Cards take a question (promptText, ≤ 280 chars) and optionally a longer agentPromptText (≤ 4,000 chars) sent to the Agent instead of the question |
apply_prompt_card_edits | Atomically apply a confirmed batch; English live immediately, es/fr/pt within ~30 s |
Prompt Card edits aren't worker-facing
preview_prompt_card_edits/apply_prompt_card_editswrite to the Agent's configuration, not to worker inboxes, so they don't use the stage → confirm token model. Show the user the preview diff, then apply —apply_prompt_card_editsre-validates server-side regardless.
Worker-facing (full) — stage → confirm
These reach real people, so they use the two-call stage → confirm gate: stage_* returns a preview + single-use confirmation_token; the matching send_*/schedule_* call takes only that token.
| Tool | What it does |
|---|---|
resolve_message_recipients | Read-only preview of workers matching a name/role/location filter |
stage_alert / send_alert | Stage, then dispatch, a broadcast Alert |
stage_message / send_message | Stage, then dispatch, a targeted Message |
stage_scheduled_message / schedule_message | Stage, then queue, a future-dated Scheduled Reminder |
list_scheduled_messages | List pending Scheduled Reminders |
update_scheduled_message | Edit a pending Scheduled Reminder's content, time, or targeting |
cancel_scheduled_message | Cancel a pending Scheduled Reminder |
list_pending_user_questions | List worker questions awaiting an Admin reply |
reply_to_user_message | Reply to a worker question via the in-app Inbox (no token — server re-checks ownership and status) |
All worker-facing tools require an active Agent; they're refused on a deactivated one (bot_not_active). Broadcast Alerts are capped at one per hour, shared across MCP, the REST API, and the email Virtual Operations Agent.
Related
- Safety: stage → confirm — the send gate + error reference.
- Token scopes — read vs full.
Updated 27 days ago

