MCP-Communicator-Telegram

MCP Communicator (Telegram)

An MCP server that enables communication with users through Telegram. This server provides a tool to ask questions to users and receive their responses via a Telegram bot.

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
  • 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?" } });

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.1.2

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

An MCP server that enables communication with users through Telegram. This server provides a tool to ask questions to users and receive their responses via a Telegram bot.

  1. Installation
    1. Via npm (global)
      1. Via npx (on-demand)
      2. Features
        1. Prerequisites
          1. Installation
            1. Configuration
              1. Available Tools
                1. ask_user
                2. Development
                  1. Security
                    1. License
                      1. Author
                        1. Version