Channel Bridge MCP

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.

Category
Visit Server

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:read
  • channels:history
  • chat:write
  • files:read
  • reactions:read
  • reactions:write
  • users:read

Bot events:

  • app_mention
  • message.channels
  • message.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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured