loading…
Search for a command to run...
loading…
A minimal Model Context Protocol server for interacting with Telegram bots via MTProto. It provides simple tools to send messages and retrieve chat history whil
A minimal Model Context Protocol server for interacting with Telegram bots via MTProto. It provides simple tools to send messages and retrieve chat history while serving as an easy-to-extend reference for developers.
A minimal MCP server for Telegram bot interaction via MTProto — intentionally simple, easy to read, and easy to extend.
Looking for a full-featured Telegram MCP server? Check out chigwell/telegram-mcp — 60+ tools covering messaging, groups, contacts, media, admin, and more.
This project takes a different approach: two tools, ~150 lines of server code, zero complexity. It's a clean starting point for anyone who wants to understand how MCP servers work with Telegram, or who only needs basic bot messaging without the overhead of a full client.
| Tool | Description |
|---|---|
send_message |
Send a message to a Telegram bot and wait for its reply |
get_history |
Get message history with a Telegram bot |
# Install
pip install git+https://github.com/tensakulabs/telegram-mcp.git
# Set your credentials
export TELEGRAM_API_ID=12345678
export TELEGRAM_API_HASH=abcdef1234567890abcdef1234567890
export TELEGRAM_PHONE=+15551234567
# Run one-time authentication (sends a code to your Telegram app)
telegram-mcp-auth
Add to ~/.claude/settings.json:
{
"mcpServers": {
"telegram": {
"command": "uvx",
"args": ["--from", "git+https://github.com/tensakulabs/telegram-mcp.git", "telegram-mcp"],
"env": {
"TELEGRAM_API_ID": "your-api-id",
"TELEGRAM_API_HASH": "your-api-hash",
"TELEGRAM_SESSION_DIR": "/path/to/session/dir"
}
}
}
}
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"telegram": {
"command": "uvx",
"args": ["--from", "git+https://github.com/tensakulabs/telegram-mcp.git", "telegram-mcp"],
"env": {
"TELEGRAM_API_ID": "your-api-id",
"TELEGRAM_API_HASH": "your-api-hash",
"TELEGRAM_SESSION_DIR": "/path/to/session/dir"
}
}
}
}
If you've cloned the repo:
{
"mcpServers": {
"telegram": {
"command": "uv",
"args": ["--directory", "/path/to/telegram-mcp", "run", "telegram-mcp"],
"env": {
"TELEGRAM_API_ID": "your-api-id",
"TELEGRAM_API_HASH": "your-api-hash"
}
}
}
}
| Environment variable | Required | Default | Description |
|---|---|---|---|
TELEGRAM_API_ID |
Yes | — | Your Telegram API ID |
TELEGRAM_API_HASH |
Yes | — | Your Telegram API hash |
TELEGRAM_PHONE |
Auth only | — | Phone number for authentication |
TELEGRAM_ENV_PATH |
No | Auto-detect | Path to .env file |
TELEGRAM_SESSION_DIR |
No | Working directory | Directory for session file |
This server uses the Model Context Protocol to expose Telegram interaction as tools that any MCP-compatible AI client can use. Under the hood, it:
telegram_user.session) contains auth tokens — never commit it.gitignore excludes session files by defaultgit clone https://github.com/tensakulabs/telegram-mcp.git
cd telegram-mcp
uv sync
uv run telegram-mcp
MIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"telegram-mcp": {
"command": "npx",
"args": []
}
}
}