Pusher Channels

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

OtherTypeScriptv1.0.3

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

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

Or clone and build from source:

git clone https://github.com/CrashBytes/pusher-mcp-server.git
cd pusher-mcp-server
npm install
npm 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

{
  "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:

{
  "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

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

npm install
npm run dev          # Run with tsx (hot reload)
npm run build        # Compile TypeScript
npm 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

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y @crashbytes/pusher-mcp-server

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-crashbytes-pusher-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@crashbytes/pusher-mcp-server"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

@crashbytes/pusher-mcp-servernpm

Compatible MCP Clients

Pusher Channels works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More