Cover image
MCP-Communicator-Telegram
Private

MCP-Communicator-Telegram

Try Now
2025-01-24

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 a través de un bot de telegrama.

3 years

Works with Finder

1

Github Watches

9

Github Forks

25

Github Stars

MCP Communicator (Telegram)

An MCP server that enables communication with users through Telegram. This server provides tools to interact with users via a Telegram bot, including asking questions, sending notifications, sharing files, and creating project archives.

Installation

Via npm (global)

npm install -g mcp-communicator-telegram

Via npx (on-demand)

npx mcptelegram

To get your Telegram chat ID:

npx mcptelegram-chatid

Features

  • Ask questions to users through Telegram
  • Send notifications to users (no response required)
  • Send files to users via Telegram
  • Create and send project zip files (respecting .gitignore)
  • Receive responses asynchronously (waits indefinitely for response)
  • Support for reply-based message tracking
  • Secure chat ID validation
  • Error handling and logging

Prerequisites

  • Node.js (v14 or higher)
  • A Telegram bot token (obtained from @BotFather)
  • Your Telegram chat ID (can be obtained using the included utility)

Installation

  1. Clone the repository:
git clone https://github.com/qpd-v/mcp-communicator-telegram.git
cd mcp-communicator-telegram
  1. Install dependencies:
npm install
  1. Create a Telegram bot:

    • Open Telegram and search for @BotFather
    • Send /newbot and follow the instructions
    • Save the bot token you receive
  2. Get your chat ID:

    • Copy .env.example to .env
    • Add your bot token to the .env file:
      TELEGRAM_TOKEN=your_bot_token_here
      
    • Run the chat ID utility:
      npm run build
      node build/get-chat-id.js
      
    • Send any message to your bot
    • Copy the chat ID that appears in the console
    • Add the chat ID to your .env file:
      TELEGRAM_TOKEN=your_bot_token_here
      CHAT_ID=your_chat_id_here
      

Configuration

Add the server to your MCP settings file (usually located at %APPDATA%\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\cline_mcp_settings.json on 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"
      }
    }
  }
}

Available Tools

ask_user

Asks a question to the user via Telegram and waits for their response.

Input Schema:

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

Example usage:

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

notify_user

Sends a notification message to the user via Telegram (no response required).

Input Schema:

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

Example usage:

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

send_file

Sends a file to the user via Telegram.

Input Schema:

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

Example usage:

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

zip_project

Creates a zip file of a project directory (respecting .gitignore patterns) and sends it to the user via Telegram.

Input Schema:

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

Example usage with default directory (current working directory):

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

Example usage with specific directory:

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

Features:

  • Creates a zip file named [project-name]-project.zip based on the directory name
  • Can zip any specified directory or the current working directory
  • Respects .gitignore patterns
  • Maintains correct file paths in the archive
  • Automatically cleans up the zip file after sending
  • Handles files up to 2GB in size

Development

Build the project:

npm run build

Run in development mode:

npm run dev

Watch for changes:

npm run watch

Clean build directory:

npm run clean

Security

  • The server only responds to messages from the configured chat ID
  • Environment variables are used for sensitive configuration
  • Message IDs are used to track question/answer pairs
  • The bot ignores messages without proper context

License

ISC

Author

qpd-v

Version

0.2.1 # Major version bump for new features: notify_user, send_file, and zip_project tools

相关推荐

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • Yusuf Emre Yeşilyurt
  • I find academic articles and books for research and literature reviews.

  • Carlos Ferrin
  • Encuentra películas y series en plataformas de streaming.

  • https://zenepic.net
  • Embark on a thrilling diplomatic quest across a galaxy on the brink of war. Navigate complex politics and alien cultures to forge peace and avert catastrophe in this immersive interstellar adventure.

  • lumpenspace
  • Take an adjectivised noun, and create images making it progressively more adjective!

  • https://reddgr.com
  • Delivers concise Python code and interprets non-English comments

  • apappascs
  • Descubra la colección más completa y actualizada de servidores MCP en el mercado. Este repositorio sirve como un centro centralizado, que ofrece un extenso catálogo de servidores MCP de código abierto y propietarios, completos con características, enlaces de documentación y colaboradores.

  • ShrimpingIt
  • Manipulación basada en Micrypthon I2C del expansor GPIO de la serie MCP, derivada de AdaFruit_MCP230xx

  • pontusab
  • La comunidad de cursor y windsurf, encontrar reglas y MCP

  • av
  • Ejecute sin esfuerzo LLM Backends, API, frontends y servicios con un solo comando.

  • ravitemer
  • Un poderoso complemento Neovim para administrar servidores MCP (protocolo de contexto del modelo)

  • jae-jae
  • Servidor MCP para obtener contenido de la página web con el navegador sin cabeza de dramaturgo.

  • patruff
  • Puente entre los servidores Ollama y MCP, lo que permite a LLM locales utilizar herramientas de protocolo de contexto del modelo

  • 1Panel-dev
  • 🔥 1Panel proporciona una interfaz web intuitiva y un servidor MCP para administrar sitios web, archivos, contenedores, bases de datos y LLM en un servidor de Linux.

  • Mintplex-Labs
  • La aplicación AI de escritorio todo en uno y Docker con trapo incorporado, agentes de IA, creador de agentes sin código, compatibilidad de MCP y más.

  • GeyserMC
  • Una biblioteca para la comunicación con un cliente/servidor de Minecraft.

    Reviews

    1 (1)
    Avatar
    user_533cb3JG
    2025-04-18

    As a dedicated user of mcp applications, I am thoroughly impressed with mcp-communicator-telegram by qpd-v. It seamlessly integrates with Telegram, enhancing my communication experience with its user-friendly interface and reliable performance. Highly recommend checking it out on GitHub: https://github.com/qpd-v/mcp-communicator-telegram.