电报通讯器
STDIO通过Telegram机器人实现用户通信的MCP服务器
通过Telegram机器人实现用户通信的MCP服务器
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