Discord Dot Bridge
Bridges owner-only Discord DMs using the official Discord bot API (Gateway and REST): it verifies owner DMs, routes them through a durable outbox to an existing ChatGPT dot, and posts the dot's explicit reply text back to the original DM. Guilds, group DMs, non-owner authors and bot echoes are blocked, with reconnect/resume and rate-limit handling.
Connects to an existing ChatGPT dot via OpenAI's MCP Events: exposes a version-specific MCP 2026-07-28 Streamable HTTP endpoint with server/discover, tools and signed webhook event callbacks, letting the existing dot provide the reasoning and context and return replies through an OAuth-authenticated discord_reply tool.
Click on "Deploy 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., "@Discord Dot Bridgereply to the latest Discord DM with 'Hello'"
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.
Discord Dot Bridge
An experimental, owner-only Discord bridge to an existing ChatGPT dot. Use a bot DM or explicit bot mentions in one configured private guild text channel. MIT licensed. This project is not affiliated with OpenAI or Discord.
Status: real Discord Gateway/REST, MCP HTTP, OAuth resource-server, and signed webhook adapters are implemented and tested against local mock services. A real ChatGPT account, dot, bot and identity provider have not been tested together. Metadata-only Docker staging is verified; live bridge activation remains pending. There is no claim of verified end-to-end operation with ChatGPT.
Owner DM -> Discord bot Gateway -> verified owner DM -> SQLite outbox
-> signed MCP Events callback -> existing dot subscription
-> OAuth-authenticated discord_reply -> original owner DMThe dot supplies the reasoning and existing context. No separate model API, OpenAI API key, private ChatGPT API, browser scraping, selfbot, or context-export tool is used. Only the explicit reply text returns to Discord.
Quick start: local tests
Python 3.12 is the tested runtime. Create and activate a virtual environment, then:
python -m pip install -r requirements.lock
python -m tests
python -m integration
python -m bridge demotests blocks all sockets and DNS. integration permits loopback only: it runs
real local HTTP and WebSocket mock services, real discord.py parsing/reconnect,
real JWT validation, signed callback verification, and a real MCP HTTP listener.
Keys generated by integration tests are ephemeral and synthetic. No accounts,
working tokens, external messages, or platform grants are needed.
Related MCP server: fluency-discord-mcp
Implemented
Official Discord bot API through
discord.py: DM intent (4096) by default; opt-in guild mention mode uses Guilds + Guild Messages (513), never the privileged Message Content intent. Identity, exact destination and fresh channel checks reject other guilds/channels, group DMs, threads, non-owner authors and bot echoes.Version-specific MCP 2026-07-28 Streamable HTTP JSON responses: stateless POST
/mcp, required metadata/header validation,server/discover, tools and webhook events. Legacyinitialize, polling and streaming events are not supported.OAuth resource-server verification using PyJWT: RS256 signatures, pinned public JWKS file, exact issuer/audience/subject, expiry/not-before and
discord:bridgescope. Protected-resource metadata is exposed for the platform's OAuth discovery. An established external identity provider handles login, consent, PKCE and tokens.Standard Webhooks library signatures, verification challenges, rotation overlap, persistent subscriptions, expiry and idempotent unsubscribe. Event callbacks use public-IP validation, pinned-IP TLS with original Host/SNI, and no redirects/proxies.
Durable inbound deduplication, stable event IDs, bounded retry outbox and fixed reply destinations. Duplicate reply calls do not resend. Discord send uncertainty remains
unknown, requiring reconciliation instead of automatic resend.Strict configuration validation, secure token-file input, loopback-only listener, persistent disable file, bounded serialized worker, and no content/request logs.
Owner-only
/setup,/status,/disconnectcommands, restricted to User Install and the app DM, with private responses and explicit command registration. Discord setup explains their limits.A separate metadata-only setup mode rejects all MCP actions while infrastructure is being prepared, without loading Discord credentials.
Platform prerequisites
OpenAI's MCP Events guide documents support with dots and MCP 2.0. Availability and workspace permissions must still be confirmed for each account. See protocol compatibility.
Discord's Gateway documentation documents DM messages and the DM content exception to Message Content intent. The bridge requests no guild, member, presence or privileged Message Content intent.
Private setup
Follow the setup and live acceptance guide. You need an owner numeric Discord ID, a bot you own, an existing dot with custom MCP Events access, an OAuth identity provider, and an approved HTTPS endpoint or supported tunnel. ChatGPT cannot send a custom static API key; the live adapter uses OAuth. See provider compatibility options; no vendor is required.
Copy config.example.json to ignored config.local.json, replace all synthetic
IDs/hosts and absolute paths, and validate without connecting or reading secrets:
python -m bridge validate-config --config config.local.jsonAfter secure setup and explicit authorization for networking/deployment:
python -m bridge serve --config config.local.json --enable-networkThis starts the real bot and loopback MCP service. An approved HTTPS reverse proxy
must reach the listener. The example is Linux-oriented; use absolute Windows paths
when testing there. The enable file must contain exactly enabled; changing it
disables new actions and event delivery. Never paste credentials into chat or Git.
Docker
docker compose build
docker compose run --rm proof
docker compose run --rm proof python -m integrationThe included Compose file is a network-disabled test harness, not a deployed service. The image contains the real runtime but defaults to the offline demo. It runs non-root with a read-only root, dropped capabilities and temporary state. A production compose/proxy arrangement needs separate review and approval. Dependencies are version-pinned; pin a verified base-image digest for deployment.
Limits
Single owner, bot and callback; one worker; text-only messages up to 2000 characters; 30 accepted messages/minute; 1000 retained records; five event attempts; ten-minute delivery/reply lifetime. Capacity fails closed. No historical replay is advertised. Attachments, edits and reactions are not forwarded. OAuth access-token expiry caps subscriptions, so the platform must refresh them. Local public JWKS rotation is operator-managed. Storage is plaintext under private filesystem permissions.
No lossless delivery or exactly-once guarantee is claimed. See SECURITY.md and validation evidence for remaining operational limits.
License and contributions
MIT. Keep real IDs, secrets, databases, callback URLs and private messages
out of issues, pull requests and fixtures. The CI template uses synthetic data only.
It is supplied at ci/github-actions.yml but is not installed or running:
the publishing credential lacked GitHub's workflow permission. An authorized
maintainer can copy it to .github/workflows/test.yml using suitable access.
Contributions
should preserve the existing-dot design and document any protocol-version changes.
This server cannot be deployed
Maintenance
Related MCP Connectors
- cloziqOAuthcom.cloziq
Create your offers and launch AI Instagram DM sales agents from any MCP client, over OAuth.
Connect any AI agent to 1,000+ apps and 27,000+ actions through one remote MCP server (OAuth).
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Let Claude or ChatGPT search, read and send your WhatsApp messages over MCP. OAuth sign-in.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables interaction with Discord through the Model Context Protocol, providing access to all Discord features like channels, messages, threads, reactions, and roles. Supports secure Discord bot operations with rate limiting, caching, and comprehensive API coverage for OpenAI, LangChain, and other MCP clients.MIT
- FlicenseNot gradedqualityBmaintenanceEnables MCP clients to read, post to, and moderate a Discord server through the Discord REST API, with opt-in guardrails and dry-run safeguards.-
- AlicenseNot gradedqualityAmaintenanceEnables AI clients to read Discord channels, recent messages, and searchable history, then turn that evidence into freshness-aware team context, briefs, decision baselines, and signed checkpoint diffs through remote MCP and GPT Actions. It keeps Discord access read-only while supporting OAuth/Bearer authentication for multiple clients.Apache 2.0

DotBot MCP Serverofficial
AlicenseNot gradedqualityBmaintenanceEnables authenticated MCP clients to control a real Discord bot through 78 typed tools, including messaging, moderation, channel, role, event, and AutoMod operations. Access is restricted by whitelisted triggers, explicit capability scopes, approval IDs for destructive actions, and bounded event polling or verified subscriptions.4 npmMIT