halobot
Provides a Discord communication channel for AI agents, enabling thread-based conversations, message sending, and waiting for human replies.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@halobotAsk the human for the database choice and wait for reply."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
halobot
Your AI agent needs a phone number. Discord is it.
An open-source MCP server that gives any AI agent a Discord communication channel. Agents ask questions, wait for your reply, and keep working -- from your phone, desktop, wherever.
Human-Agent Loop Over Bot
Documentation . Quickstart . GitHub
The problem
Your agent is three hours into a refactoring task. It hits an ambiguous requirement. It guesses. It picks the wrong interpretation. It builds 400 lines on a bad assumption. You come back, see the mess, and start over.
Claude Code has dispatch. Cursor has its own notification system. Every AI tool reinvents "talk to the human."
halobot is the MCP answer: one Discord server, any agent, zero vendor lock-in.
Without halobot | With halobot |
Agent guesses at ambiguous requirements | Agent asks, you answer, work continues |
You discover mistakes hours later | Respond from your phone, desktop, wherever |
No way to reach you outside the IDE | Works with any MCP client |
Each tool builds its own notification system | One protocol, every agent |
3 AM deploys you didn't approve | Explicit approval gates for critical ops |
Related MCP server: Brainstorm
Quick start
# Install globally
npm install -g @anthony-maio/halobot
# Interactive setup -- walks you through everything
halobot setupThat's it. The setup wizard links you to the Discord Developer Portal, generates the invite URL, collects your IDs, validates everything, and optionally configures Claude Code automatically.
# Check your setup
halobot doctor
# Check setup and send a test message
halobot doctor --testHow it works
+--------------+ STDIO/MCP +------------------+ Discord API +--------------+
| Any Agent |<------------>| halobot |<------------->| Discord |
| (Claude Code,| | MCP Server | create thread | Server |
| Cursor, | 11 MCP | | post message | |
| Codex, | tools | Discord Bot | wait for reply| You |
| custom) | | | | |
+--------------+ +------------------+ +--------------+Agent calls
send_and_wait-- bot creates a Discord thread, pings youYou reply in the thread (phone, desktop, wherever)
Agent gets your response and keeps working
Long messages auto-chunk across Discord's 2000-char limit
MCP tools
High-level -- Thread conversations
Tool | What it does |
| Send a message via a Discord thread. Creates new or continues existing. |
| Poll a thread for the human's reply (configurable timeout). |
| Send + wait in one call. Best for simple Q&A. |
| List all active thread conversations. |
| Fetch full message history from a thread. |
Low-level -- Raw Discord access
Tool | What it does |
| List all servers the bot is in. |
| List text channels in a guild. |
| Send a message to any channel. |
| Read recent messages from the in-memory cache. |
| Fetch paginated message history via API. |
| Poll until a matching message arrives (keyword filter). |
Use cases
Decision points -- Agent hits an ambiguous requirement, asks which approach. You reply "option 2" from your phone.
Approval gates -- Agent reaches a deploy step, waits for your explicit "go" before continuing. No more 3 AM deploys.
Progress updates -- Agent posts status to the thread as it works. You check in when convenient.
Multi-agent coordination -- Multiple agents, each with their own thread, all reaching the same human. You're the hub.
Collaborative debugging -- Agent posts what it tried, asks for your intuition, tries again. Async pair programming.
Configuration
Claude Code (CLI)
claude mcp add halobot \
-e DISCORD_BOT_TOKEN=your-token \
-e DISCORD_CHANNEL_ID=your-channel-id \
-e DISCORD_ALLOWED_USERS=your-user-id \
-- halobotClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"halobot": {
"command": "halobot",
"env": {
"DISCORD_BOT_TOKEN": "your-token",
"DISCORD_CHANNEL_ID": "your-channel-id",
"DISCORD_ALLOWED_USERS": "your-user-id"
}
}
}
}Any MCP client
halobot speaks standard MCP over STDIO. If your client supports MCP, it supports halobot.
Finding IDs: Enable Developer Mode in Discord settings -> right-click channel/user -> Copy ID.
Security
Whitelist enforcement. Thread-based tools only respond to users in
DISCORD_ALLOWED_USERS.Thread isolation. Each agent conversation gets its own thread. No cross-talk.
No inbound commands. The bot doesn't accept arbitrary commands from Discord.
Low-level tools are unrestricted -- they access any channel the bot can see. Use thread-based tools for controlled flows.
Development
# Run tests (no live Discord connection required)
npm test
# Dev mode with hot-reload
npm run dev
# TypeScript watch
npx tsc --watchRoadmap
SSE transport for remote/multi-agent access
File/image attachment support via threads
Reaction-based quick responses
Persistent conversation state across server restarts
Rate limiting per agent
Webhook mode for push-based replies (no polling)
License
ISC
Built by Anthony Maio
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/anthony-maio/halobot'
If you have feedback or need assistance with the MCP directory API, please join our Discord server