Channel Bridge MCP
An independent messaging-channel bridge for Claude Code, with Slack Socket Mode adapter; enables Claude to receive and respond to messages via Slack.
README
Channel Bridge MCP
An independent messaging-channel bridge for Claude Code, built on MCP. The first adapter is Slack Socket Mode; Discord, Telegram, and Lark adapters are planned behind the same channel interface.
Architecture
Slack Events API (Socket Mode)
|
v
Access policy + thread gate
|
v
notifications/claude/channel ---> Claude Code
^ |
| v
Slack Web API <--------- MCP tools
This is a channel MCP server, not a model proxy. Inbound messages are emitted
with the experimental claude/channel capability. Outbound actions are MCP
tools: reply, react, edit_message, fetch_messages, and
download_attachment.
Current behavior
- Only allowlisted Slack users and channels can trigger the bridge.
- A top-level channel message must mention the bot by default.
- Follow-up messages inside a thread started with the bot do not need another mention.
- Direct messages are accepted only from allowlisted users.
- Attachment metadata is delivered immediately; bytes are downloaded only
when Claude calls
download_attachment. - Tokens and runtime state stay outside the repository.
Slack application
Create a Slack app with Socket Mode enabled.
Bot scopes:
app_mentions:readchannels:historychat:writefiles:readreactions:readreactions:writeusers:read
Bot events:
app_mentionmessage.channelsmessage.im
Create an App-Level Token with connections:write.
Install
npm install
npm run build
Create the state directory:
mkdir -p ~/.claude/channels/channel-bridge
chmod 700 ~/.claude/channels/channel-bridge
Create ~/.claude/channels/channel-bridge/.env:
SLACK_BOT_TOKEN=xoxb-REPLACE_ME
SLACK_APP_TOKEN=xapp-REPLACE_ME
Then protect it:
chmod 600 ~/.claude/channels/channel-bridge/.env
Copy config/access.example.json to
~/.claude/channels/channel-bridge/access.json, replace the sample Slack IDs,
and set mode 600.
Run with Claude Code
For local development, add this repository as a Claude Code plugin or register
its .mcp.json, then launch Claude Code with the channel enabled:
claude --channels plugin:channel-bridge@your-marketplace
The exact install command depends on the marketplace/repository publishing
method. During development, npm run dev can validate Slack connectivity and
npm test validates the access gate.
Roadmap
- [x] MCP channel capability and inbound Slack notifications
- [x] Slack reply/react/edit/history/attachment tools
- [x] Allowlist and mention/thread policy
- [ ] Pairing command and runtime access management
- [ ] Permission-request buttons from phone
- [ ] Discord adapter
- [ ] Telegram adapter
- [ ] Lark/Feishu adapter
- [ ] Adapter contract and conformance test suite
- [ ] Installable Claude Code marketplace package
Security
Never commit .env, bot tokens, downloaded attachments, or runtime state.
Use a dedicated low-privilege bot for development. The bridge enforces both a
user allowlist and a channel allowlist before delivering content to Claude.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.