Version0.3.9Verifiednot yet verifiedLicenseBSD-3-Clause

courier

Chat and notification channel server for Claude Code sessions

Report a bug or suggest a feature
Readme

Courier

Chat and notification channel server for Claude Code sessions, built with Sigil.

Courier bridges Telegram messages into a running Claude Code session via the MCP channel protocol and provides tools for sending replies and desktop notifications.

Installation

sigil app install codeberg:sigil/courier \
  --env COURIER_TELEGRAM_TOKEN=<bot-token> \
  --env COURIER_TELEGRAM_CHAT_ID=<chat-id>

Configuration

Telegram credentials via environment (.env-courier):

COURIER_TELEGRAM_TOKEN=<bot-token-from-botfather>
COURIER_TELEGRAM_CHAT_ID=<chat-id-for-replies>

Sender allowlist via courier.yaml (optional — all senders allowed if omitted):

allowed-senders:
  - "123456789"

Telegram Setup

  1. Create a bot via @BotFather in Telegram
  2. Copy the bot token
  3. Send a message to your bot to establish a chat
  4. Get your chat ID (send /start to your bot, then check https://api.telegram.org/bot<TOKEN>/getUpdates)

Running

Courier is designed to be spawned by Claude Code as a channel MCP server:

claude --channels server:courier

Register in .mcp.json:

Read the rest
{
  "mcpServers": {
    "courier": {
      "command": "./build/dev/bin/courier",
      "env": {}
    }
  }
}

MCP Tools

ToolDescription
send-messageSend a message via Telegram
send-notificationSend a desktop notification via notify-send

Building

sigil deps install
sigil build

A C toolchain is required. On Guix: guix shell -m ../sigil/manifest.scm

License

BSD-3-Clause

Clone

$ git clone https://codeberg.org/sigil/courier

Releases

v0.3.9 — latest by version, released 14 Jul 2026

All releases — 15 tags in this repository.

Source

Browse the latest source

One page per file, and every line has a permalink.

Recent commitsAtom

The last 20 commits keep a page here. Everything older lives in the clone.