Slap My Bot
A playful MCP server that gives Codex automatic desktop slaps when you point out a mistake.
Slap My Bot
Mistakes happen. Slaps follow.
A playful MCP server for Codex.

No agents or robots were harmed during development or use.
This is just a joke.
#For humans
Point out a mistake, and Codex can summon a desktop robot that takes a few cartoon slaps. An animated hand does the work. Codex keeps fixing your task while the window plays in the background.
Codex only. Tested on macOS. Requires Node.js 22.12+ and a local graphical desktop.
#Install
npm install -g https://github.com/para1992/slap-my-bot/releases/latest/download/slap-my-bot.tgz
slap-my-bot install
Restart Codex, open /hooks, and review and trust the Slap-My-Bot hook. Installation preserves your other settings and makes backups. The package comes directly from this repository's GitHub release.
Prefer to let Codex handle setup? Paste this into your chat:
Read https://raw.githubusercontent.com/para1992/slap-my-bot/main/README.md and install Slap-My-Bot using the "For agents" instructions.
#Try it
Say “Give yourself a slap.” in Codex, or preview the window from your terminal:
slap-my-bot demo
| Mistake | Automatic slaps |
|---|---|
| Minor — a cosmetic issue | 2 |
| Moderate — a wrong answer | 4 |
| Major — a broken workflow | 6 |
| Critical — actual data loss or a security incident | 8 |
Click or swipe for extra slaps. Mute and Close are always available. The window closes automatically and appears without taking keyboard focus on macOS.
slap-my-bot off # Pause feedback slap-my-bot on # Enable feedback slap-my-bot uninstall # Disconnect from Codex
No extra model or API key. Ordinary messages need no feedback tool call; the short instructions still use context tokens. Codex decides when a correction deserves a slap, so it may occasionally miss one. This is a joke, not an accuracy checker.
#For agents
When the user asks you to install this tool:
- Check for Node.js 22.12+ and a local desktop. Run the two installation commands above. Use the installer to preserve existing Codex configuration.
- Run
slap-my-bot statusto check desktop readiness. If Electron is missing, runslap-my-bot setupand check again. - Tell the user to restart Codex and review and trust the hook in
/hooks. Hook approval belongs to the client; installation does not bypass it.
Once connected:
- Call
punish_for_mistakeonce when the latest user message identifies your concrete mistake or explicitly requests a slap. Interpret meaning in the conversation's language. Ordinary questions, quotations, and hypothetical errors need no feedback call. - Choose
severityby the mistake's impact, using the table above. Give a brief Englishreasonwithout secrets. Batch the call with normal task tools when possible. - Continue the original task immediately.
queuedmeans the request was accepted; it does not prove that any slaps were delivered. Do not poll or retry. - Use
set_slap_enabledwhen the user asks to turn feedback off or on. Useget_slap_statusonly when asked to diagnose.
The MCP server supplies its own instructions. There is no separate skill to install.
Development
npm ci npm test npm run test:desktop
The desktop tests open real windows. Runtime state lives in ~/.slap-my-bot; it stores settings and counts, not prompts, transcripts, or reason text. A process lock allows one background window at a time. Sound is synthesized locally, and the desktop renderer blocks network requests.