Agent skill

Frontmcp Channels

by agentfront in agentfront/frontmcp

A skill your agent uses when pushing real-time notifications or events into Claude Code (or another MCP client) sessions, or building two-way chat bridges.

Apache-2.0Auto-check passedBackend & APIs

Install Frontmcp Channels

skills CLI
$ npx skills add agentfront/frontmcp --skill frontmcp-channels -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install agentfront/frontmcp frontmcp-channels --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/agentfront/frontmcp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/libs/skills/catalog/frontmcp-channels .claude/skills/frontmcp-channels && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
frontmcp-channels
GitHub stars
146
Token cost
~3.7k tokens
SKILL.md length
980 words
Files
11 (incl. references)
Skills in repo
12
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when pushing real-time notifications or events into Claude Code (or another MCP client) sessions, or building two-way chat bridges.

  • Works in 5 steps: Choose your channel source type from the… → Create a channel class or function → Register it in your app → …
  • Pushing real-time notifications
  • SKILL.md covers When to Use This Skill, Prerequisites, Steps and Scenario Routing Table, plus 6 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Frontmcp Channels is an agent skill from agentfront/frontmcp. Use when pushing real-time notifications or events into Claude Code (or another MCP client) sessions, or building two-way chat bridges. Covers channel source types: incoming webhooks (such as GitHub), app error events, agent-completion and job-completion alerts, service connectors, file watchers, and replay buffers; plus two-way conversational bridges connecting WhatsApp, Telegram, Slack, and Discord to a Claude Code session. Triggers: push notifications, real-time alerts, webhook channel, chat bridge, WhatsApp /…

Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 14 other files, including reference files (for example `examples/channel-sources/agent-notify.md`, `examples/channel-sources/app-errors.md` and `examples/channel-sources/file-watcher.md`).

It sits in Backend & APIs, covering Webhooks and MCP servers. It works with Telegram, WhatsApp, Discord and Slack. The repository describes itself as: TypeScript-first framework for the Model Context Protocol (MCP). You write clean, typed code; FrontMCP handles the protocol, transport, DI, session/auth, and execution flow. The licence is Apache-2.0.

When your agent uses it

  • Pushing real-time notifications
  • Events into Claude Code (or another MCP client) sessions
  • Building two-way chat bridges

Example prompts

  • “/frontmcp-channels”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Choose your channel source type from the Scenario Routing Table
  2. Create a channel class or function
  3. Register it in your app
  4. Enable channels in @FrontMcp config
  5. Test with Claude Code using --dangerously-load-development-channels

What it can do on your machine

Read from SKILL.md and the folder at commit 8f59ba8. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • code.claude.com
    • modelcontextprotocol.io

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Frontmcp Channels loads about 3.7k tokens when it runs, and up to ~7.7k if it reads all its reference files. Until then it costs about 175 tokens; SKILL.md has 980 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~175
When it runs · the whole SKILL.md, loaded when a task matches
~3.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from agentfront/frontmcp at commit 8f59ba8, republished under its Apache-2.0 licence (© agentfront). 980 words, ~3,703 tokens.

