telegram-mcp-local-server

Undermove/telegram-mcp-local-server

3.2

If you are the rightful owner of telegram-mcp-local-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

A simple MCP server for interacting with Telegram, allowing chat management and message handling via the Telegram API.

Tools
  1. telegram_connect

    Connects to Telegram using API keys.

  2. telegram_get_chats

    Retrieves a list of chats.

  3. telegram_get_chat_history

    Fetches message history from a specific chat.

  4. telegram_send_message

    Sends a message to a specific chat.

Telegram MCP Local Server

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ MCP (Model Context Protocol) сСрвСр для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Telegram. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ список Ρ‡Π°Ρ‚ΠΎΠ², ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ сообщСний ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ сообщСния Ρ‡Π΅Ρ€Π΅Π· Telegram API.

ВозмоТности

  • πŸ”Œ ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Telegram Ρ‡Π΅Ρ€Π΅Π· API
  • πŸ’¬ ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ списка Ρ‡Π°Ρ‚ΠΎΠ²
  • πŸ“œ ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ истории сообщСний ΠΈΠ· Ρ‡Π°Ρ‚ΠΎΠ²
  • πŸ“€ ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° сообщСний
  • πŸ”„ Π Π°Π±ΠΎΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· stdio (для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с MCP-совмСстимыми ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ)
  • πŸ”’ Π Π΅ΠΆΠΈΠΌ "Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅" (readonly) для бСзопасной Ρ€Π°Π±ΠΎΡ‚Ρ‹

Установка

Π§Π΅Ρ€Π΅Π· npx (рСкомСндуСтся)

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ сСрвСр Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π±Π΅Π· установки:

npx telegram-mcp-local-server

Или ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ глобально:

npm install -g telegram-mcp-local-server
telegram-mcp-local-server

Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

git clone <repository-url>
cd telegram-mcp-server
npm install
npm run build

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Telegram API ΠΊΠ»ΡŽΡ‡Π΅ΠΉ

  1. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° https://my.telegram.org/
  2. Π’ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² свою ΡƒΡ‡Π΅Ρ‚Π½ΡƒΡŽ запись Telegram
  3. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€Π°Π·Π΄Π΅Π» "API development tools"
  4. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ api_id ΠΈ api_hash

ИспользованиС

Запуск сСрвСра

# Π§Π΅Ρ€Π΅Π· npx
npx telegram-mcp-local-server

# Или Ссли установлСн глобально
telegram-mcp-local-server

# Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
npm start
# ΠΈΠ»ΠΈ
npm run dev

Π Π΅ΠΆΠΈΠΌ "Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅" (Readonly Mode)

Для бСзопасной Ρ€Π°Π±ΠΎΡ‚Ρ‹ сСрвСр ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ "Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅", Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ чтСния (ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ‡Π°Ρ‚ΠΎΠ² ΠΈ истории сообщСний), Π° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° сообщСний Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π°.

# Π§Π΅Ρ€Π΅Π· npx
TELEGRAM_READONLY_MODE=true npx telegram-mcp-local-server

# Или Ссли установлСн глобально  
TELEGRAM_READONLY_MODE=true telegram-mcp-local-server

# Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
TELEGRAM_READONLY_MODE=true npm start
# ΠΈΠ»ΠΈ
TELEGRAM_READONLY_MODE=true npm run dev

Π’ readonly Ρ€Π΅ΠΆΠΈΠΌΠ΅ доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ инструмСнты:

  • telegram_connect - ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Telegram
  • telegram_get_chats - ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ списка Ρ‡Π°Ρ‚ΠΎΠ²
  • telegram_get_chat_history - ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ истории сообщСний

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ telegram_send_message нСдоступСн Π² readonly Ρ€Π΅ΠΆΠΈΠΌΠ΅.

ДоступныС инструмСнты

telegram_connect

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Telegram с использованиСм API ΠΊΠ»ΡŽΡ‡Π΅ΠΉ.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

  • apiId (ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ): Telegram API ID
  • apiHash (ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ): Telegram API Hash
  • sessionString (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ): Π‘Ρ‚Ρ€ΠΎΠΊΠ° сСссии для Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ
telegram_get_chats

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ списка Ρ‡Π°Ρ‚ΠΎΠ².

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

  • limit (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ): МаксимальноС количСство Ρ‡Π°Ρ‚ΠΎΠ² (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: 50)
