Telegram MCP Server

by kfastov
Verified

local-only server

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

Integrations

  • Handles configuration management through environment variables, specifically for storing Telegram API credentials including API ID, API hash, and phone number.

  • Enables interaction with Telegram messaging platform, providing tools to search channels by keywords, list available channels, retrieve messages from channels, and filter messages by regex patterns.

Biblioteca de clientes de Telegram y servidor MCP

Este proyecto proporciona una biblioteca de cliente de Telegram y un servidor MCP (Protocolo de contexto de modelo) para que los asistentes de IA interactúen con Telegram.

Características

Biblioteca de clientes de Telegram

  • Autenticación con Telegram (incluida compatibilidad con 2FA)
  • Gestión de sesiones (reutilización automática de sesiones existentes)
  • Recuperando chats/diálogos
  • Obtener mensajes de chats específicos
  • Filtrar mensajes por patrón (por ejemplo, expresiones regulares)

Servidor MCP

  • Buscar canales por palabras clave : encuentre canales de Telegram buscando palabras clave en sus nombres
  • Lista de canales disponibles - Ver todos los canales accesibles
  • Obtener mensajes de canales : recupera mensajes de cualquier canal accesible
  • Filtrar mensajes por patrón : aplicar patrones de expresiones regulares para filtrar mensajes

Configuración

  1. Crea un archivo .env con tus credenciales de API de Telegram:
TELEGRAM_API_ID=your_api_id TELEGRAM_API_HASH=your_api_hash TELEGRAM_PHONE_NUMBER=your_phone_number PORT=3000 # Optional, defaults to 3000 for MCP server
  1. Instalar dependencias:
npm install

Uso

Uso de la biblioteca de clientes de Telegram

const TelegramClient = require("./telegram-client"); const dotenv = require("dotenv"); dotenv.config(); async function main() { // Create a new client instance const client = new TelegramClient( process.env.TELEGRAM_API_ID, process.env.TELEGRAM_API_HASH, process.env.TELEGRAM_PHONE_NUMBER ); // Login to Telegram await client.login(); // Get all chats/dialogs const { chats } = await client.getDialogs(); // Print all chats chats.forEach((chat) => { if (chat.title) { console.log(`Chat: ${chat.title}`); } }); } main().catch(console.error);

Ejecute el cliente de ejemplo:

npm run client

Uso del servidor MCP

  1. Inicie el servidor MCP:
npm start
  1. El servidor MCP estará disponible en:
http://localhost:3000/mcp
  1. Puede probar el servidor MCP utilizando el cliente incluido:
npm run mcp-client

Para obtener más detalles sobre el servidor MCP, consulte MCP-README.md .
Para obtener información sobre la arquitectura del código, consulte CODE_STRUCTURE.md .

Referencia de API

Cliente de Telegram

Constructor

const client = new TelegramClient(apiId, apiHash, phoneNumber, sessionPath);
  • apiId : Tu ID de API de Telegram
  • apiHash : Tu hash de la API de Telegram
  • phoneNumber : Su número de teléfono en formato internacional
  • sessionPath : (opcional) Ruta para guardar el archivo de sesión (predeterminado: './data/session.json')

Métodos

  • login() : se autentica con Telegram (gestiona tanto los nuevos inicios de sesión como la reutilización de sesiones)
  • getDialogs(limit, offset) : obtiene una lista de diálogos (chats)
  • getChatMessages(chat, limit) : obtiene mensajes de un chat específico
  • filterMessagesByPattern(messages, pattern) : filtra una matriz de mensajes mediante un patrón de expresión regular
  • hasSession() : Comprueba si existe una sesión válida

Archivos en este repositorio

  • telegram-client.js : La biblioteca cliente principal
  • client.js : Un cliente de ejemplo con funciones auxiliares adicionales
  • index.js : Ejemplo original que utiliza la biblioteca cliente
  • mcp-server.js : El punto de entrada principal del servidor MCP
  • telegram-mcp.js : La implementación del servidor MCP con herramientas de Telegram
  • http-server.js : La capa de transporte del servidor HTTP/SSE
  • mcp-client-example.js : Un cliente simple para probar el servidor MCP

Uso con Claude u otros asistentes compatibles con MCP

El servidor MCP se puede usar con Claude u otros asistentes compatibles con MCP. Al conectarse, el asistente tendrá acceso a tus canales y mensajes de Telegram mediante las herramientas que ofrece el servidor.

Ejemplo de flujo de trabajo:

  1. Iniciar el servidor MCP
  2. Conecte a Claude al servidor MCP usando la URL de MCP
  3. Pídele a Claude que busque canales, recupere mensajes o filtre mensajes por patrón

Licencia

Instituto Tecnológico de Massachusetts (MIT)

-
security - not tested
F
license - not found
-
quality - not tested

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.

  1. Features
    1. Telegram Client Library
    2. MCP Server
  2. Setup
    1. Usage
      1. Using the Telegram Client Library
      2. Using the MCP Server
    2. API Reference
      1. TelegramClient
    3. Files in this Repository
      1. Using with Claude or other MCP-compatible Assistants
        1. License
          ID: b91b7wxzlu