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-telegramA través de npx (bajo demanda)
npx mcptelegramPara obtener tu ID de chat de Telegram:
npx mcptelegram-chatidRelated 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
Clonar el repositorio:
git clone https://github.com/qpd-v/mcp-communicator-telegram.git
cd mcp-communicator-telegramInstalar dependencias:
npm installCrea un bot de Telegram:
Abre Telegram y busca @BotFather
Envía
/newboty sigue las instruccionesGuarda el token del bot que recibes
Obtenga su ID de chat:
Copiar
.env.examplea.envAñade tu token de bot al archivo
.env:TELEGRAM_TOKEN=your_bot_token_hereEjecute la utilidad de identificación de chat:
npm run build node build/get-chat-id.jsEnví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.zipbasado en el nombre del directorioPuede 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 buildEjecutar en modo de desarrollo:
npm run devEsté atento a los cambios:
npm run watchDirectorio de compilación limpio:
npm run cleanSeguridad
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
This server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.