Skip to main content
FrontMCP Channels let your MCP server push real-time events directly into Claude Code. Unlike resources (which are pulled by the client), channels are server-initiated — your server decides when to send notifications based on external triggers.

What Channels Enable

  • Webhook forwarding — CI/CD pipelines, GitHub events, monitoring alerts stream into Claude’s context automatically
  • Chat bridges — WhatsApp, Telegram, Slack users can message Claude Code and receive replies
  • Error monitoring — Application errors pushed to Claude for immediate debugging assistance
  • Agent/Job completion — Background AI agents and jobs notify Claude when they finish
  • Event bus — Any in-process event can trigger a channel notification

How It Works

  1. An event arrives from a source (webhook HTTP POST, event bus, agent emitter, or manual push)
  2. The channel’s onEvent() transforms the payload into a { content, meta } notification
  3. ChannelNotificationService sends notifications/claude/channel to all capable sessions
  4. Claude sees the event as <channel source="..." ...meta>content</channel> in its context
  5. For two-way channels, Claude can reply using the auto-registered channel-reply tool

Declarative Definition

Channels use the same decorator pattern as tools, resources, and prompts:

Seven Source Types

Capability-Based Delivery

Channel notifications are only sent to MCP sessions that advertise experimental: { 'claude/channel': {} } in their capabilities. Non-Claude Code clients (Cursor, Cody, generic MCP) are automatically filtered out — no errors, no wasted bandwidth.

Learn More

Channels Guide

Full channels documentation with all source types and examples

@Channel API

Decorator reference and configuration options