Telegram Communicator
STDIOMCP server enabling communication with users through Telegram bot, supporting questions and notifications.
MCP server enabling communication with users through Telegram bot, supporting questions and notifications.
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.
npm install -g mcp-communicator-telegram
npx mcptelegram
To get your Telegram chat ID:
npx mcptelegram-chatid
git clone https://github.com/qpd-v/mcp-communicator-telegram.git cd mcp-communicator-telegram
npm install
Create a Telegram bot:
/newbot
and follow the instructionsGet your chat ID:
.env.example
to .env
.env
file:
TELEGRAM_TOKEN=your_bot_token_here
npm run build node build/get-chat-id.js
.env
file:
TELEGRAM_TOKEN=your_bot_token_here
CHAT_ID=your_chat_id_here
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" } } } }
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?" } });
Sends a notification message to the user via Telegram (no response required).
Input Schema:
{ "type": "object", "properties": { "message": { "type": "string", "description": "The message to send to the user" } }, "required": ["message"] }
Example usage:
await use_mcp_tool({ server_name: "mcp-communicator-telegram", tool_name: "notify_user", arguments: { message: "Task completed successfully!" } });
Sends a file to the user via Telegram.
Input Schema:
{ "type": "object", "properties": { "filePath": { "type": "string", "description": "The path to the file to send" } }, "required": ["filePath"] }
Example usage:
await use_mcp_tool({ server_name: "mcp-communicator-telegram", tool_name: "send_file", arguments: { filePath: "path/to/file.txt" } });
Creates a zip file of a project directory (respecting .gitignore patterns) and sends it to the user via Telegram.
Input Schema:
{ "type": "object", "properties": { "directory": { "type": "string", "description": "Directory to zip (defaults to current working directory)" } }, "required": [] }
Example usage with default directory (current working directory):
await use_mcp_tool({ server_name: "mcp-communicator-telegram", tool_name: "zip_project", arguments: {} });
Example usage with specific directory:
await use_mcp_tool({ server_name: "mcp-communicator-telegram", tool_name: "zip_project", arguments: { directory: "/path/to/your/project" } });
Features:
[project-name]-project.zip
based on the directory nameBuild the project:
npm run build
Run in development mode:
npm run dev
Watch for changes:
npm run watch
Clean build directory:
npm run clean
ISC
qpd-v
0.2.1 # Major version bump for new features: notify_user, send_file, and zip_project tools