{
  "markdown": "# Pusher Channels MCP Server\n\nAn [MCP (Model Context Protocol)](https://modelcontextprotocol.io) server that gives AI agents the ability to send realtime messages, query channels, and manage users through [Pusher Channels](https://pusher.com/channels).\n\n## Tools\n\n| Tool | Description |\n|------|-------------|\n| `trigger_event` | Send an event to one or more channels |\n| `trigger_batch_events` | Send up to 10 events in a single API call |\n| `list_channels` | List active channels with optional prefix filter |\n| `get_channel_info` | Get subscription/user count for a channel |\n| `get_presence_users` | List users connected to a presence channel |\n| `authorize_channel` | Generate auth tokens for private/presence channels |\n| `terminate_user_connections` | Disconnect all connections for a user |\n\n## Prerequisites\n\n- Node.js 18 or later\n- A [Pusher Channels](https://pusher.com) account (free tier available)\n\n## Installation\n\n```bash\nnpm install -g @crashbytes/pusher-mcp-server\n```\n\nOr clone and build from source:\n\n```bash\ngit clone https://github.com/CrashBytes/pusher-mcp-server.git\ncd pusher-mcp-server\nnpm install\nnpm run build\n```\n\n## Configuration\n\nYou need four environment variables from your [Pusher dashboard](https://dashboard.pusher.com):\n\n| Variable | Description |\n|----------|-------------|\n| `PUSHER_APP_ID` | Your Pusher app ID |\n| `PUSHER_KEY` | Your Pusher app key |\n| `PUSHER_SECRET` | Your Pusher app secret |\n| `PUSHER_CLUSTER` | Your Pusher cluster (e.g. `us2`, `eu`, `ap1`) |\n\n## Usage with Claude Desktop\n\nAdd the following to your Claude Desktop config file:\n\n**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`\n**Windows**: `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"pusher\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/pusher-mcp-server/build/index.js\"],\n      \"env\": {\n        \"PUSHER_APP_ID\": \"your_app_id\",\n        \"PUSHER_KEY\": \"your_app_key\",\n        \"PUSHER_SECRET\": \"your_app_secret\",\n        \"PUSHER_CLUSTER\": \"us2\"\n      }\n    }\n  }\n}\n```\n\nIf installed globally via npm:\n\n```json\n{\n  \"mcpServers\": {\n    \"pusher\": {\n      \"command\": \"pusher-mcp-server\",\n      \"env\": {\n        \"PUSHER_APP_ID\": \"your_app_id\",\n        \"PUSHER_KEY\": \"your_app_key\",\n        \"PUSHER_SECRET\": \"your_app_secret\",\n        \"PUSHER_CLUSTER\": \"us2\"\n      }\n    }\n  }\n}\n```\n\n## Usage with Claude Code\n\n```bash\nclaude mcp add pusher -- node /path/to/pusher-mcp-server/build/index.js\n```\n\nSet the environment variables in your shell before running, or configure them in your Claude Code MCP settings.\n\n## Example Prompts\n\nOnce configured, you can ask Claude things like:\n\n- \"Send a 'deploy-complete' event to the notifications channel with the message 'v2.1.0 deployed'\"\n- \"Show me all active presence channels\"\n- \"How many users are on the presence-lobby channel?\"\n- \"Disconnect user abc123 from all channels\"\n\n## Development\n\n```bash\nnpm install\nnpm run dev          # Run with tsx (hot reload)\nnpm run build        # Compile TypeScript\nnpm run type-check   # Check types without emitting\n```\n\n## Tutorial\n\nFor a step-by-step guide on building this server from scratch, see the full tutorial on [CrashBytes](https://crashbytes.com/tutorials/building-pusher-channels-mcp-server-realtime-ai-2026).\n\n## License\n\nMIT\n",
  "bytes": 3299,
  "sha": "83663a3fb8ff9857a71f8b7a429f26e0013189d5c9490cb2a486415528773887",
  "repo_slug": "crashbytes/pusher-mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_crashbytes_pusher_mcp_server_180590a9/readme"
}