Chat and notification channel server for Claude Code sessions
- Python 100%
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
- 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:courier
Register in .mcp.json:
{
"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 build
A C toolchain is required. On Guix: guix shell -m ../sigil/manifest.scm
License
BSD-3-Clause