Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

MCP tools

omni init registers OMNI as an MCP server, which gives the agent tools it can call itself without going through you. This page describes all 25. Your host is told about a subset.

What your host is told about

Tool definitions sit in the prefix of every request, so a tool nobody calls is re-read on every request of every session rather than paid for once. OMNI advertises the set your host’s tier can use:

tieradvertised
Full, and any host OMNI does not recognisethe nine below
Handoff-firstthe same nine, with omni_run always among them
MCP-onlyomni_remember, omni_recall, omni_retrieve, omni_knowledge

The nine are omni_retrieve, omni_explain_savings, omni_remember, omni_recall, omni_run, omni_find_noise, omni_context_breakdown, omni_history and omni_context. They are the ones that were actually called across the recorded corpus.

Every other tool on this page is still in the binary and one setting away. OMNI_MCP_TOOLS=all advertises all 25, and omni doctor says which set is in force and which host it resolved:

  MCP tools:      9 of 25 advertised to claude_code (OMNI_MCP_TOOLS=all restores the rest)

Confirm the list against your own binary rather than this page:

{ echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"p","version":"1"}}}'
  echo '{"jsonrpc":"2.0","method":"notifications/initialized"}'
  echo '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'; } \
| omni --mcp | tail -1 | jq -r '.result.tools[].name'

Getting content back

toolwhat it does
omni_retrieveRetrieve full content a marker omitted, by its handle
omni_runRun a shell command and return distilled output
omni_signal_extractExtract signal from raw text, without the hook pipeline

omni_run matters most on hosts that cannot rewrite their built-in shell tool. There, it is the only path to distilled output, which is why omni init --cursor installs a rule telling the agent to prefer it.

Understanding what OMNI did

toolwhat it does
omni_explain_savingsRoute, filter, input and output bytes, savings % per recent command
omni_historyRecent distillations with per-call savings and ratios
omni_context_breakdownToken breakdown by source for the current turn
omni_densityHow much signal against noise in a piece of text
omni_budgetToken budget usage and compression efficiency for this session

These four are the right answer to “is OMNI helping here”. Pull the numbers rather than forming an impression.

Memory

toolwhat it does
omni_rememberStore a decision, gotcha or constraint
omni_recallSemantic search across engrams, knowledge and distillation history
omni_knowledgeQuery or store cross-session project knowledge
omni_insightTop recurring issues and error patterns across the project
omni_adaptive_insightsRetrieval patterns, as a judgement on distillation effectiveness
omni_handoffExport session state as portable markdown, no network needed

omni_handoff is MCP only. The CLI subcommand of that name was removed.

toolwhat it does
omni_sessionSession state: status, context, clear
omni_searchSearch this session’s history
omni_queryQuery distillation history with the fixed query forms
omni_contextLightweight dependency context for a file
omni_agentsOther agents currently active on this project

Tuning

toolwhat it does
omni_find_noiseAnalyse recent raw traces for repetitive noise

Advisory only, and the learner treats “repeated” as “noise”. It has suggested stripping ^metadata:, ^spec:, code fences and ^\[stderr\], which are structure and the error channel. Never paste its output anywhere without reading it line by line.

Loops

toolwhat it does
omni_loop_statusOne-call status check for an orchestrator before each iteration
omni_loop_memoryRead and write loop memory that survives session restarts
omni_set_loop_contextUpdate loop context dynamically
omni_budget_statusBudget status for this iteration. Call before expensive work.
omni_verifyAs a checker sub-agent, evaluate the maker agent’s recent work

See Loop engineering.

A tool that is not one

omni_auto_noise appears as a string in the server source and is not a tool. It is a filter name passed to the TOML generator. Calling it returns -32602 tool not found.

It has been miscounted before: a source grep for "omni_*" returns 27, and 27 is therefore wrong wherever it appears. Run the tools/list call above for the count.