Skip to main content
Glama
balychevtsev-coder

Product MCP Telegram Bot

README.md
# Product MCP + Telegram Bot

## Структура

```
MCP/
├── mcp_server/
│   ├── server.py
│   ├── db.py
│   ├── tools.py
│   ├── requirements.txt
│   └── env.example.txt
└── telegram_bot/
    ├── bot.py
    ├── config.py
    ├── mcp_client.py
    ├── requirements.txt
    └── env.example.txt
```

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

### Вариант 1: Использование скрипта установки (рекомендуется)

Для Windows (CMD):
```bash
setup_env.bat
```

Для Windows (PowerShell):
```bash
powershell -ExecutionPolicy Bypass -File setup_env.ps1
```

Для Linux/macOS:
```bash
chmod +x setup_env.sh
./setup_env.sh
```

### Вариант 2: Ручная установка с виртуальным окружением

Создайте и активируйте виртуальное окружение, затем установите зависимости:

#### Windows:
```bash
# Создание виртуального окружения
python -m venv venv

# Активация (CMD)
venv\Scripts\activate.bat

# Активация (PowerShell)
.\venv\Scripts\Activate.ps1

# Установка зависимостей
pip install --upgrade pip
pip install -r requirements.txt
```

#### Linux/macOS:
```bash
# Создание виртуального окружения
python3 -m venv venv

# Активация
source venv/bin/activate

# Установка зависимостей
pip install --upgrade pip
pip install -r requirements.txt
```

### Вариант 3: Без виртуального окружения (не рекомендуется)
В двух разных терминалах (или по очереди):
```bash
cd mcp_server
pip install -r requirements.txt
```

```bash
cd telegram_bot
pip install -r requirements.txt
```

## 2) Настройка переменных окружения

Из-за настроек проекта файлы `.env` не коммитятся — создай их локально по примерам:

- `mcp_server/env.example.txt` → создай `mcp_server/.env`
- `telegram_bot/env.example.txt` → создай `telegram_bot/.env`

Минимально нужно:

- **Telegram**: `TELEGRAM_API_TOKEN`
- **OpenAI**: `OPENAI_API_KEY`
- **MCP URL для бота**: `MCP_SERVER_URL` (по умолчанию `http://127.0.0.1:8000`)

## 3) Запуск MCP сервера

```bash
cd mcp_server
python server.py
```

Проверка:
- `GET http://127.0.0.1:8000/health`
- `GET http://127.0.0.1:8000/tools`
- `POST http://127.0.0.1:8000/call`

## 4) Запуск Telegram бота

```bash
cd telegram_bot
python bot.py
```

## Примеры запросов в Telegram

- "покажи все товары"
- "найди чай"
- "добавь товар яблоки категория фрукты цена 120"
- "посчитай (2+2)*3"

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

После первоначальной настройки, для повторной активации виртуального окружения:

### Windows:
```bash
activate_env.bat
```

### Windows (PowerShell):
```bash
powershell -ExecutionPolicy Bypass -File activate_env.ps1
```

### Linux/macOS:
```bash
chmod +x activate_env.sh  # Make script executable (one-time)
./activate_env.sh
```

Или вручную:
- Windows CMD: `venv\Scripts\activate.bat`
- Windows PowerShell: `.\venv\Scripts\Activate.ps1`
- Linux/macOS: `source venv/bin/activate`

## Если venv не активируется (частая причина на PowerShell)

В PowerShell может быть запрещён запуск скриптов. Выполни один раз:

```bash
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
```