claude-telegram-alerts
README.md
# Claude Telegram Alerts
An MCP server that sends Telegram alerts for Claude Code status updates. Get notified on your phone when:
- Claude needs your input or approval
- Long-running tasks complete
- Builds finish or tests pass/fail
- Any custom status update you configure
## Features
- **`alert`** - Send status alerts to your Telegram (normal or urgent priority)
- **`get_chat_id`** - Helper tool to retrieve your Telegram chat ID during setup
## Quick Start
### 1. Create a Telegram Bot
1. Open Telegram and message [@BotFather](https://t.me/BotFather)
2. Send `/newbot` and follow the prompts
3. Copy your bot token (e.g., `123456789:ABCdefGHIjklMNOpqrsTUVwxyz`)
### 2. Message Your Bot
Search for your new bot in Telegram and send it any message (e.g., "hi"). This enables the bot to message you back.
### 3. Install
```bash
git clone https://github.com/anthony-potts/claude-telegram-alerts.git
cd claude-telegram-alerts
npm install
npm run build
```
### 4. Configure Claude Code
Add to `~/.claude/settings.json`:
```json
{
"mcpServers": {
"telegram-alerts": {
"command": "node",
"args": ["/path/to/claude-telegram-alerts/build/index.js"],
"env": {
"TELEGRAM_BOT_TOKEN": "your-bot-token",
"TELEGRAM_CHAT_ID": ""
}
}
}
}
```
### 5. Get Your Chat ID
Restart Claude Code, then ask:
> "Use the get_chat_id tool to find my Telegram chat ID"
Update your config with the returned chat ID, then restart Claude Code.
## Usage Examples
### Manual Alerts
```
"Send me a Telegram alert that the deployment is complete"
"Send an urgent alert that I need to approve the PR"
```
### Automated Workflows
```
"Run the test suite and alert me on Telegram when done"
"Deploy to staging and send me a Telegram alert with the result"
"When you need my input, send me a Telegram alert"
```
### Status Updates
```
"Alert me via Telegram: Build failed - missing dependency in package.json"
"Send Telegram alert: Waiting for approval to delete 50 files"
```
## Tools
### `alert`
Send a status alert to your Telegram.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `message` | string | Yes | The alert message |
| `priority` | `"normal"` \| `"urgent"` | No | `urgent` = notification sound. Default: `normal` (silent) |
### `get_chat_id`
Retrieve your chat ID after messaging the bot. No parameters.
## Troubleshooting
| Error | Solution |
|-------|----------|
| "TELEGRAM_BOT_TOKEN required" | Add your bot token to the MCP server env config |
| "TELEGRAM_CHAT_ID required" | Run `get_chat_id` tool and add the result to config |
| "No messages found" | Send a message to your bot in Telegram first |
| Alerts not arriving | Check Telegram notifications aren't muted for the bot |
## Development
```bash
npm install # Install dependencies
npm run build # Compile TypeScript
npm run dev # Watch mode
```
## License
MIT
TDQS
A4.1/5.0
Scored across 2 tools
Disambiguation5/5
The two tools have clearly distinct purposes: alert sends notifications, while get_chat_id handles setup. There is no overlap or ambiguity between them.
Naming Consistency4/5
Both names use lowercase snake_case and are verb-led, but alert is a bare verb while get_chat_id follows a get_noun pattern. The inconsistency is minor and does not hinder understanding.
Tool Count3/5
Two tools is on the thin side for a general-purpose alerting server, but the narrow scope makes the count defensible. It sits at the borderline where the set feels minimal rather than complete.
Completeness5/5
The tool surface covers the full intended workflow: retrieve the chat ID during setup, then send alerts. For a notification-only integration, there are no obvious missing operations.
Maintenance
ActivityInactive
ResponsivenessNo issues