telegram-bot-mcp-server
This is a Telegram bot MCP Server that enables standardized communication with the Telegram Bot API. It is built using the Model Context Protocol and offers various tools for bot management, messaging, and user administration.
๐ง Telegram Bot MCP Server
This project is a Telegram bot integration built using the Model Context Protocol (MCP) that exposes a suite of useful tools for interacting with the Telegram Bot API. It enables standardized communication with Telegram via a structured set of commands such as messaging, user management, and bot profile configuration.
๐ Features
This MCP server exposes the following tools:
โ
get-me
Test your bot's authentication and retrieve basic information about the bot.
๐ฌ send-message
Send a plain text message to a specific user or chat.
- Input:
chatId
: Target chat ID or usernametext
: Message content
๐ผ๏ธ send-photo
Send a photo with an optional caption.
- Input:
chatId
: Target chat ID or usernamemedia
: File ID, URL, or uploaded filetext
(optional): Caption for the photo
๐จ kick-chat-member
Ban a user from a group, supergroup, or channel.
- Input:
chatId
: Target chatuserId
: User to ban
โป๏ธ un-ban-chat-member
Unban a previously banned user from a chat.
- Input:
chatId
: Target chatuserId
: User to unban
๐งพ get-chat
Fetch full chat metadata and details.
- Input:
chatId
: Target chat
๐ฅ get-chat-member-count
Get the total number of members in a group or channel.
- Input:
chatId
: Target chat
๐ get-chat-member
Get detailed info about a specific member in a group or channel.
- Input:
chatId
: Target chatuserId
: Target user
โ๏ธ set-my-short-description
Update your bot's short description (shown in the profile and shares).
- Input:
short_description
: New short description (max 120 chars)
๐ get-my-short-description
Fetch the current short description of the bot.
๐ set-my-commands
Set the list of commands that appear in the Telegram UI.
- Input:
commands
: Array of{ command, description }
๐ get-my-commands
Get the current list of commands configured for the bot.
๐งโ๐ป set-my-name
Update the name of the bot.
- Input:
name
: New bot name
๐ get-my-name
Retrieve the current name of the bot.
๐ set-my-description
Update the full description of the bot (shown in empty chats).
- Input:
description
: New bot description (max 512 chars)
๐ get-my-description
Fetch the current description of the bot.
๐ฆ Installation
1. Clone the Repository
git clone https://github.com/siavashdelkhosh81/telegram-bot-mcp-server.git
cd telegram-bot-mcp-server
2. Get Your Telegram Bot Token
- Open Telegram and search for @BotFather.
- Start a conversation and run the command:
/newbot
- Follow the prompts to name your bot and get your API token.
- Save the token.
3. Install and build
Install packages
yarn
Build packages
yarn build
4. Configure Your MCP Client
Add this to your MCP client configuration:
{
"mcpServers": {
"telegram_bot": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/PARENT/FOLDER/.build/index.js"],
"env": {
"TELEGRAM_BOT_API_TOKEN": "your bot token"
}
}
}
}
๐ Replace
/ABSOLUTE/PATH/TO/PARENT/FOLDER/.build/index.js
with the real path to your compiled project entry point.
๐ฌ Support & Feedback
Feel free to open issues or contribute to the project. For Telegram-specific help, refer to the Telegram Bot API documentation.
Buy me a Coffee :) https://buymeacoffee.com/delkhoshsiv
License
This project is licensed under the MIT License - see the file for details.