Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Channel Bridge

FreeNot checked

An independent messaging-channel bridge for Claude Code, with Slack Socket Mode adapter; enables Claude to receive and respond to messages via Slack.

GitHubEmbed

About

An independent messaging-channel bridge for Claude Code, with Slack Socket Mode adapter; enables Claude to receive and respond to messages via Slack.

README

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

  • MCP channel capability and inbound Slack notifications
  • Slack reply/react/edit/history/attachment tools
  • 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

from github.com/weyhon/channel-bridge-mcp

Installing Channel Bridge

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/weyhon/channel-bridge-mcp

FAQ

Is Channel Bridge MCP free?

Yes, Channel Bridge MCP is free — one-click install via Unyly at no cost.

Does Channel Bridge need an API key?

No, Channel Bridge runs without API keys or environment variables.

Is Channel Bridge hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Channel Bridge in Claude Desktop, Claude Code or Cursor?

Open Channel Bridge on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Channel Bridge with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All communication MCPs