Skip to content

Help Tool

The help tool returns the tool catalog and current usage guidance. It is the first tool to call at the start of a session: the response tells you exactly which tools are exposed by this server build, what parameters they accept, and which patterns are recommended right now.

Registered as a top-level tool since v4.5.x. Distinct from server_info(action:"help", topic:...) which returns the same kind of content but is routed through server_info.


Annotations:

AnnotationValue
readOnlytrue
destructivefalse
idempotenttrue

Parameters: (none)

The implementation (registerHelpTool in tools_aliases.go) returns the same serverInstructions string that the server sends during the MCP initialize handshake. The content is regenerated on every call (no caching), so it always reflects the running binary.


The 20-tool surface evolves between releases (minify_js was added in v4.5.7, git in v4.5.2, replace_range mode was added in v4.5.16, etc.). Calling help at session start gives the model:

  • The exact list of tools this binary exposes
  • The recommended workflow for this version
  • The current best practices (REGLA 0 anti-rewrite, --auto-occ modes, step-through undo, etc.)

Avoid hard-coding the tool list in your system prompt — help is the canonical source and is cheaper than dragging the full docs into context.


help()
// → the full tool catalog with usage rules, workflows, and tips

The response is plain text. The exact contents depend on serverInstructions in the running binary — call once at the start of a session to see what your build returns.


For a narrower, focused response, use the server_info tool with the topic parameter:

server_info({action: "help", topic: "recovery"})
// → Disaster recovery guide: undo_last, restore, restore_trash, purge_trash

Supported topics (from core/help_content.go / help_content.go):

TopicReturns
overview (default)Quick-start guide + tool summary
workflowThe 4-step efficient edit loop
toolsFull list of tools with one-line descriptions
readReading files (modes, base64, ranges)
writeWriting files (atomic, base64)
editEdit modes table + REGLA 0 anti-rewrite + OCC
searchsearch_files and list_directory patterns
batchbatch_operations + project_replace + pipelines
errorsCommon errors and recoveries
examplesPractical call patterns
tipsToken-saving tips
recoveryDisaster recovery — step-through undo, restore_trash
allEverything (comprehensive dump)

Prefer the focused topics when you only need a refresher on one area; use the default help (no topic) when onboarding to a new version.


// session_start
help() // full catalog → cache in your memory
// later
server_info({action:"help", topic:"recovery"}) // focused

Pattern 2 — use server_info({action:"stats"}) for runtime info

Section titled “Pattern 2 — use server_info({action:"stats"}) for runtime info”
server_info({action: "stats"})
// → build commit + date + cache stats + worker pool + edit telemetry
// → backup directory + total backup count + latest backup
// → "UNDO last edit: backup(action:'undo_last')"

This is the right tool for “is the server healthy and where are my backups?” — not help.

Pattern 3 — use server_info({action:"artifact"}) for last-response replay

Section titled “Pattern 3 — use server_info({action:"artifact"}) for last-response replay”
server_info({action: "artifact", sub_action: "capture", content: "..."}) // capture
server_info({action: "artifact", sub_action: "write", path: "out.txt"}) // write to file
server_info({action: "artifact", sub_action: "info"}) // last artifact info

This is independent of help — it’s how the server exposes a tiny scratch buffer for content the model produced but did not have a destination for.



Version: 4.5.29 Last updated: 2026-07-11