Download SKILL.mdSave it as .claude/skills/frontmcp-channels/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.
name
frontmcp-channels
description
Use when pushing real-time notifications or events into Claude Code (or another MCP client) sessions, or building two-way chat bridges. Covers channel source types: incoming webhooks (such as GitHub), app error events, agent-completion and job-completion alerts, service connectors, file watchers, and replay buffers; plus two-way conversational bridges connecting WhatsApp, Telegram, Slack, and Discord to a Claude Code session. Triggers: push notifications, real-time alerts, webhook channel, chat bridge, WhatsApp / Telegram / Slack / Discord, agent completion alert, job status notification, error forwarding, server-to-client messaging. The skill for CHANNELS and NOTIFICATIONS.
when_to_use
Trigger when creating or editing a *.channel.ts file, or building a channel that pushes real-time notifications into a Claude Code session: webhook sources…
paths
**/*.channel.ts
tags
channels, notifications, claude-code, webhooks, messaging, real-time, two-way, whatsapp, telegram, slack, chat-bridge
category
development
targets
all
bundle
full
priority
8
visibility
both
license
Apache-2.0
metadata.docs
https://code.claude.com/docs/en/channels-reference

FrontMCP Channels

Build push-based notification channels that stream real-time events into Claude Code. Channels let your MCP server forward webhooks, application errors, agent completions, job results, and chat messages directly into Claude's context, with optional two-way reply support.

When to Use This Skill

Must Use
  • You need Claude Code to react to external events (CI failures, monitoring alerts, deploy status)
  • You are building a chat bridge (WhatsApp, Telegram, Slack, Discord) for Claude Code
  • You want agents or background jobs to notify Claude Code upon completion
  • You want to forward application errors to Claude for debugging assistance
  • You need a messaging interface where remote users can interact with Claude via chat platforms
Skip When
  • You only need standard MCP resource subscriptions (use @Resource with resources/subscribe)
  • Your client is not Claude Code and does not support experimental['claude/channel']
  • You need request-response patterns (use @Tool instead)

Decision: Use channels when you need server-initiated push notifications into Claude Code. Use resources when the client pulls data on demand.

Prerequisites

  • @frontmcp/sdk >= 1.0.0
  • Basic understanding of @FrontMcp, @App, and @Tool decorators
  • For webhook sources: HTTP transport (not stdio-only)
  • For chat bridges: external API credentials (WhatsApp Business API, Telegram Bot Token, etc.)

Steps

  1. Choose your channel source type from the Scenario Routing Table
  2. Create a channel class or function
  3. Register it in your app
  4. Enable channels in @FrontMcp config
  5. Test with Claude Code using --dangerously-load-development-channels

Scenario Routing Table

ScenarioReferenceDescription
Webhook alerts (CI, monitoring)references/channel-sources.mdForward HTTP webhooks into Claude
Application error forwardingreferences/channel-sources.mdPush app errors via event bus
Agent completion notificationsreferences/channel-sources.mdNotify when agents finish
Job/workflow completionreferences/channel-sources.mdNotify when jobs complete
Service connector (WhatsApp, etc.)references/channel-sources.mdPersistent connection with bidirectional tools
File/log watcherreferences/channel-sources.mdFile system change monitoring
Event replay for offline sessionsreferences/channel-sources.mdBuffer events for later delivery
WhatsApp/Telegram chat bridgereferences/channel-two-way.mdTwo-way messaging with Claude
Slack/Discord integrationreferences/channel-two-way.mdChat platform bridges
Permission relayreferences/channel-two-way.mdRemote tool approval via chat

Common Patterns

PatternCorrectIncorrectWhy
Meta keysmeta: { env: 'prod' }meta: { 'my-env': 'prod' }Meta keys must be valid identifiers (letters, digits, underscores)
Source namingname: 'deploy-alerts'name: 'Deploy Alerts!'Channel names should be kebab-case identifiers
Two-way gatingCheck sender identity before emittingTrust room/group membershipPrevent prompt injection from untrusted group members
Error channelsUse app-event source with event busPoll for errors in a loopEvent bus is push-based and efficient
Manual pushawait scope.channelNotifications?.send()sendToSubscribedSessions() for a regular pushsend() runs the hookable channels:send-notification flow (defaultMeta, channel meta, hooks); the sendTo* methods deliver directly

Verification Checklist

Server Setup
  • @FrontMcp({ channels: { enabled: true } }) is set
  • Channel classes extend ChannelContext with @Channel() decorator
  • Channels are listed in @App({ channels: [...] }); a channel and the tools in its tools resolve its app's providers with this.get(), and one whose availableWhen the runtime doesn't meet is left out at startup
  • onEvent() returns { content: string, meta?: Record<string, string> }
Capability
  • Server advertises experimental: { 'claude/channel': {} } in capabilities
  • Only sessions with matching capability receive notifications
  • An MCP 2026-07-28 client (no session) gets them on a subscriptions/listen stream whose request's client capabilities include experimental['claude/channel']: the global notifications of the channels channels:list returns; its server/discover advertises experimental['claude/channel'] and the <channel> instructions, as initialize does
  • instructions field mentions <channel> tags when channels are active
Two-Way
  • twoWay: true is set on channels that need replies
  • channel-reply tool appears in tool list
  • onReply() is implemented and forwards to external system (if it throws, channel-reply answers an error result)
  • Sender authentication is enforced before emitting events
Show full SKILL.md (403 more words)Show less
Sources
  • Webhook endpoints return 200 on success
  • Event bus subscriptions are cleaned up on scope teardown, and service channels get onDisconnect() on shutdown and on dispose()
  • Agent/job completion filters match expected IDs

Troubleshooting

ProblemCauseSolution
No notifications arriveClient doesn't support channelsCheck client capabilities include experimental['claude/channel']
channel-reply tool missingNo two-way channels registeredSet twoWay: true on at least one channel
Webhook returns 500onEvent() throwsCheck channel handler error logs
A notification never arrivesA ChannelSendHook stopped it, or ChannelListHook left the channel out of the session's subscriptionsCheck plugins hooking channels:send-notification / channels:list
Duplicate notificationsMultiple sessions subscribedThis is correct behavior -- each session gets its own copy
Events lost on reconnectChannels are in-memoryChannel state resets on server restart; use persistent sources

Examples

Each reference has matching examples under examples/<reference>/:

channel-sources
ExampleLevelDescription
webhook-githubBasicForward GitHub webhook events (PRs, pushes, CI) into Claude Code
app-errorsBasicForward application errors to Claude Code via the in-process event bus
agent-notifyIntermediateNotify Claude Code when AI agents complete their tasks
job-completionIntermediateNotify Claude Code when background jobs and workflows complete
service-connectorAdvancedBuild a persistent service connector that lets Claude send and receive messages through WhatsApp, Telegram, or any messaging API
file-watcherIntermediateWatch files for changes and notify Claude Code in real-time
replay-bufferAdvancedBuffer channel events so Claude Code receives them when it connects, even if events occurred while offline
channel-two-way
ExampleLevelDescription
whatsapp-bridgeAdvancedFull WhatsApp Business API bridge allowing users to chat with Claude Code via WhatsApp

Accessing This Skill

Skills are distributed as plain SKILL.md files plus a sibling references/ and examples/ tree, so consumers can pick whichever access mode fits:

ModeHow it works
FilesystemRead libs/skills/catalog/frontmcp-channels/ directly from a clone of the catalog repo, or from a published @frontmcp/skills install. SKILL.md is the entry point.
frontmcp CLIfrontmcp skills list, frontmcp skills read frontmcp-channels, frontmcp skills read frontmcp-channels:references/<file>.md, frontmcp skills install frontmcp-channels — no server required.
MCP skill://When a developer mounts this skill into their own FrontMCP server (@FrontMcp({ skills: [...] })), the SDK exposes it via SEP-2640 resources: skill://frontmcp-channels/SKILL.md, skill://frontmcp-channels/references/{file}.md, etc. The server’s skill://index.json returns the SEP-2640 discovery document for everything mounted on it.

The catalog itself is not an MCP server. The skill:// URIs only resolve when a server has been configured to host this skill.

Reference

© agentfront, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 10 other files (references) in libs/skills/catalog/frontmcp-channels of agentfront/frontmcp.

  • SKILL.md
  • examples/channel-sources/agent-notify.md
  • examples/channel-sources/app-errors.md
  • examples/channel-sources/file-watcher.md
  • examples/channel-sources/job-completion.md
  • examples/channel-sources/replay-buffer.md
  • examples/channel-sources/service-connector.md
  • examples/channel-sources/webhook-github.md
  • examples/channel-two-way/whatsapp-bridge.md
  • references/channel-sources.md
  • references/channel-two-way.md

Open the folder on GitHubat commit 8f59ba8

Compare with similar skills

Frontmcp Channels next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Frontmcp Channels compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Frontmcp Channels this skillagentfront/frontmcp146—~3.7kAutomated safety check: PassApache-2.0
Better Notifybetter-notify/better-notify313—~783Automated safety check: PassMIT
Channel Debug Corevercel-labs/vercel-openclaw-archived117—~2kAutomated safety check: NotesMIT
Chat SDKdatabuddy-analytics/Databuddy1.2k—~2.6kAutomated safety check: PassAGPL-3.0
Hitl ProtocolLeoYeAI/openclaw-master-skills2.2k—~5.3kAutomated safety check: PassApache-2.0
Add Channel Connect Buttonnovuhq/novu40k—~1.6kAutomated safety check: PassCustom licence

Similar skills

  • Better Notify

    better-notify/better-notify

    End-to-end typed notification infrastructure for Node.js — typed catalog of email, SMS, push, web push, WhatsApp, Slack, Discord, Telegram, and GitHub notifications with provider-agnostic transports.

    313 GitHub stars~783 tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • Channel Debug Core

    vercel-labs/vercel-openclaw-archived

    Official

    Channel webhook triage for vercel-openclaw Slack/Telegram/Discord/WhatsApp issues: prove deployment state, collect admin readiness endpoints, build evidence-first handoff before fixes.

    117 GitHub stars~2k tokensUpdated 4 mo ago
    Backend & APIsAuto-check: notes
  • Chat SDK

    databuddy-analytics/Databuddy

    Build multi-platform chat bots with Chat SDK (chat npm package).

    1.2k GitHub stars~2.6k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Hitl Protocol

    LeoYeAI/openclaw-master-skills

    HITL Protocol — the open standard for human decisions in autonomous agent workflows.

    2.2k GitHub stars~5.3k tokensUpdated 2 mo ago
    Agent WorkflowsAuto-check passed
  • Build a new channel Connect button (e.g. An agent skill from novuhq/novu.

    40k GitHub stars~1.6k tokensUpdated today
    Backend & APIsAuto-check passed
  • Chat SDK Bots

    lobehub/lobehub

    Builds chat bots once for Slack, Teams, Google Chat, Discord, GitHub and Linear with the Chat SDK, covering event handlers, cards, modals, streaming and state adapters.

    83k GitHub stars~1.5k tokensUpdated today
    Backend & APIsAuto-check passed

More from agentfront/frontmcp

All 12 skills in this repo
  • Frontmcp Auth UI

    agentfront/frontmcp

    A skill your agent uses when customizing, branding, or replacing the built-in FrontMCP OAuth pages (the login, consent, federated-select, incremental-authorization, and error pages) with your own…

    146 GitHub stars~3.7k tokensUpdated yesterday
    Auto-check passed
  • Frontmcp Extensibility

    agentfront/frontmcp

    A skill your agent uses when extending FrontMCP beyond the core SDK by integrating external npm packages, libraries, or third-party services into providers and tools.

    146 GitHub stars~3.2k tokensUpdated yesterday
    Auto-check passed
  • Frontmcp Observability

    agentfront/frontmcp

    A skill your agent uses when adding tracing, structured logging, metrics, or monitoring to a FrontMCP server.

    146 GitHub stars~4.6k tokensUpdated yesterday
    Auto-check passed
  • Frontmcp Authorities

    agentfront/frontmcp

    A skill your agent uses when implementing authorization and access control for FrontMCP tools, resources, prompts, or skills, deciding who may invoke what.

    146 GitHub stars~7.1k tokensUpdated yesterday
    Auto-check passed
  • Frontmcp Config

    agentfront/frontmcp

    A skill your agent uses when configuring a FrontMCP server through frontmcp.config or the @FrontMcp options.

    146 GitHub stars~7k tokensUpdated yesterday
    Auto-check passed
  • Frontmcp Deployment

    agentfront/frontmcp

    A skill your agent uses when deploying, building for production, packaging, or shipping a FrontMCP server.

    146 GitHub stars~9.2k tokensUpdated yesterday
    Auto-check: notes

Categories

Questions about Frontmcp Channels

What does Frontmcp Channels do?

A skill your agent uses when pushing real-time notifications or events into Claude Code (or another MCP client) sessions, or building two-way chat bridges. Frontmcp Channels is an agent skill from agentfront/frontmcp. Use when pushing real-time notifications or events into Claude Code (or another MCP client) sessions, or building two-way chat bridges.

When should I use Frontmcp Channels?

Frontmcp Channels fits situations like: pushing real-time notifications; events into Claude Code (or another MCP client) sessions; building two-way chat bridges.

How do I install Frontmcp Channels in Claude Code?

Run `npx skills add agentfront/frontmcp --skill frontmcp-channels -a claude-code`. Or copy the skill folder (libs/skills/catalog/frontmcp-channels in agentfront/frontmcp) into .claude/skills/frontmcp-channels in your project. Claude Code loads it when a task matches its description.

How do I install Frontmcp Channels in Codex?

Run `npx skills add agentfront/frontmcp --skill frontmcp-channels -a codex`. Or copy the skill folder (libs/skills/catalog/frontmcp-channels in agentfront/frontmcp) into .agents/skills/frontmcp-channels in your project. Codex loads it when a task matches its description.

Can I use Frontmcp Channels in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add agentfront/frontmcp --skill frontmcp-channels -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/frontmcp-channels, .gemini/skills/frontmcp-channels, .github/skills/frontmcp-channels and .opencode/skills/frontmcp-channels in your project.

What does Frontmcp Channels need to run?

SKILL.md names no scripts, command-line tools or credentials: Frontmcp Channels is instructions for the agent only.

Does Frontmcp Channels access the network?

SKILL.md names 2 domains. As links in the text: code.claude.com and modelcontextprotocol.io. This is read from the text; nothing was executed.

Is Frontmcp Channels safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Frontmcp Channels use?

Frontmcp Channels is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Frontmcp Channels use?

About 3.7k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4k tokens, read only when the agent opens those files.

What are the alternatives to Frontmcp Channels?

Skills that share tags, products or a category with Frontmcp Channels: Better Notify (better-notify/better-notify, 313 stars), Channel Debug Core (vercel-labs/vercel-openclaw-archived, 117 stars), Chat SDK (databuddy-analytics/Databuddy, 1.2k stars) and Hitl Protocol (LeoYeAI/openclaw-master-skills, 2.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Frontmcp Channels?

agentfront (a GitHub organization) maintains it in agentfront/frontmcp, which has 146 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 7, 2026.

Source: agentfront/frontmcp on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.