MCP-Communicator-Telegram

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Allows communication with users through Telegram. Provides tools to ask questions, send notifications, share files, and create project archives via a Telegram bot.

Comunicador MCP (Telegram)

Un servidor MCP que permite la comunicación con los usuarios a través de Telegram. Este servidor proporciona herramientas para interactuar con los usuarios mediante un bot de Telegram, incluyendo la posibilidad de hacer preguntas, enviar notificaciones, compartir archivos y crear archivos de proyectos.

Instalación

A través de npm (global)

npm install -g mcp-communicator-telegram

A través de npx (bajo demanda)

npx mcptelegram

Para obtener tu ID de chat de Telegram:

npx mcptelegram-chatid

Características

  • Haz preguntas a los usuarios a través de Telegram
  • Enviar notificaciones a los usuarios (no se requiere respuesta)
  • Enviar archivos a los usuarios a través de Telegram
  • Crear y enviar archivos zip del proyecto (respetando .gitignore)
  • Recibir respuestas de forma asincrónica (espera indefinidamente la respuesta)
  • Soporte para seguimiento de mensajes basado en respuestas
  • Validación segura de ID de chat
  • Manejo y registro de errores

Prerrequisitos

  • Node.js (v14 o superior)
  • Un token de bot de Telegram (obtenido de @BotFather )
  • Tu ID de chat de Telegram (se puede obtener usando la utilidad incluida)

Instalación

  1. Clonar el repositorio:
git clone https://github.com/qpd-v/mcp-communicator-telegram.git cd mcp-communicator-telegram
  1. Instalar dependencias:
npm install
  1. Crea un bot de Telegram:
    • Abre Telegram y busca @BotFather
    • Envía /newbot y sigue las instrucciones
    • Guarda el token del bot que recibes
  2. Obtenga su ID de chat:
    • Copiar .env.example a .env
    • Añade tu token de bot al archivo .env :
      TELEGRAM_TOKEN=your_bot_token_here
    • Ejecute la utilidad de identificación de chat:
      npm run build node build/get-chat-id.js
    • Envía cualquier mensaje a tu bot
    • Copia el ID del chat que aparece en la consola
    • Añade el ID del chat a tu archivo .env :
      TELEGRAM_TOKEN=your_bot_token_here CHAT_ID=your_chat_id_here

Configuración

Agregue el servidor a su archivo de configuración de MCP (generalmente ubicado en %APPDATA%\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\cline_mcp_settings.json en Windows):

{ "mcpServers": { "mcp-communicator-telegram": { "command": "node", "args": ["path/to/mcp-communicator-telegram/build/index.js"], "env": { "TELEGRAM_TOKEN": "your_bot_token_here", "CHAT_ID": "your_chat_id_here" } } } }

Herramientas disponibles

preguntar_usuario

Hace una pregunta al usuario a través de Telegram y espera su respuesta.

Esquema de entrada:

{ "type": "object", "properties": { "question": { "type": "string", "description": "The question to ask the user" } }, "required": ["question"] }

Ejemplo de uso:

const response = await use_mcp_tool({ server_name: "mcp-communicator-telegram", tool_name: "ask_user", arguments: { question: "What is your favorite color?" } });

notificar_usuario

Envía un mensaje de notificación al usuario a través de Telegram (no se requiere respuesta).

Esquema de entrada:

{ "type": "object", "properties": { "message": { "type": "string", "description": "The message to send to the user" } }, "required": ["message"] }

Ejemplo de uso:

await use_mcp_tool({ server_name: "mcp-communicator-telegram", tool_name: "notify_user", arguments: { message: "Task completed successfully!" } });

enviar_archivo

Envía un archivo al usuario a través de Telegram.

Esquema de entrada:

{ "type": "object", "properties": { "filePath": { "type": "string", "description": "The path to the file to send" } }, "required": ["filePath"] }

Ejemplo de uso:

await use_mcp_tool({ server_name: "mcp-communicator-telegram", tool_name: "send_file", arguments: { filePath: "path/to/file.txt" } });

proyecto zip

Crea un archivo zip de un directorio de proyecto (respetando los patrones .gitignore) y lo envía al usuario a través de Telegram.

Esquema de entrada:

{ "type": "object", "properties": { "directory": { "type": "string", "description": "Directory to zip (defaults to current working directory)" } }, "required": [] }

Ejemplo de uso con el directorio predeterminado (directorio de trabajo actual):

await use_mcp_tool({ server_name: "mcp-communicator-telegram", tool_name: "zip_project", arguments: {} });

Ejemplo de uso con directorio específico:

await use_mcp_tool({ server_name: "mcp-communicator-telegram", tool_name: "zip_project", arguments: { directory: "/path/to/your/project" } });

Características:

  • Crea un archivo zip llamado [project-name]-project.zip basado en el nombre del directorio
  • Puede comprimir cualquier directorio especificado o el directorio de trabajo actual
  • Respeta los patrones .gitignore
  • Mantiene las rutas de archivo correctas en el archivo
  • Limpia automáticamente el archivo zip después de enviarlo
  • Maneja archivos de hasta 2 GB de tamaño

Desarrollo

Construir el proyecto:

npm run build

Ejecutar en modo de desarrollo:

npm run dev

Esté atento a los cambios:

npm run watch

Directorio de compilación limpio:

npm run clean

Seguridad

  • El servidor solo responde a los mensajes del ID de chat configurado
  • Las variables de entorno se utilizan para la configuración sensible.
  • Los identificadores de mensajes se utilizan para realizar un seguimiento de pares de preguntas y respuestas.
  • El bot ignora los mensajes sin el contexto adecuado

Licencia

ISC

Autor

qpd-v

Versión

0.2.1 # Actualización de la versión principal para nuevas funciones: herramientas notify_user, send_file y zip_project

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

Un servidor MCP que permite la comunicación con los usuarios a través de Telegram. Este servidor proporciona una herramienta para hacer preguntas a los usuarios y recibir sus respuestas mediante un bot de Telegram.

  1. Installation
    1. Via npm (global)
    2. Via npx (on-demand)
  2. Features
    1. Prerequisites
      1. Installation
        1. Configuration
          1. Available Tools
            1. ask_user
            2. notify_user
            3. send_file
            4. zip_project
          2. Development
            1. Security
              1. License
                1. Author
                  1. Version
                    ID: cvt5yz29og