Servidor MCP de Telegram
Un servidor MCP que permite a los asistentes de IA (como Claude) interactuar con tu cuenta de Telegram mediante la API de cliente de usuario (no la API de bot). Desarrollado con @mtproto/core
y el framework FastMCP .
Características
Herramientas
listChannels
- Enumera los canales/chats de Telegram disponibles a los que puede acceder la cuenta, según el caché del servidor.
- Parámetros:
limit
(número, opcional): número máximo de canales a devolver (predeterminado: 50).
- Salida: Una lista de canales/chats con su ID, título, tipo y hash de acceso (si corresponde).
searchChannels
- Busca los canales/chats almacenados en caché por palabras clave en sus nombres.
- Parámetros:
keywords
(cadena): palabras clave para buscar en los nombres de los canales.limit
(número, opcional): número máximo de resultados a devolver (predeterminado: 100).
- Salida: Una lista de canales/chats coincidentes.
getChannelMessages
- Recupera mensajes recientes de un canal/chat específico usando su ID.
- Parámetros:
channelId
(número): el ID numérico del canal/chat (obtenido delistChannels
osearchChannels
).limit
(número, opcional): número máximo de mensajes a devolver (predeterminado: 100).filterPattern
(cadena, opcional): una expresión regular compatible con JavaScript para filtrar mensajes por su contenido de texto.
- Salida: Una lista de mensajes que contiene ID, fecha, texto e ID del remitente.
Prerrequisitos
- Node.js: Se recomienda la versión 18 o posterior.
- Cuenta de Telegram:
- Necesitas una cuenta de Telegram activa.
- La verificación en dos pasos (2FA) debe estar habilitada en su cuenta (Configuración → Privacidad y seguridad → Verificación en dos pasos).
- Credenciales de la API de Telegram:
- Obtenga un
api_id
yapi_hash
creando una nueva aplicación en https://core.telegram.org/api/obtaining_api_id .
- Obtenga un
Instalación
- Clonar este repositorio:
- Instalar dependencias:
Configuración
Hay dos configuraciones independientes que deben configurarse:
- Configuración del servidor MCP:Configure el servidor Telegram MCP usando variables de entorno (en un archivo
.env
o directamente en su entorno):Reemplace los valores de marcador de posición con sus credenciales reales. - Configuración del cliente MCP:Configure el software cliente (Claude Desktop, Cursor, etc.) para conectarse al servidor MCP modificando sus archivos de configuración:Para Claude Desktop, el archivo de configuración se encuentra en:
- En macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- En Windows:
%APPDATA%/Claude/claude_desktop_config.json
Importante: reinicie su cliente MCP para aplicar los cambios.
- En macOS:
Ejecución del servidor
- Inicio de sesión inicial (primer paso importante): La primera vez que inicie el servidor (o si su sesión caduca o no es válida), deberá autenticarse con Telegram. Ejecútelo directamente desde su terminal:
- El servidor utilizará las credenciales de su archivo
.env
. - Le solicitará en la terminal que ingrese el código de inicio de sesión enviado a su cuenta de Telegram y su contraseña 2FA si es necesario.
- Tras iniciar sesión correctamente, se creará un archivo de sesión (
./data/session.json
). Este archivo permite que el servidor inicie sesión automáticamente en el futuro sin necesidad de códigos ni contraseñas. - El servidor también intentará crear o cargar una caché de tus chats (
./data/dialog_cache.json
). Esto puede tardar un poco la primera vez, especialmente con muchos chats. Los siguientes inicios serán más rápidos si la caché existe.
- El servidor utilizará las credenciales de su archivo
- Operación normal: Deberá iniciar el servidor manualmente ejecutando
npm start
en el directorio del proyecto.Una vez que el servidor esté en funcionamiento, su cliente MCP (por ejemplo, Claude Desktop) se conectará a él a través de la URL especificada en su configuración (http://localhost:8080/sse
por defecto).
Solución de problemas
- Solicitudes de inicio de sesión: Si el servidor solicita constantemente códigos de inicio de sesión o contraseñas al iniciarse con el cliente MCP, asegúrese de que el archivo
data/session.json
exista y sea válido. Es posible que deba ejecutarnpm start
manualmente una vez para actualizar la sesión. Además, verifique que los permisos del archivo permitan al usuario que ejecuta el cliente MCP leer y escribir en el directoriodata
. - Problemas de caché: Si los canales parecen estar desactualizados o faltan, puede eliminar
./data/dialog_cache.json
y reiniciar el servidor (ejecutenpm start
manualmente) para forzar una actualización completa. Esto puede tardar un tiempo. - No se encuentra el módulo: Asegúrese de ejecutar
npm install
en el directorio del proyecto. Si el cliente MCP inicia el servidor, verifique que el directorio de trabajo esté configurado correctamente o use rutas absolutas. - Otros problemas: si encuentra algún otro problema, no dude en abrir un problema en este repositorio del servidor .
Biblioteca de clientes de Telegram
Este repositorio también contiene la biblioteca subyacente telegram-client.js
utilizada por el servidor MCP. Para obtener más información sobre el uso directo de la biblioteca (por ejemplo, para scripts personalizados), consulte LIBRARY.md .
Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Un servidor de protocolo de contexto de modelo que permite a los asistentes de IA interactuar con Telegram, lo que les permite buscar canales, enumerar los canales disponibles, recuperar mensajes y filtrar mensajes mediante patrones de expresiones regulares.
- Características
- Prerrequisitos
- Instalación
- Configuración
- Ejecución del servidor
- Solución de problemas
- Biblioteca de clientes de Telegram
- Licencia
Related Resources
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol server implementation that enables AI assistants to interact with Slack workspaces, allowing them to browse channels, send messages, reply to threads, add reactions, and retrieve user information.Last updated -18JavaScriptApache 2.0
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI assistants to interact with Bluesky/ATProtocol, providing authentication, timeline access, post creation, and social features like likes and follows.Last updated -1810TypeScript
- AsecurityAlicenseAqualityA Discord Model Context Protocol server that enables AI assistants to interact with Discord, providing functionality for sending messages, managing channels, handling forum posts, and working with reactions.Last updated -1522TypeScriptMIT License
- AsecurityAlicenseAqualityA server implementing Model Context Protocol that enables AI assistants to interact with Slack API through a standardized interface, providing tools for messaging, channel management, user information retrieval, and more.Last updated -933JavaScriptApache 2.0