Telegram MCP Server
Telegram MCP Server
Servidor MCP para interactuar con Telegram a través de la API de Telegram Bot. El servidor proporciona al cliente LLM un conjunto de herramientas para enviar mensajes, leer los últimos mensajes disponibles y obtener información del chat.
Funcionalidades
El servidor proporciona tres herramientas MCP:
send_message— envía un mensaje de texto a un chat de Telegram especificado.get_recent_messages— obtiene los últimos mensajes disponibles de un chat especificado.get_chat_info— devuelve información básica sobre un chat de Telegram.
El servidor utiliza transporte stdio, por lo que se puede conectar a MCP Inspector y otros clientes MCP sin un servidor HTTP independiente.
Related MCP server: agent-telegram-mcp
Arquitectura
MCP client / MCP Inspector
│
│ MCP over stdio
▼
src/server.py
│
▼
src/telegram_client.py
│
│ HTTPS
▼
Telegram Bot APIserver.py se encarga de la interfaz MCP y el registro de herramientas.
telegram_client.py encapsula la interacción HTTP con la API de Telegram Bot.
config.py carga el token desde la variable de entorno.
Stack
Python 3.10+
MCP Python SDK 2.x
API de Telegram Bot
httpxpython-dotenv
Estructura del proyecto
telegram-mcp/
├── src/
│ ├── __init__.py
│ ├── config.py
│ ├── telegram_client.py
│ └── server.py
├── .env.example
├── .gitignore
├── requirements.txt
└── README.mdRequisitos
Python 3.10 o superior
Bot de Telegram creado a través de
@BotFatherNode.js y
npx— solo si se usa MCP Inspector mediantemcp dev
Instalación
Clone el repositorio y acceda a su directorio:
git clone <repository-url>
cd telegram-mcpCree un entorno virtual:
python3 -m venv .venv
source .venv/bin/activateInstale las dependencias:
pip install -r requirements.txtConfiguración del bot de Telegram
Abra Telegram y busque
@BotFather.Ejecute
/newbot.Cree el bot y obtenga el token de la API de Bot.
No agregue el token al código fuente ni a Git.
Cree un archivo .env:
cp .env.example .envIndique el token:
TELEGRAM_BOT_TOKEN=your_telegram_bot_token_here.env está agregado a .gitignore.
Preparación del chat
Chat personal
Abra el bot creado.
Presione
Starto envíele un mensaje.Para verificar
get_recent_messages, envíe varios mensajes de texto.
Grupo
Cree un grupo de prueba.
Agregue el bot al grupo.
Si el bot debe ver los mensajes normales del grupo, desactive el modo de privacidad a través de
@BotFather(/setprivacy→Disable).Envíe varios mensajes al grupo.
Para obtener el chat_id, es conveniente llamar primero a get_chat_info o get_recent_messages después de que el bot haya recibido un mensaje del chat deseado.
Ejecución
Desde el directorio raíz del proyecto:
python src/server.pyEl servidor funciona a través de stdio y espera una conexión MCP. Por lo tanto, la ausencia de salida normal en la terminal después del inicio es un comportamiento normal.
Para desarrollo y verificación, se puede usar la CLI de MCP:
mcp dev src/server.pyEl comando inicia el servidor y MCP Inspector. Inspector usa npx, por lo que Node.js debe estar disponible en PATH.
Herramientas MCP
send_message
Envía un mensaje de texto a Telegram.
Parámetros:
chat_id: string — ID чата
text: string — текст сообщенияEjemplo:
chat_id: 123456789
text: Привет! Сообщение отправлено через MCP.El servidor devuelve una confirmación de envío y el message_id.
get_recent_messages
Obtiene los últimos mensajes disponibles de un chat especificado.
Parámetros:
chat_id: string — ID чата
limit: integer — количество сообщений, по умолчанию 10limit está limitado al rango de 1 a 100.
Ejemplo:
chat_id: 123456789
limit: 10El resultado contiene el remitente y el texto de cada mensaje disponible.
get_chat_info
Obtiene información básica sobre un chat.
Parámetros:
chat_id: string — ID чатаLa respuesta muestra los campos disponibles, incluyendo ID, tipo, nombre, username, nombre y apellido.
Cómo funciona la obtención de mensajes
La API de Telegram Bot no proporciona al bot un método separado para leer el historial arbitrario del chat. Para recibir mensajes entrantes, el servidor usa getUpdates.
get_recent_messages solicita hasta 100 de las últimas actualizaciones disponibles y luego las filtra por chat_id. Por lo tanto, la herramienta trabaja con los mensajes que Telegram proporciona al bot a través de la cola de actualizaciones, no con el historial completo del chat.
Esto significa que la herramienta no reemplaza a un cliente de Telegram con acceso a todo el historial de la conversación. Para pruebas, es suficiente enviar mensajes después de agregar el bot al chat y luego llamar a get_recent_messages.
Importante: getUpdates no se usa simultáneamente con un webhook activo. Si el bot tiene configurado un webhook, elimínelo primero para que el long polling a través de getUpdates pueda recibir actualizaciones.
Escenario de ejemplo
Iniciar MCP Inspector.
Conectar
src/server.py.Asegurarse de que estén disponibles:
send_messageget_recent_messagesget_chat_info
Llamar a
get_chat_infopara verificar la conexión al chat.Llamar a
send_messagey verificar que el mensaje aparezca en Telegram.Enviar varios mensajes en Telegram.
Llamar a
get_recent_messagesy verificar la lista de mensajes obtenida.
Seguridad
El token de la API de Telegram Bot se transmite únicamente a través de la variable de entorno TELEGRAM_BOT_TOKEN.
El archivo .env real no debe incluirse en Git. En el repositorio solo se almacena .env.example sin un token funcional.
Limitaciones
El bot no tiene acceso a todo el historial del chat de Telegram a través de la API de Bot.
get_recent_messagesfunciona con las actualizaciones de bot disponibles.En grupos, el conjunto de mensajes que recibe el bot depende de la configuración de privacidad de Telegram.
getUpdatesy webhook son formas mutuamente excluyentes de recibir actualizaciones.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to read, send, and organize Telegram messages and chats. Supports tools for listing chats, fetching messages, sending/reply, archiving, muting, and folder management.1MIT
- AlicenseAqualityDmaintenanceEnables AI agents to send and receive messages, media, and files on Telegram, and manage chats via a bot token.17MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with the Telegram Bot API, allowing them to send messages, forward messages, get bot information, and receive updates.273MIT
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to send notifications and receive responses via Telegram.174MIT
Related MCP Connectors
Telegram bridge for your MCP-compatible agent. Bidirectional, no LLM in our stack.
Multi-tenant Telegram gateway for AI agents — HTTP+stdio, 8 tools, MTProto User API
Gateway between LLM agents and world data through eight tools and a bundled endpoint catalog.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/polinenysh/telegram-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server