Skip to content

Sync Slack and Discord

Mirror messages between a Slack channel and a Discord channel. Useful for communities that span both platforms.

  • Slack Bot Token with channels:history, chat:write scopes
  • Discord Bot Token with message read/write permissions
  • WCP running
Terminal window
# Slack
curl -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-..." }
}'
# Discord
curl -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..." }
}'
Terminal window
curl -X POST http://localhost:8000/api/capabilities/scan
curl -X POST http://localhost:8000/api/sync/run/await

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