Human-in-the-Loop
Allows AI assistants to ask questions to humans via Discord.
Human-in-the-Loop MCP Server
An MCP (Model Context Protocol) server that allows AI assistants to ask questions to humans via Discord.
Overview
This MCP server is used when AI assistants need human input or judgment during their work. For example:
- When having an LLM create documentation, the AI designs the structure while humans provide specific content
- When the AI needs confirmation on uncertain decisions
- When specialized knowledge or personal information is required
Requirements
- Rust (1.70 or higher)
- Discord account and bot
- MCP-compatible AI client (Claude Desktop, Copilot Edits, etc.)
Setup
1. Create Discord Bot
- Go to Discord Developer Portal
- Create a new application
- Create a bot in the Bot section and obtain the token
- Set required permissions:
- Send Messages
- Create Public Threads
- Read Message History
- Enable privileged gateway intents in Bot section:
- Message Content Intent
2. Install
cargo install --git https://github.com/KOBA789/human-in-the-loop.git
Connecting with MCP Clients
Claude Desktop Configuration
Add the following to claude_desktop_config.json:
{
"mcpServers": {
"human-in-the-loop": {
"command": "human-in-the-loop",
"args": [
"--discord-channel-id", "channel-id",
"--discord-user-id", "user-id"
],
"env": {
"DISCORD_TOKEN": "your-discord-bot-token"
}
}
}
}
Claude Code Configuration
For Claude Code (claude.ai/code), add to your MCP settings:
{
"mcpServers": {
"human-in-the-loop": {
"command": "human-in-the-loop",
"args": [
"--discord-channel-id", "channel-id",
"--discord-user-id", "user-id"
]
}
}
}
Set the Discord token as an environment variable before running Claude Code:
export DISCORD_TOKEN="your-discord-bot-token"
claude
Note: The server automatically reads the Discord token from the DISCORD_TOKEN environment variable. You can also pass it via --discord-token argument if needed.
Usage
AI assistants can ask questions to humans using the ask_human tool:
Human: Please create a documentation outline. You can ask the human as you need.
Assistant: I'll create a documentation outline. Let me ask you some questions first.
[Uses ask_human tool]
The AI posts questions in Discord and mentions the specified user. When the user replies in Discord, the response is returned to the AI.
How It Works
- AI assistant calls the
ask_humantool - MCP server creates a thread in the specified Discord channel (or uses existing thread)
- Posts the question and mentions the specified user
- Waits for user's reply
- Returns the reply content to the AI assistant
Finding Discord IDs
Getting Channel ID
- Enable Developer Mode in Discord (Settings → Advanced → Developer Mode)
- Right-click on channel → "Copy ID"
Getting User ID
- Right-click on user → "Copy ID"
Roadmap
- Future Migration to MCP Elicitation: Once MCP's Elicitation implementation becomes more widespread and standardized, we plan to migrate the UI from Discord to native MCP Elicitation. This will provide a more integrated experience directly within MCP-compatible clients.
Related Servers
Telegram MCP Server
Interact with a Telegram account using the user client API, allowing AI assistants to manage chats and messages.
Unipile
Access and manage messages from multiple platforms using the Unipile API.
CData Slack MCP Server
A read-only MCP server for Slack by CData, enabling LLMs to query live Slack data. Requires the CData JDBC Driver for Slack.
Phone-a-Friend MCP Server
An AI-to-AI consultation system for complex problem-solving and reasoning, using OpenRouter for model access.
Vapi MCP Server
A server for integrating with Vapi's voice AI APIs using function calls.
WasenderAPI MCP
Connect WasenderAPI to AI agents and automation tools using the Model Context Protocol. This remote MCP server exposes WhatsApp session management, messaging, contacts, and groups as callable tools for MCP-compatible platforms
MCP Headless Gmail Server
A headless server to get and send emails via the Gmail API, requiring Google API credentials at runtime.
Python LINE MCP Server
An MCP server for accessing and interacting with LINE Bot messages.
Resend Email
Send emails directly from your editor using the Resend API.
BGG MCP
BGG MCP enables AI tools to interact with the BoardGameGeek API.