Skip to main content
Glama
qpd-v

MCP-Communicator-Telegram

by qpd-v

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

Related MCP server: Telegram MCP Server

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

Latest Blog Posts

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/qpd-v/mcp-communicator-telegram'

If you have feedback or need assistance with the MCP directory API, please join our Discord server