Skip to main content
Glama
sashapopik0

MCP-сервер для Telegram

by sashapopik0
README.md
# MCP-сервер для Telegram

Асинхронный MCP-сервер с взаимодействием с ТГ-ботом на базе `mcp` и `aiogram 3`.

## Основные инструменты MCP

1. Асинхронный `send_message` — эта функция помогает отправлять сообщения в определенный чат или во все сразу.

2. Асинхронный `get_recent_messages` — эта функция возвращает словарь или список с определенным количеством сообщений.

3. Асинхронный `get_chat_info` — эта функция возвращает информацию о чате.

## Начало работы

### Подготовка окружения

```bash

    # Клонирование репозитория

    git clone

    # Создание и активация виртуального окружения

    python -m venv .venv

    # Windows:

    venv\\Scripts\\activate

    # macOS/Linux:

    source venv/bin/activate

    # Установка зависимостей

    pip install -r requirements.txt

```

### Настройка `.env.example`

1. Создайте бота через @BotFather

2. Получите токен

3. Присвойте его переменной `TOKEN_BOT` без кавычек и пробелов

### Настройка MCP

1. Запустите в консоли `npx @modelcontextprotocol/inspector`

2. В браузере, в открывшейся странице, справа сверху нажмите на кнопку `Add Servers`, затем `+ Add manually`

3. Далее в окне заполните

    a. `Server ID`, придумайте название вашего сервера

    b. `Transport`, оставьте как есть — `stdio (local process)`

    c. `Command`, напишите полный путь до вашего проекта, например, `путь_до_вашей_папки_с_проектом\.venv\Scripts\python.exe`

    d. `Arguments`, напишите имя файла — `main.py`

    e. `Environment`, можно оставить пустым

    f. `Working directory`, путь до папки проекта

## Работа проекта

### Запуск

Включите тумблер своего проекта в MCP и дождитесь `Connected`

## Тестирование

1. Добавьте бота в разные группы и напишите пару сообщений в них

2. Зайдите на страницу MCP

3. Нажмите на кнопку `tools` вверху

4. Протестируйте каждую функцию