Sync Slack and Discord
Mirror messages between a Slack channel and a Discord channel. Useful for communities that span both platforms.
Prerequisites
Section titled “Prerequisites”- Slack Bot Token with
channels:history,chat:writescopes - Discord Bot Token with message read/write permissions
- WCP running
1. Register Connections
Section titled “1. Register Connections”# Slackcurl -X POST http://localhost:8000/api/connections \ -H "Content-Type: application/json" \ -d '{ "name": "slack", "command": "npx", "args": ["-y", "@anthropic/mcp-server-slack"], "env": { "SLACK_BOT_TOKEN": "xoxb-..." } }'
# Discordcurl -X POST http://localhost:8000/api/connections \ -H "Content-Type: application/json" \ -d '{ "name": "discord", "command": "npx", "args": ["-y", "@anthropic/mcp-server-discord"], "env": { "DISCORD_BOT_TOKEN": "MTI..." } }'2. Scan & Sync
Section titled “2. Scan & Sync”curl -X POST http://localhost:8000/api/capabilities/scancurl -X POST http://localhost:8000/api/sync/run/await3. Real-Time via WebSocket
Section titled “3. Real-Time via WebSocket”For near-instant message bridging, listen for sync events and re-trigger:
const ws = new WebSocket('ws://localhost:8000/ws');ws.onmessage = (e) => { const event = JSON.parse(e.data); if (event.type === 'sync_complete') { console.log(`Synced ${event.summary.synced} messages`); }};- Set conflict strategy to
source_wins— messages should flow one-way per sync direction - Run sync every minute for near-real-time bridging
- Use the Dashboard to monitor message flow visually