Telegram MCP Server

by alexandertsai
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Allows Claude to access a Telegram account to read chats, view messages, send messages, mark messages as read, and retrieve conversation context to formulate natural-sounding replies.

Servidor MCP de Telegram

Este es un servidor MCP simple que le permite a Claude acceder a su cuenta de Telegram para leer y enviar mensajes.

Funciones

  1. get_chats : Obtén una lista de tus chats de Telegram
  2. send_message : Envía un mensaje a un chat
  3. get_message : obtiene mensajes de un chat e imprime los mensajes no leídos
  4. mark_messages_read : Marcar mensajes como leídos
  5. get_conversation_context : supera los 20 mensajes y lee convostyle.txt para determinar una respuesta apropiada

Configuración

Paso 1: Obtén tus credenciales de API de Telegram

  1. Vaya a https://my.telegram.org/apps
  2. Inicie sesión y cree una aplicación (o utilice una existente)
  3. Anote su ID de API y su hash de API

Paso 2: Configurar el entorno de Python

Instalar los paquetes necesarios:

# Clone the repository within your desired directory (if you haven't already) git clone https://github.com/alexandertsai/mcp-telegram cd mcp-telegram

Configura el entorno virtual. Usa pip3 si corresponde.

# Set up virtual environment pip install uv mcp uv venv source .venv/bin/activate # .venv\Scripts\activate for windows uv add "mcp[cli]" telethon python-dotenv nest_asyncio

Paso 3: Agregar identificaciones

Para Mac (bash):

En el entorno virtual, ejecute lo siguiente:

export TELEGRAM_PHONE=phone number with country code and no spaces export TELEGRAM_API_ID=api_id export TELEGRAM_API_HASH=api_hash

Verifique si se han exportado con printenv en la terminal.

Para Windows (PowerShell):

En el entorno virtual, ejecute lo siguiente. Asegúrese de incluir las comillas; de lo contrario, PowerShell podría tener problemas:

$env:TELEGRAM_PHONE="phone number with country code and no spaces" $env:TELEGRAM_API_ID="api_id" $env:TELEGRAM_API_HASH="api_hash"

Verifique si se han exportado con gci env: en powershell.

Paso 4: Ejecutar la autenticación

Ejecuta esto para autenticarte. Si tienes autenticación de dos factores (A2F), al escribir tu contraseña no verás ningún texto en la terminal. ¡Es normal! Intenta no cometer errores tipográficos durante la A2F; si lo haces, tendrás que reiniciar todo el proceso. Usa python o python3 según lo que tengas instalado.

cd src/mcp_telegram python3 telethon_auth.py

Se le solicitará:

  • Tu número de teléfono (en formato internacional con +) (no dejes espacios)
  • El código que Telegram envía a tu cuenta
  • Su contraseña 2FA (si está habilitada)

Esto crea un archivo de sesión en su directorio de inicio para que no necesite autenticarse nuevamente.

Paso 5: Agregar a Claude Desktop

Edite la configuración de Claude Desktop:

macOS : ~/Library/Application Support/Claude/claude_desktop_config.json
Ventanas : %APPDATA%\Claude\claude_desktop_config.json

También puedes ir a Configuración, hacer clic en Desarrollador y luego en Editar configuración. Asegúrate de que el modo desarrollador esté habilitado.

Agregue esto a su configuración (reemplácelo con sus credenciales reales):

"mcpServers": { "telegram": { "command": "/your/path/to/python3", "args": ["/full/path/to/mcp-telegram/main.py"], "env": { "TELEGRAM_API_ID": "your_api_id_here", "TELEGRAM_API_HASH": "your_api_hash_here", "TELEGRAM_PHONE": "+65945678900" } } }

main.py: para obtener la ruta completa, vaya a su IDE o escritorio, busque el archivo, haga clic derecho sobre él y haga clic en "COPIAR RUTA".

Python: Ejecute where.exe python (Windows) o where python (Mac) en su terminal para obtener la ruta completa (reemplace con python3 si es necesario). En Windows, podría necesitar reemplazar las barras invertidas en su ruta con barras diagonales debido al formato JSON (Ctrl+f "\", reemplazar todo (Ctrl+h) con "/").

MUY IMPORTANTE:

  1. Utilice la ruta absoluta completa tanto a Python como al script main.py
  2. Reemplace las credenciales de API con sus valores reales del Paso 1
  3. Establezca su número de teléfono en formato internacional

Paso 6 (opcional):

Siéntete libre de configurar convostyle.txt en src/mcp_telegram si quieres que el chatbot responda y suene como tú.

¡Eso es todo!

Reinicie Claude Desktop (salga y vuelva a abrir) y ahora podrá pedirle a Claude que:

  • Muestra tus chats recientes de Telegram
  • Leer mensajes de chats específicos
  • Marcar ciertos mensajes como "leídos"
  • Envía mensajes a tus contactos o grupos sonando natural

Asegúrate de incluir la palabra "Telegram" al pedirle a Claude una instrucción; de lo contrario, podría no entenderla. Por ejemplo: "Claude, ¿tengo algún mensaje de Telegram sin leer?"

Solución de problemas molestos

Mientras esté en el entorno virtual, intente ejecutar:

ls -la ~/.mcp_telegram_*

Luego finalice sus archivos de sesión con (simplemente copie y pegue la ruta de los archivos con rm al frente)

rm /Users/username/.mcp_telegram_numberininternationalformat*

Intente el paso 3 nuevamente.

-
security - not tested
A
license - permissive license
-
quality - not tested

Un servidor MCP simple que le permite a Claude acceder a su cuenta de Telegram para leer y enviar mensajes en su nombre.

  1. Functions
    1. Setup
      1. Step 1: Get Your Telegram API Credentials
      2. Step 2: Set Up Python Environment
      3. Step 3: Add IDs
      4. Step 4: Run authentication
      5. Step 5: Add to Claude Desktop
      6. VERY IMPORTANT:
      7. Step 6 (optional):
    2. That's It!
      1. Pesky troubleshooting
        ID: iw2s0g45fo