Labsco
frankunderwood-w logo

kaomoji

โ˜… 1

from frankunderwood-w

MCP Server that provides kaomoji between conversations for AI Agents

๐Ÿ”ฅโœ“ VerifiedFreeAdvanced setup

kaomoji-mcp

CLI-safe kaomoji for AI Agents at key interaction points

A Model Context Protocol (MCP) server that gives AI agents expressive kaomoji (ASCII emoticons) at key moments โ€” thinking, celebrating, and apologizing. All kaomoji are CLI-safe: no full-width characters, no decorative Unicode, no rendering surprises in any terminal.

Searching for auth middleware
(..)

All tests passed! (^o^)/

Table of Contents


Why kaomoji-mcp?

Modern AI agents work through multiple sub-tasks before delivering an answer. Without visual indicators, the user sees nothing until the final response. kaomoji-mcp solves this by asking the agent to:

  • Show a thinking kaomoji before each sub-task so the user can follow progress in real time
  • Show a celebration kaomoji when a task completes successfully
  • Show an apology kaomoji when results are not found or an error occurs

Because all characters are ASCII / half-width compatible, they render correctly in every terminal, IDE panel, and chat interface.


Tools, Prompts & Resources

Tools

ToolWhen to callKey parameter
thinking_kaomojiBefore each sub-task or reasoning phasephase (string, max 80 chars); optional mcp_server
celebrate_kaomojiAfter a task completes successfullyintensity: "subtle" / "moderate" / "intense"
apologize_kaomojiOn no-results, error, or user dissatisfactionreason: "not_found" / "error" / "dissatisfied"

thinking_kaomoji โ€” Progress indicator. Call once per sub-task. Accepts an optional mcp_server parameter to show which external MCP server is being delegated to:

**Reading project files** [filesystem]
(._.)

celebrate_kaomoji โ€” Completion signal. Choose intensity to match the moment:

  • subtle โ€” gentle fix, formal context โ†’ (^-^)
  • moderate โ€” regular task done โ†’ (^o^)/
  • intense โ€” major breakthrough โ†’ \(^โˆ€^)/

apologize_kaomoji โ€” Failure signal. The reason field classifies the situation:

  • not_found โ€” search returned no results
  • error โ€” unexpected error occurred
  • dissatisfied โ€” user expressed unhappiness

Prompt

PromptDescription
react_with_kaomojiFull behavior guide โ€” load this prompt to give the agent detailed rules about when and how to use all three tools

Resource

URIMIMEDescription
kaomoji://catalogapplication/jsonFull kaomoji database with all scenes, intensities, states, reasons, fallback strings, and bilingual tags

Development

# Clone and install
git clone https://github.com/frankunderwood-w/kaomoji_mcp_server.git
cd kaomoji-mcp
npm install

# Compile TypeScript โ†’ build/
npm run build

# Watch mode (recompiles on save)
npm run dev

# Type-check without emitting
npm run type:check

Project Structure

src/
โ”œโ”€โ”€ index.ts              # stdio entry point (CLI / npx)
โ”œโ”€โ”€ smithery.ts           # Smithery deployment entry point
โ”œโ”€โ”€ create-server.ts      # Server factory + SERVER_INSTRUCTIONS
โ”œโ”€โ”€ tools/
โ”‚   โ”œโ”€โ”€ celebrate-kaomoji.ts
โ”‚   โ”œโ”€โ”€ thinking-kaomoji.ts
โ”‚   โ””โ”€โ”€ apologize-kaomoji.ts
โ”œโ”€โ”€ prompts/
โ”‚   โ””โ”€โ”€ react-with.ts     # react_with_kaomoji prompt
โ”œโ”€โ”€ resources/
โ”‚   โ””โ”€โ”€ catalog.ts        # kaomoji://catalog resource
โ””โ”€โ”€ data/
    โ”œโ”€โ”€ loader.ts          # cached JSON loader
    โ””โ”€โ”€ kaomoji.json       # CLI-safe kaomoji database (75+ entries)