AtlatestRepositorycourier
1# Courier
2
3Chat and notification channel server for Claude Code sessions, built with [Sigil](https://codeberg.org/sigil/sigil).
4
5Courier bridges Telegram messages into a running Claude Code session via the MCP
6channel protocol and provides tools for sending replies and desktop notifications.
7
8## Installation
9
10```bash
11sigil app install codeberg:sigil/courier \
12 --env COURIER_TELEGRAM_TOKEN=<bot-token> \
13 --env COURIER_TELEGRAM_CHAT_ID=<chat-id>
14```
16## Configuration
18Telegram credentials via environment (`.env-courier`):
19```
20COURIER_TELEGRAM_TOKEN=<bot-token-from-botfather>
21COURIER_TELEGRAM_CHAT_ID=<chat-id-for-replies>
22```
24Sender allowlist via `courier.yaml` (optional — all senders allowed if omitted):
25```yaml
26allowed-senders:
27 - "123456789"
28```
30### Telegram Setup
321. Create a bot via [@BotFather](https://t.me/BotFather) in Telegram
332. Copy the bot token
343. Send a message to your bot to establish a chat
354. Get your chat ID (send `/start` to your bot, then check
36 `https://api.telegram.org/bot<TOKEN>/getUpdates`)
38## Running
40Courier is designed to be spawned by Claude Code as a channel MCP server:
42```bash
43claude --channels server:courier
44```
46Register in `.mcp.json`:
48```json
50 "mcpServers": {
51 "courier": {
52 "command": "./build/dev/bin/courier",
53 "env": {}
54 }
55 }
57```
59## MCP Tools
61| Tool | Description |
62|------|-------------|
63| `send-message` | Send a message via Telegram |
64| `send-notification` | Send a desktop notification via notify-send |
66## Building
68```bash
69sigil deps install
70sigil build
71```
73A C toolchain is required. On Guix: `guix shell -m ../sigil/manifest.scm`
75## License
77BSD-3-Clause