MCP-Communicator-Telegram
by qpd-v
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)
Copy
npm install -g mcp-communicator-telegram
Via npx (on-demand)
Copy
npx mcptelegram
To get your Telegram chat ID:
Copy
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
- Clone the repository:
Copy
git clone https://github.com/qpd-v/mcp-communicator-telegram.git
cd mcp-communicator-telegram
- Install dependencies:
Copy
npm install
- Create a Telegram bot:
- Open Telegram and search for @BotFather
- Send
/newbot
and follow the instructions - Save the bot token you receive
- Get your chat ID:
- Copy
.env.example
to.env
- Add your bot token to the
.env
file:CopyTELEGRAM_TOKEN=your_bot_token_here - Run the chat ID utility:Copynpm 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:CopyTELEGRAM_TOKEN=your_bot_token_here CHAT_ID=your_chat_id_here
- Copy
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):
Copy
{
"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:
Copy
{
"type": "object",
"properties": {
"question": {
"type": "string",
"description": "The question to ask the user"
}
},
"required": ["question"]
}
Example usage:
Copy
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:
Copy
npm run build
Run in development mode:
Copy
npm run dev
Watch for changes:
Copy
npm run watch
Clean build directory:
Copy
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
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.