ConnectDuet
Bridges allowlisted Discord channel messages into ConnectDuet mailboxes and sends explicit agent replies back to Discord using a configured bot and channel/sender allowlists.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
ConnectDuet
Let one AI session coordinate the others.
ConnectDuet gives Claude, Codex, and other MCP clients tools to delegate work, message peers, receive replies, and acknowledge receipt. Connect it to a compatible native session router to use that router's existing Claude frontend routes and direct Codex turn steering. Or use standalone local mailboxes with an optional Discord bridge.
Native router mode requires an existing compatible router. This package supplies the client and MCP interface; it does not bundle private desktop connectors or automatically attach to your open Claude/Codex windows. Native bridge setup and protocol.
Built from the idea behind a working personal Discord router, rewritten for a clean, portable release. No hosted ConnectDuet account, model API key, or Discord account is needed to try the demo. Your agent subscriptions remain separate.

Conceptual overview of configured native routes; not a recording of live delivery. Static diagram · 12-second video · OpenDemo source.
Install
Install Node.js 24 or later, then run:
npm install --global https://github.com/yasirwhite/ConnectDuet/releases/download/v0.2.0/connectduet-0.2.0.tgzRelated MCP server: backchannel
Connect your native router
Use the private connection file issued by your router operator:
connectduet router-peers --connection /private/path/router-manager.json
connectduet router-connect --connection /private/path/router-manager.json --client claude --sessionRun the printed Claude launch command, then ask it to list agents and delegate a focused task. Native routes are selected by the router's allowlist. The router submits through the selected session's existing transport—such as Codex turn steering or Claude frontend input—without an intermediate Discord post. The peer inbox supplies source/reply metadata; it is not a polling requirement for native delivery. For a Codex caller, use --client codex --install with its own connection file. See router bridge instructions for identity scope and retry behavior.
Try standalone mailboxes
No native router is needed for this fallback:
connectduet demo
connectduet setup --localThe demo exchanges synthetic messages between two mailboxes without launching a model. Local setup creates claude and codex mailboxes in your private ConnectDuet home.
Generate a launch configuration for Claude and register the Codex mailbox:
connectduet connect --client claude --agent claude --session
connectduet connect --client codex --agent codex --install
connectduet doctorRun the printed Claude launch command from your project directory; it loads only that session's mailbox MCP configuration. Restart or reload Codex so it sees the registered MCP server. Ask Claude: “Use ConnectDuet to send codex a message asking it to review my plan.” Ask Codex: “Check my ConnectDuet inbox and reply to Claude.” Acknowledge a message once it has been handled. The tools preserve it until then.
Omit --install to print a persistent registration command for review. Claude persistent registration defaults to the current project (--scope local); --session avoids changing client registration and supports two identities in the same project. Each mailbox should have one consuming agent session. Add more named mailboxes with connectduet agent add --id reviewer. See integration instructions for multiple sessions and other MCP clients.
Prefer a download?
Download the source ZIP, extract it, and open Start-ConnectDuet.cmd on Windows. On macOS or Linux, run sh start-connectduet.sh in the extracted folder. The launchers install project dependencies and open guided setup for standalone mailboxes. Native bridge users additionally need their compatible router and issued connection file. Node must already be installed; the first dependency download needs internet access. This is a guided install, not a zero-configuration promise.
For development:
git clone https://github.com/yasirwhite/ConnectDuet.git
cd ConnectDuet
npm ci
npm test
npm run demo
npm run setupDelivery modes
Mode | What happens | Requirements |
Native router bridge | Delegates through configured native routes, including Claude frontend delivery and direct Codex steering when the router supports them | Compatible local Peer API v1 router, scoped credential, configured target sessions; bridge guide |
Standard MCP | Agent checks its inbox through tools | MCP-capable client; no router daemon for local messages |
Claude Code Channels | Pushes a notification into a running Claude Code session | Opt-in research preview; setup and restrictions |
Managed Codex runner | Processes incoming messages in its own Codex thread | Experimental; installed/authenticated Codex CLI; runner guide |
Discord | Routes allowlisted messages into mailboxes and sends explicit replies | Your own bot, Message Content Intent, configured channel and sender allowlists |
Standard mailbox MCP does not wake an idle Codex session. The managed runner creates its own conversation; it does not take over an existing Codex Desktop chat. Native-router mode instead uses the existing router's configured session transport. A queued message or submitted notification is not proof that a model read it. An explicit acknowledgement is tracked separately.
Add Discord
Run connectduet setup on a fresh install and choose Discord. If you already used local setup, connectduet setup --force replaces its configuration; retain any custom mailbox names you want to keep. The wizard validates your bot token, generates its invite link, lists your servers and text channels, and asks which human user IDs may send messages.
connectduet startKeep that terminal running for Discord routing. Message the configured channel, then ask the destination agent to read its inbox and reply. Ordinary agent chat output is not automatically posted: use the reply/send tools. Discord bot senders are denied unless explicitly allowlisted. Mentions are suppressed on outgoing messages.
Tokens are entered without displaying them and stored outside the repository, or supplied through CONNECTDUET_DISCORD_TOKEN. Do not paste tokens into command arguments, issues, or chat. Attachments are not downloaded or executed; this first release is a text bridge. See security and delivery limits.
Useful commands
connectduet send --from claude --to codex --text "Please review the plan"
connectduet inbox --agent codex
connectduet ack --agent codex --id MESSAGE_ID
connectduet connect --client claude --agent claude --channel
connectduet codex-run --agent codex --cwd /path/to/projectUse connectduet --help for options. --home PATH or CONNECTDUET_HOME selects a separate mailbox installation. Default state is under ~/.connectduet. Local state and credentials never belong in Git.
What is tested
Automated tests exercise temporary mailboxes, authenticated router API calls, idempotent retries, source attribution, mocked Discord transport, MCP over stdio, setup, and the managed runner protocol. Native bridge tests use a mock HTTP router; they do not establish live desktop delivery. No test sends a real Discord message or spends model credits. The repository includes Windows, macOS, and Linux CI. Real agent/channel behavior depends on client versions, authentication, preview access, and the router's native transports.
See setup improvements, release notes, and the short launch plan with manual post drafts. MIT licensed. Not affiliated with Anthropic, OpenAI, or Discord.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Shared memory and mail for your AI agents. Verified with Claude Code; other MCP clients in testing.
Email inboxes for AI agents: send, receive, reply, search, and manage threaded email over MCP.
Email infrastructure for AI agents — send, receive, search, and reply to email over MCP.
Hosted email for AI agents: create inboxes, send, receive, and reply over MCP with scoped API keys
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables networked Claude-to-Claude messaging over HTTP and MCP channels, allowing direct messages, broadcasts, threaded replies, and permission approvals among Claude Code instances.23MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for async messaging between AI coding agents, enabling cross-harness and cross-machine communication with Slack-like semantics and mail-shaped delivery.2MIT
- AlicenseNot gradedqualityBmaintenanceEnables local agent-to-agent messaging between Claude Code sessions via file-based channels, with a registry, MCP tools and CLI for sending, reading, and tracking messages.3MIT
- AlicenseNot gradedqualityBmaintenanceEnables local messaging between Claude Code and Codex agents with durable delivery, peer discovery, and reply tracking.1MIT