telegram_get_chat_history

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ истории сообщСний ΠΈΠ· ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ‡Π°Ρ‚Π°.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

  • chatId (ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ): ID Ρ‡Π°Ρ‚Π° ΠΈΠ»ΠΈ username
  • limit (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ): МаксимальноС количСство сообщСний (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: 50)
  • offsetId (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ): ID сообщСния для Π½Π°Ρ‡Π°Π»Π° (для ΠΏΠ°Π³ΠΈΠ½Π°Ρ†ΠΈΠΈ)
telegram_send_message

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° сообщСния Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ‡Π°Ρ‚.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

  • chatId (ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ): ID Ρ‡Π°Ρ‚Π° ΠΈΠ»ΠΈ username
  • message (ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ): ВСкст сообщСния

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования

// ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Telegram
{
  "name": "telegram_connect",
  "arguments": {
    "apiId": "your_api_id",
    "apiHash": "your_api_hash"
  }
}

// ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ списка Ρ‡Π°Ρ‚ΠΎΠ²
{
  "name": "telegram_get_chats",
  "arguments": {
    "limit": 20
  }
}

// ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ истории сообщСний
{
  "name": "telegram_get_chat_history", 
  "arguments": {
    "chatId": "@username",
    "limit": 100
  }
}

// ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° сообщСния
{
  "name": "telegram_send_message",
  "arguments": {
    "chatId": "@username",
    "message": "ΠŸΡ€ΠΈΠ²Π΅Ρ‚!"
  }
}

Настройка Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Telegram API Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ строку сСссии:

Бпособ 1: ИспользованиС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ session-helper

npm run session

Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ инструкциям Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅:

  1. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ API ID ΠΈ Hash
  2. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°
  3. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠ΄ ΠΈΠ· SMS
  4. ΠŸΡ€ΠΈ нСобходимости Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π΄Π²ΡƒΡ…Ρ„Π°ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΉ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ
  5. Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ строку сСссии

Бпособ 2: Π’Ρ€ΡƒΡ‡Π½ΡƒΡŽ

npm run test-client

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° запустит ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ тСст ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° для получСния сСссии.

ВСстированиС

ВСст основного Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°

npm run example

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ доступныС инструмСнты ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования.

Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ тСст

npm run test-client

Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ тСст, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈ основныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Настройка MCP ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°

Для использования с MCP-совмСстимыми ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Claude Desktop), Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ:

Π§Π΅Ρ€Π΅Π· npx (рСкомСндуСтся)

{
  "mcpServers": {
    "telegram": {
      "command": "npx",
      "args": ["telegram-mcp-local-server"],
      "env": {
        "TELEGRAM_API_ID": "your_api_id",
        "TELEGRAM_API_HASH": "your_api_hash",
        "TELEGRAM_SESSION_STRING": "your_session_string",
        "TELEGRAM_READONLY_MODE": "true"
      }
    }
  }
}

Π§Π΅Ρ€Π΅Π· Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ установку

{
  "mcpServers": {
    "telegram": {
      "command": "telegram-mcp-local-server",
      "env": {
        "TELEGRAM_API_ID": "your_api_id",
        "TELEGRAM_API_HASH": "your_api_hash", 
        "TELEGRAM_SESSION_STRING": "your_session_string",
        "TELEGRAM_READONLY_MODE": "true"
      }
    }
  }
}

Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ установка

{
  "mcpServers": {
    "telegram": {
      "command": "node",
      "args": ["dist/index.js"],
      "cwd": "/path/to/telegram-mcp-server",
      "env": {
        "TELEGRAM_API_ID": "your_api_id",
        "TELEGRAM_API_HASH": "your_api_hash",
        "TELEGRAM_SESSION_STRING": "your_session_string",
        "TELEGRAM_READONLY_MODE": "true"
      }
    }
  }
}

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: УстановитС TELEGRAM_READONLY_MODE=true для бСзопасного Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ чтСния.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

src/
β”œβ”€β”€ index.ts          # Основной MCP сСрвСр
└── telegram-client.ts # ΠšΠ»ΠΈΠ΅Π½Ρ‚ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Telegram API

Зависимости

  • @modelcontextprotocol/sdk - SDK для MCP
  • telegram - Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Telegram API
  • zod - Валидация ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°

Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ см. .

Быстрый старт для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²

git clone <repository-url>
cd telegram-mcp-server
npm install
npm run build
npm test

АвтоматичСская публикация

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ GitHub Actions для автоматичСской ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² npm ΠΏΡ€ΠΈ измСнСниях Π² main Π²Π΅Ρ‚ΠΊΠ΅.

ЛицСнзия

MIT