By dickdavis
Channel plugin that bridges Claude Code with a messaging API via WebSocket
This Claude Code plugin provides a channel that bridges Claude Code sessions with a messaging API via WebSocket.
The messaging API source code is available at dickdavis/channel-messenger.
The server reads CHANNEL_MESSENGER_HOST and CHANNEL_MESSENGER_TOKEN from the environment, falling back to ~/.claude/channels/messenger/.env.
Create the .env file:
mkdir -p ~/.claude/channels/messenger
cat > ~/.claude/channels/messenger/.env << 'EOF'
CHANNEL_MESSENGER_HOST=http://localhost:3000
CHANNEL_MESSENGER_TOKEN=your-token-here
EOF
chmod 600 ~/.claude/channels/messenger/.env
Replace the values with your actual API host and token.
Installing from the marketplace is not possible during the research preview.
Clone the repository and install dependencies:
cd /path/to/channel-messenger-plugin
bun install
Export the plugin root so Claude Code can locate the channel:
export CLAUDE_PLUGIN_ROOT=/path/to/channel-messenger-plugin
Register the MCP server globally so it can be loaded from any project:
claude mcp add messenger -s user -- bun run --cwd /path/to/channel-messenger-plugin server.ts
Note: The MCP server maintains a persistent WebSocket connection. If your OS suspends the process when the computer locks or sleeps, the connection will drop. Take measures to prevent this — for example, use tools like tmux with tmuxinator to run
caffeinateon project start:# Runs on project start, always on_project_start: caffeinate -i &
From any project directory:
claude --dangerously-load-development-channels server:messenger
Once enabled, the plugin automatically:
Incoming messages appear as <channel source="messenger"> notifications in your Claude Code session. Claude will see the message content along with metadata like chat_id, message_id, and sender info.
replySend a message back through the messenger channel.
Use the reply tool to respond to the latest message
Parameters:
The plugin supports remote permission handling. When Claude Code needs approval to use a tool, the plugin forwards the permission request to the messaging API over WebSocket. The remote user can then allow or deny the request.
Admin access level
Server config contains admin-level keywords
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub dickdavis/personal-marketplace --plugin channel-messengerClaude Code plugin that assists in building MCP servers using the model-context-protocol-rb gem.
Claude Code plugin for building frontend applications with Svelte, TypeScript, and Bun.
Claude Code plugin for writing effective technical documentation.
Claude Code plugin for building Rails applications.
Productivity skills for Claude powered by Apple Calendar and Reminders.
WeChat (微信) channel for Claude Code — messaging bridge via iLink Bot API with built-in access control.
Matrix channel for Claude Code — two-way messaging bridge with E2EE, access control, and permission relay
Telegram channel for Claude Code — messaging bridge with built-in access control. Manage pairing, allowlists, and policy via /telegram:access.
WeChat channel for Claude Code via iLink Bot API
WeChat channel for Claude Code — bridge WeChat messages into Claude Code sessions via iLink Bot API with media support.
Memory compression system for Claude Code - persist context across sessions