MCP Communicator (Telegram)

MCP Communicator (Telegram)

By qpd-v GitHub

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.

telegram mcp-communicator
Overview

What is MCP Communicator (Telegram)?

MCP Communicator (Telegram) is an MCP server that facilitates communication with users through Telegram, allowing for questions to be asked and responses received via a Telegram bot.

How to use MCP Communicator (Telegram)?

To use the MCP Communicator, install it via npm or npx, set up your Telegram bot, and obtain your chat ID. Add necessary configurations to your MCP settings file and use the provided tools to interact with users.

Key features of MCP Communicator (Telegram)?

  • Asks questions through Telegram and receives responses asynchronously.
  • Supports reply-based message tracking for effective communication.
  • Incorporates secure chat ID validation and thorough error handling.

Use cases of MCP Communicator (Telegram)?

  1. Conducting surveys or polls via Telegram messages.
  2. Gathering user feedback in real-time through chat.
  3. Providing customer support by asking questions and receiving answers directly from users.

FAQ from MCP Communicator (Telegram)?

  • What do I need to get started?

You will need Node.js, a Telegram bot token from @BotFather, and your Telegram chat ID.

  • Can multiple users respond to the bot?

Yes, but responses will be tracked based on the configured chat ID for secure communication.

  • Is the bot responsive to all messages?

No, the bot only responds to messages from the configured chat ID for security reasons.

Content

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

No tools information available.

An MCP server implementation that provides tools for interacting with the [Telegram Bot API](

telegram bot-api
View Details