Each call returns a short string; each description is phrased as an instruction to whichever model is reading it. celebrate_kaomoji says it must be called once a Write or Edit succeeded and the agent is about to stop, thinking_kaomoji says to call it every time a new sub-task begins, and apologize_kaomoji says to call it when the user is dissatisfied or a lookup came back empty. Whether any of that happens is a property of the client's prompt handling rather than of the server, which does nothing but hand back the kaomoji — and the descriptions commit to one testable thing about them, that they are CLI-safe.
A three-tool server returning a celebratory, thinking or apologetic kaomoji, where each tool's description is written as a rule telling the calling model when to reach for it.
- celebrate_kaomoji returns a celebratory kaomoji at a chosen intensity, for the point where the work succeeded, the user has raised no objection, and the agent is about to stop responding.
- thinking_kaomoji takes the phase being entered and the mcp_server it belongs to, and is meant to be called on starting a sub-task or moving between phases so the reply shows progress while it happens.
- apologize_kaomoji takes the reason it was called for — the user is dissatisfied, a search returned nothing, or the analysis concluded something does not exist.
- Every returned kaomoji is stated to be CLI-safe.
Nothing at all: no account and no key. Each tool takes a short argument and returns a string.
One command — npx kaomoji-mcp
