Betterdiscord
БесплатноНе проверенBetterDiscord ↔ MCP bridge: let Claude collect data from Discord servers
Описание
BetterDiscord ↔ MCP bridge: let Claude collect data from Discord servers
README
An MCP server that lets an AI agent (like Claude) read data from Discord servers through your own account. It pairs with a BetterDiscord plugin, so the Python side never handles your token — data is read straight from the already-authenticated Discord client.
Claude ──stdio──> Python MCP ──WebSocket──> BetterDiscord plugin ──> Discord
⚠️ Disclaimer — read this first
This is a self-bot tool. Automating a personal Discord account and modifying the client (BetterDiscord) violate the Discord Terms of Service and can get your account banned.
- Use it only on your own account and at your own risk.
- The authors take no responsibility for banned accounts or any other consequences.
- Reading already-loaded client data is quieter than a raw HTTP self-bot, but the risk is not zero. Make requests infrequently and in small batches.
- Do not use it to collect, redistribute, or publish other people's private data. Respect the privacy of the servers you are in.
If you are not comfortable with these terms, use an official Discord bot via the Developer Portal instead.
Requirements
- Python 3.10+
- uv (package/runtime manager)
- BetterDiscord installed
- An MCP-capable client (Claude Desktop or Claude Code)
Install
1. Python server (via uv):
git clone https://github.com/encryrose/betterdiscord-mcp.git
cd betterdiscord-mcp
uv sync
2. BetterDiscord plugin:
- Copy
plugin/DiscordMcpBridge.plugin.jsinto your BD plugins folder:- Windows:
%AppData%\BetterDiscord\plugins\ - macOS:
~/Library/Application Support/BetterDiscord/plugins/ - Linux:
~/.config/BetterDiscord/plugins/
- Windows:
- In Discord: Settings → Plugins → enable DiscordMcpBridge.
- Make sure
BRIDGE_PORTat the top of the plugin matches your.env(default8787).
3. Register the MCP server with your client:
Claude Code (CLI):
claude mcp add discord -- uv --directory /path/to/betterdiscord-mcp run discord-mcp
Claude Desktop — add to claude_desktop_config.json:
{
"mcpServers": {
"discord": {
"command": "uv",
"args": ["--directory", "/path/to/betterdiscord-mcp", "run", "discord-mcp"]
}
}
}
Replace /path/to/betterdiscord-mcp with the absolute path where you cloned the
repo. If uv is not on your client's PATH, use the full path to the uv
executable in command.
How it works
- On start, the MCP server opens a WebSocket bridge on
127.0.0.1:8787. - The plugin inside Discord connects to the bridge (you'll see a "bridge connected" toast).
- The agent calls tools; the plugin reads Discord's internal Flux stores and returns the data.
No token is ever sent to the Python side — the plugin runs inside your already-authenticated client.
Tools
| Tool | Purpose |
|---|---|
bridge_status |
Check whether the plugin is connected |
ping |
Lightweight health check: plugin version + resolved-module map |
diagnostics |
Show which internal Discord modules resolved (debugging) |
list_guilds |
List servers the client can see |
list_channels |
List a server's text channels |
get_messages |
Read a channel's history (paginate with before; filter by author_id / after; humanize resolves mentions) |
search_messages |
Native Discord search across a server |
search_local |
Offline full-text search (SQLite FTS5) over exports/*.json |
get_message_by_link |
Fetch a single message from a Discord message link |
get_reactions |
List users who reacted to a message with a given emoji |
list_dms |
List the account's direct and group DMs |
list_threads |
List threads or forum posts (loads uncached forum posts; includes first_message) |
list_threads_paginated |
Paginated threads/forum posts (offset/limit, returns {threads, hasMore, total}) |
read_thread |
Read a thread / forum post's messages in chronological order |
get_pins |
List a channel's or thread's pinned messages |
get_channel_info |
Metadata for a channel or thread |
get_guild_info |
Guild metadata: roles, channels, member count, features, boost tier |
resolve_id |
Classify any snowflake as guild/channel/thread/user/message |
list_members |
Members currently known to the client (resolve_role_names adds role names) |
get_roles |
List a guild's roles (id, name, color, position, permissions) |
get_user_info |
Look up a user by id |
export_channel |
Dump a channel's history to exports/*.json |
export_attachments |
Download a channel's attachments to exports/ with a manifest |
download_attachment |
Download a single Discord CDN attachment to exports/ |
channel_stats |
Offline analytics from a channel export (per-user, timeline, reply graph) |
Typical flow
Start with bridge_status. If connected: list_guilds → list_channels
→ get_messages / search_messages / export_channel.
Troubleshooting
- "Plugin not connected" — Is Discord running? Is the plugin enabled?
Do the ports match in
.envand the plugin? - "Module not found" / "is not a function" — Discord updated and the
Webpack selectors in
_resolveModules()drifted. Rundiagnosticsto see what resolved, then fix the module filters. - Empty history — Scroll the channel manually once so the client loads messages, then retry.
Development
Install the project together with its dev tooling (pytest, pytest-asyncio, ruff):
uv sync --group dev
Run the test suite:
uv run pytest
Lint the code:
uv run ruff check .
The tests live in tests/ and exercise the WebSocket bridge
(discord_mcp.bridge.Bridge) directly: they start the server on an unusual
port, connect a fake plugin with the websockets client, and assert that a
JSON-RPC round-trip returns the expected result. No real Discord client is
needed.
Registering with Claude Code
Once installed, register the server with Claude Code:
claude mcp add discord -- uv --directory /path/to/betterdiscord-mcp run discord-mcp
Replace /path/to/betterdiscord-mcp with the absolute path to your clone.
Continuous integration
GitHub Actions (.github/workflows/ci.yml) runs on every push and pull
request with two jobs:
- python — installs uv, runs
uv sync --group dev, thenuv run ruff check .anduv run pytest -q. - plugin-syntax — validates the BetterDiscord plugin with
node --check plugin/DiscordMcpBridge.plugin.js.
Screenshots
TODO: add a short GIF of the agent reading a channel.
License
MIT — see LICENSE. Provided as-is, with no warranty. Using this software is your responsibility.
Установка Betterdiscord
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/encryrose/betterdiscord-mcpFAQ
Betterdiscord MCP бесплатный?
Да, Betterdiscord MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Betterdiscord?
Нет, Betterdiscord работает без API-ключей и переменных окружения.
Betterdiscord — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Betterdiscord в Claude Desktop, Claude Code или Cursor?
Открой Betterdiscord на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Gmail
Read, send and search emails from Claude
автор: GoogleSlack
Send, search and summarize Slack messages
автор: SlackRunbear
No-code MCP client for team chat platforms, such as Slack, Microsoft Teams, and Discord.
Discord Server
A community discord server dedicated to MCP by [Frank Fiegel](https://github.com/punkpeye)
Klavis AI
Open Source MCP Infra. Hosted MCP servers and MCP clients on Slack and Discord.
Work90210/APIFold
Turn any REST API into a hosted MCP server, with ready-made public servers for GitHub, Stripe, Slack, OpenAI, Notion and more.
автор: Work90210arikusi/deepseek-mcp-server
DeepSeek AI chat and reasoning with multi-turn sessions, function calling, thinking mode and cost tracking.
автор: arikusihashgraph-online/hashnet-mcp-js
Discover, register and chat with AI agents on the Hashgraph network via the Registry Broker.
автор: hashgraph-onlineprofullstack/mcp-server
Developer utilities: SEO optimization, document conversion, domain lookup, email validation, QR codes, weather data, social media posting and security scanning.
автор: profullstackWayStation-ai/mcp
Connect MCP hosts to apps such as Notion, Slack, Monday and Airtable.
автор: waystation-aiCompare Betterdiscord with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории communication
