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

Otōto in your coding agent

Otōto is an MCP server: ototo serve speaks the Model Context Protocol over standard input and output, and any agent that can start a command as an MCP server can use it.

AgentSet up byPage
Claude Codeototo init: the registration, Otōto’s block in CLAUDE.md, and its permissions and hooks in settings.jsonclaude-code.md
OpenCodeototo init: the server in opencode.json, with time for long questions, its instructions, and OpenCode’s own search offopencode.md
Piby hand, one commandpi.md
Another MCP clientby handbelow

Another MCP client

Register this command as a local (stdio) MCP server, under the name ototo:

~/.local/bin/ototo serve

Three things ototo init does for Claude Code and OpenCode are then yours to do:

  • Time. ask, locate, callers and edit wait for a small model, and can take minutes. Give the server’s calls a long timeout if your agent has one to set (Otōto gives OpenCode thirty minutes).
  • Instructions. An agent uses new tools well when it is told when to: for any question about the code, first call ask with the whole question; read with read and outline; search with search. Otōto’s block for Claude Code, dist/CLAUDE.ototo.md, is the text to adapt.
  • The model server. Otōto’s own settings are in ~/.config/ototo/config.toml (dist/config.toml.example): the model server’s address and model. ototo init finds a model server, tests it and writes that file. In 2026.19 and earlier it runs only where Claude Code or OpenCode is installed; without them, copy the example and fill it in, and check with ototo doctor. Later releases set up Otōto’s own side wherever they are run, and say what is left to register.