MCP-Communicator-Telegram
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Allows communication with users through Telegram. Provides tools to ask questions, send notifications, share files, and create project archives via a Telegram bot.
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)
Via npx (on-demand)
To get your Telegram chat ID:
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
- Clone the repository:
- Install dependencies:
- 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:Copy - Run the chat ID utility:Copy
- Send any message to your bot
- Copy the chat ID that appears in the console
- Add the chat ID to your
.env
file:Copy
- 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):
Available Tools
ask_user
Asks a question to the user via Telegram and waits for their response.
Input Schema:
Example usage:
notify_user
Sends a notification message to the user via Telegram (no response required).
Input Schema:
Example usage:
send_file
Sends a file to the user via Telegram.
Input Schema:
Example usage:
zip_project
Creates a zip file of a project directory (respecting .gitignore patterns) and sends it to the user via Telegram.
Input Schema:
Example usage with default directory (current working directory):
Example usage with specific directory:
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:
Run in development mode:
Watch for changes:
Clean build directory:
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
This server cannot be installed
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.