Telegram Communicator

Telegram Communicator

qpd-v

Enables Claude to send messages, ask questions, and share files with users through Telegram bots. Supports real-time two-way communication during conversations.

Enables real-time communication with Telegram users via bots, supporting asynchronous messaging and secure chat interactions.

43864 views21Local (stdio)

What it does

  • Send messages and notifications via Telegram bot
  • Ask questions and wait for user responses
  • Share files through Telegram chat
  • Create and send project zip archives
  • Track message threads with reply-based system

Best for

AI assistants needing human approval or inputAutomated workflows requiring user confirmationRemote notifications and file sharingInteractive debugging and troubleshooting
Waits indefinitely for user responsesRespects .gitignore when creating archivesSecure chat ID validation

About Telegram Communicator

Telegram Communicator is a community-built MCP server published by qpd-v that provides AI assistants with tools and capabilities via the Model Context Protocol. Enable real-time, secure chat via telegram bots. Telegram Communicator supports asynchronous messaging & private telegra It is categorized under communication.

How to install

You can install Telegram Communicator in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

License

Telegram Communicator is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

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

Alternatives

Related Skills

Browse all skills
telegram-compose

Compose rich, readable Telegram messages using HTML formatting via direct Telegram API. Use when: (1) Sending any Telegram message beyond a simple one-line reply, (2) Creating structured messages with sections, lists, or status updates, (3) Need formatting unavailable via Clawdbot's Markdown conversion (underline, spoilers, expandable blockquotes, user mentions by ID), (4) Sending alerts, reports, summaries, or notifications to Telegram, (5) Want professional, scannable message formatting with visual hierarchy. Default to this skill for substantive Telegram communication.

2
telegram-bot-builder

Expert in building Telegram bots that solve real problems - from simple automation to complex AI-powered bots. Covers bot architecture, the Telegram Bot API, user experience, monetization strategies, and scaling bots to thousands of users. Use when: telegram bot, bot api, telegram automation, chat bot telegram, tg bot.

36
telegram-mini-app

Expert in building Telegram Mini Apps (TWA) - web apps that run inside Telegram with native-like experience. Covers the TON ecosystem, Telegram Web App API, payments, user authentication, and building viral mini apps that monetize. Use when: telegram mini app, TWA, telegram web app, TON app, mini app.

30
latex-posters

Create professional research posters in LaTeX using beamerposter, tikzposter, or baposter. Support for conference presentations, academic posters, and scientific communication. Includes layout design, color schemes, multi-column formats, figure integration, and poster-specific best practices for visual communication.

19
unity-editor-toolkit

Automate and control Unity Editor with 500+ commands, real-time WebSocket communication, and SQLite integration for efficient game development.

9
telegram-bot

Build and manage Telegram bots via the Telegram Bot API. Create bots, send messages, handle webhooks, manage groups and channels.

8