Skip to content

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.

Notifications You must be signed in to change notification settings

qpd-v/mcp-communicator-telegram

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published