Pusher Channels

io.github.CrashBytesPublished by GitHub account CrashBytesv1.0.3Updated Oct 24, 2026

Trigger events, query channels, and manage realtime messaging on Pusher Channels.

Overview

AI-generated overview

Lets an assistant send realtime Pusher Channels events, inspect channels and presence users, and disconnect users.

What you can do
Wraps the Pusher Channels HTTP API as MCP tools. It can trigger a single event to one or more channels, send batches of up to ten events in one call, list active channels with an optional prefix filter, and report subscription or user counts for a channel. It also lists users on a presence channel, generates auth tokens for private or presence channels, and terminates all connections for a given user.
When to use it
Useful when an assistant should push realtime notifications or messages into an app that already uses Pusher Channels, or when you want to inspect channel activity and presence membership conversationally. It fits development and operations workflows around a Pusher-backed app rather than general messaging.
Requirements
Runs locally over stdio as an npm package, so Node.js 18 or later is needed. A Pusher Channels account is required, plus four environment variables from the Pusher dashboard: PUSHER_APP_ID, PUSHER_KEY, PUSHER_SECRET and PUSHER_CLUSTER. Network access to Pusher is required.
Before you install
PUSHER_SECRET is a server-side credential that authorizes publishing events and generating channel auth tokens; anyone with it can act on your Pusher app, so keep it out of shared configs and logs. The server can send events, issue auth tokens, and disconnect users, which are real actions against live channels. It is desktop-only and not available as a web executable.

Installation

In SourceWeft

  1. Open Pusher Channels in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Pusher Channels MCP Server

An MCP (Model Context Protocol) server that gives AI agents the ability to send realtime messages, query channels, and manage users through Pusher Channels.

Tools

ToolDescription
trigger_eventSend an event to one or more channels
trigger_batch_eventsSend up to 10 events in a single API call
list_channelsList active channels with optional prefix filter
get_channel_infoGet subscription/user count for a channel
get_presence_usersList users connected to a presence channel
authorize_channelGenerate auth tokens for private/presence channels
terminate_user_connectionsDisconnect all connections for a user

Prerequisites

Installation

bash
npm install -g @crashbytes/pusher-mcp-server

Or clone and build from source:

bash
git clone https://github.com/CrashBytes/pusher-mcp-server.gitcd pusher-mcp-servernpm installnpm run build

Configuration

You need four environment variables from your Pusher dashboard:

VariableDescription
PUSHER_APP_IDYour Pusher app ID
PUSHER_KEYYour Pusher app key
PUSHER_SECRETYour Pusher app secret
PUSHER_CLUSTERYour Pusher cluster (e.g. us2, eu, ap1)

Usage with Claude Desktop

Add the following to your Claude Desktop config file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

json
{  "mcpServers": {    "pusher": {      "command": "node",      "args": ["/path/to/pusher-mcp-server/build/index.js"],      "env": {        "PUSHER_APP_ID": "your_app_id",        "PUSHER_KEY": "your_app_key",        "PUSHER_SECRET": "your_app_secret",        "PUSHER_CLUSTER": "us2"      }    }  }}

If installed globally via npm:

json
{  "mcpServers": {    "pusher": {      "command": "pusher-mcp-server",      "env": {        "PUSHER_APP_ID": "your_app_id",        "PUSHER_KEY": "your_app_key",        "PUSHER_SECRET": "your_app_secret",        "PUSHER_CLUSTER": "us2"      }    }  }}

Usage with Claude Code

bash
claude mcp add pusher -- node /path/to/pusher-mcp-server/build/index.js

Set the environment variables in your shell before running, or configure them in your Claude Code MCP settings.

Example Prompts

Once configured, you can ask Claude things like:

  • "Send a 'deploy-complete' event to the notifications channel with the message 'v2.1.0 deployed'"
  • "Show me all active presence channels"
  • "How many users are on the presence-lobby channel?"
  • "Disconnect user abc123 from all channels"

Development

bash
npm installnpm run dev          # Run with tsx (hot reload)npm run build        # Compile TypeScriptnpm run type-check   # Check types without emitting

Tutorial

For a step-by-step guide on building this server from scratch, see the full tutorial on CrashBytes.

License

MIT

Source: README.md at commit 711cdc2

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.3LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts