⚡ telegram-mcp-cli
Modern Command-Line Interface & Bot Automation Controller for Telegram
Interact with, test, and automate Telegram bots directly from your terminal.
Built on MTProto with direct Telethon .session file support, automatic environment detection, and session protection.
📑 Table of Contents
- ✨ Key Features
- 🏗️ Architecture
- 🚀 Quick Start
- 💻 Command Reference
- 🛡️ Safety & Session Protection
- 🧪 Testing
- 📄 License
✨ Key Features
- 🔑 Instant Session Switching (
tg-cli auth <path.session>): Pass any existing Telethon.sessionfile directly. Automatically validates SQLite integrity, detects the target server cluster, and aligns settings. - 🤖 Bot Testing & Automation: Send text payloads, trigger slash commands (e.g.
/start), inspect responses, and click inline keyboard buttons. - 🛡️ Environment Mismatch Shield: Automatically detects whether your session belongs to the Test Server (Sandbox) or Production Server and protects against cross-environment auth revocation.
- 🔒 Process-Level Session Guard: Prevents concurrent duplicate connections (
/tmp/telegram-mcp.lock) to eliminateAuthKeyDuplicatedError. - 📁 Rich Terminal Display: Colorized output, message panels, button trees, and clean tabular diagnostics powered by
rich. - ⚡ Arbitrary MTProto Execution (
tg-cli exec): Direct command-line evaluation of Python MTProto snippets with live client injection.
🏗️ Architecture
flowchart TD
subgraph Terminal ["User / Agent CLI"]
CLI["tg-cli (argparse + rich)"]
end
subgraph Core ["telegram-mcp-cli Engine"]
Config["Config Manager (.env)"]
Shield["Environment Mismatch Shield"]
Lock["Process Lock (/tmp/telegram-mcp.lock)"]
Controller["TelegramCliClient (Telethon)"]
end
subgraph Telegram ["Telegram MTProto Network"]
TestDC["Telegram Test DC (Sandbox)"]
ProdDC["Telegram Production DC (Live)"]
end
CLI --> Config
CLI --> Controller
Controller --> Lock
Controller --> Shield
Shield -->|Test Session| TestDC
Shield -->|Prod Session| ProdDC
🚀 Quick Start
1. Installation
From PyPI (Recommended):
pip install telegram-mcp-cli
From Source:
git clone https://github.com/Telegram-mcp/telegram-mcp-cli.git
cd telegram-mcp-cli
pip install -e .
2. Configure Authentication
To set up or switch active sessions directly:
# Option A: Point to an existing Telethon .session file
tg-cli auth /path/to/my_account.session
# Option B: Run interactive phone / QR login
tg-cli auth login
3. Verify Connection
tg-cli status
💻 Command Reference
| Command | Description | Example |
|---|---|---|
auth |
Configure active session file or login | tg-cli auth my_bot.session |
status |
View connection, DC, and account status | tg-cli status |
send |
Send formatted text message to a bot/chat | tg-cli send @mybot "Hello from CLI" |
command |
Send /command and wait for bot reply |
tg-cli command @mybot /start |
click |
Click inline button by text or index | tg-cli click @mybot --button "Option 1" |
history |
Fetch recent conversation history | tg-cli history @mybot --limit 10 |
send-file |
Upload photo, document, or audio | tg-cli send-file @mybot doc.pdf |
exec |
Execute MTProto Python snippet | tg-cli exec "await client.get_me()" |
🛡️ Safety & Session Protection
- File Locking:
tg-cliuses/tmp/telegram-mcp.lockto ensure no two processes use the session concurrently. - Environment Matching: Test Server sessions (DC 2 Sandbox) and Production sessions cannot be cross-connected. The CLI will abort with a clear warning before Telegram revokes the key.
🧪 Testing
Run the automated unit test suite with pytest:
python3 -m pytest tests -v
📄 License
This project is licensed under the MIT License.
Release files for telegram-mcp-cli 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| telegram_mcp_cli-0.1.0.tar.gz | 15.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| telegram_mcp_cli-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.2 kB
Release files / telegram_mcp_cli-0.1.0.tar.gz
| Download URL | telegram_mcp_cli-0.1.0.tar.gz |
|---|---|
| Size | 15.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
50ade3abd4d5b0b1cf931e0b1109d42c45dd07da2b78e0f356741d80b0b7f863
|
|
BLAKE2b-256 checksum How to use checksums |
18544974a13b9b1f90c5a3746fbea0af7d4614b9d25f9e3355e80c44bbac221d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / telegram_mcp_cli-0.1.0-py3-none-any.whl
| Download URL | telegram_mcp_cli-0.1.0-py3-none-any.whl |
|---|---|
| Size | 13.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ac7cb1a85a3bb8fb3601ab3fe7703a47eeea6df60d2f7d156d6492c884805ea6
|
|
BLAKE2b-256 checksum How to use checksums |
c8abea6d6352b01e53c6322204010023bdeb3d20b856d7ea7c29dc9a5bffe0f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|