courier
Chat and notification channel server for Claude Code sessions
❦Report a bug or suggest a featureCourier
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
- Create a bot via @BotFather in Telegram
- Copy the bot token
- Send a message to your bot to establish a chat
- Get your chat ID (send
/startto your bot, then checkhttps://api.telegram.org/bot<TOKEN>/getUpdates)
Running
Courier is designed to be spawned by Claude Code as a channel MCP server:
claude --channels server:courierRegister in .mcp.json:
Read the rest
{
"mcpServers": {
"courier": {
"command": "./build/dev/bin/courier",
"env": {}
}
}
}MCP Tools
| Tool | Description |
|---|---|
send-message | Send a message via Telegram |
send-notification | Send a desktop notification via notify-send |
Building
sigil deps install
sigil buildA C toolchain is required. On Guix: guix shell -m ../sigil/manifest.scm
License
BSD-3-Clause
$ git clone https://codeberg.org/sigil/courier
v0.3.9 — latest by version, released 14 Jul 2026
All releases — 15 tags in this repository.
One page per file, and every line has a permalink.
930f02fc
b999d8a3
616889c0
The last 20 commits keep a page here. Everything older lives in the clone.