Telegram personal-account MCP (MTProto user-auth). Read DMs, send messages, search across chats.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add claude-ops-telegram --env TELEGRAM_API_ID='<TELEGRAM_API_ID>' --env TELEGRAM_API_HASH='<TELEGRAM_API_HASH>' --env TELEGRAM_PHONE='<TELEGRAM_PHONE>' --env TELEGRAM_SESSION='<TELEGRAM_SESSION>' -- npx -y claude-ops-telegram-server~/.codex/config.toml
[mcp_servers.claude-ops-telegram]
command = "npx"
args = ["-y", "claude-ops-telegram-server"]
env = { TELEGRAM_API_ID = "<TELEGRAM_API_ID>", TELEGRAM_API_HASH = "<TELEGRAM_API_HASH>", TELEGRAM_PHONE = "<TELEGRAM_PHONE>", TELEGRAM_SESSION = "<TELEGRAM_SESSION>" }
# codex mcp add claude-ops-telegram --env TELEGRAM_API_ID='<TELEGRAM_API_ID>' --env TELEGRAM_API_HASH='<TELEGRAM_API_HASH>' --env TELEGRAM_PHONE='<TELEGRAM_PHONE>' --env TELEGRAM_SESSION='<TELEGRAM_SESSION>' -- npx -y claude-ops-telegram-server~/.cursor/mcp.json
{
"mcpServers": {
"claude-ops-telegram": {
"command": "npx",
"args": [
"-y",
"claude-ops-telegram-server"
],
"env": {
"TELEGRAM_API_ID": "<TELEGRAM_API_ID>",
"TELEGRAM_API_HASH": "<TELEGRAM_API_HASH>",
"TELEGRAM_PHONE": "<TELEGRAM_PHONE>",
"TELEGRAM_SESSION": "<TELEGRAM_SESSION>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"claude-ops-telegram": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"claude-ops-telegram-server"
],
"env": {
"TELEGRAM_API_ID": "<TELEGRAM_API_ID>",
"TELEGRAM_API_HASH": "<TELEGRAM_API_HASH>",
"TELEGRAM_PHONE": "<TELEGRAM_PHONE>",
"TELEGRAM_SESSION": "<TELEGRAM_SESSION>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"claude-ops-telegram": {
"command": "npx",
"args": [
"-y",
"claude-ops-telegram-server"
],
"env": {
"TELEGRAM_API_ID": "<TELEGRAM_API_ID>",
"TELEGRAM_API_HASH": "<TELEGRAM_API_HASH>",
"TELEGRAM_PHONE": "<TELEGRAM_PHONE>",
"TELEGRAM_SESSION": "<TELEGRAM_SESSION>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"claude-ops-telegram": {
"command": "npx",
"args": [
"-y",
"claude-ops-telegram-server"
],
"env": {
"TELEGRAM_API_ID": "<TELEGRAM_API_ID>",
"TELEGRAM_API_HASH": "<TELEGRAM_API_HASH>",
"TELEGRAM_PHONE": "<TELEGRAM_PHONE>",
"TELEGRAM_SESSION": "<TELEGRAM_SESSION>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"claude-ops-telegram": {
"command": "npx",
"args": [
"-y",
"claude-ops-telegram-server"
],
"env": {
"TELEGRAM_API_ID": "<TELEGRAM_API_ID>",
"TELEGRAM_API_HASH": "<TELEGRAM_API_HASH>",
"TELEGRAM_PHONE": "<TELEGRAM_PHONE>",
"TELEGRAM_SESSION": "<TELEGRAM_SESSION>"
}
}
}
}Environment variables
TELEGRAM_API_IDTELEGRAM_API_HASHTELEGRAM_PHONETELEGRAM_SESSION
Replace the placeholders with your own credentials and keep them out of version control.