It solves the case where the model has designed the structure but only you know the content, or where a decision is genuinely yours to make. Discord is the interface because it reaches you on a phone; the author expects to move this to native MCP elicitation once clients support it widely.
A single-purpose server: the assistant calls one tool, the server opens a thread in a Discord channel, mentions you, and waits. Your reply in Discord comes back as the tool's result.
- One tool, ask_human, that posts the question and blocks until a person answers
- Threaded questions in a channel you nominate, reusing an existing thread rather than flooding the channel
- A direct mention of the user you specify, so the question does not sit unseen
- Answers routed straight back into the assistant's work, with no copy-paste step
Rust 1.70 or higher to install, via cargo install from the repository. A Discord bot of your own: create the application, take the token, grant Send Messages, Create Public Threads and Read Message History, and switch on the Message Content Intent. The token goes in DISCORD_TOKEN; the channel and user IDs are passed as launch arguments.
One command plus a key — cargo install --git https://github.com/KOBA789/human-in-the-loop.git, then supply credentials
