Human-in-the-Loop (Discord) MCP server

Enables human-in-the-loop interactions by creating Discord threads where assistants can request information from users when they need data that isn't publicly available or documented.
Back to servers
Setup instructions
Provider
KOBA789
Release date
Jun 21, 2025
Language
TypeScript
Stats
189 stars

This MCP server allows AI assistants to interact with humans through Discord, enabling assistants to ask questions and receive responses during their workflow. It serves as a bridge for human-in-the-loop scenarios where AI needs human input or judgment.

Requirements

  • Rust (1.70 or higher)
  • Discord account and bot
  • MCP-compatible AI client (Claude Desktop, Copilot Edits, etc.)

Installation and Setup

Creating a Discord Bot

  1. Visit the Discord Developer Portal
  2. Create a new application
  3. Navigate to the Bot section and create a bot
  4. Copy the bot token for later use
  5. Set the following required permissions:
    • Send Messages
    • Create Public Threads
    • Read Message History
  6. Enable the Message Content Intent in the Bot section

Installing the MCP Server

Install the server using Cargo:

cargo install --git https://github.com/KOBA789/human-in-the-loop.git

Configuration

Claude Desktop Configuration

Add this configuration to your claude_desktop_config.json file:

{
  "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"
      ]
    }
  }
}

Then set the Discord token as an environment variable before running Claude Code:

export DISCORD_TOKEN="your-discord-bot-token"
claude

Finding Discord IDs

Channel ID

  1. Enable Developer Mode in Discord (Settings → Advanced → Developer Mode)
  2. Right-click on the channel and select "Copy ID"

User ID

  1. Right-click on the user and select "Copy ID"

Usage

AI assistants can interact with humans using the ask_human tool. When an AI needs human input, it calls this tool, which:

  1. Creates a thread in the specified Discord channel (or uses an existing thread)
  2. Posts the question and mentions the specified user
  3. Waits for the user's reply
  4. Returns the reply content to the AI assistant

Example Interaction

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 will post questions in Discord and mention the user. When the user replies, the response is sent back to the AI assistant, allowing for a collaborative workflow.

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "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"}}'

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "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"
            }
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Add this to your configuration file:

{
    "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"
            }
        }
    }
}

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later