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):
setup_env.bat
Для Windows (PowerShell):
powershell -ExecutionPolicy Bypass -File setup_env.ps1
Для Linux/macOS:
chmod +x setup_env.sh
./setup_env.sh
Вариант 2: Ручная установка с виртуальным окружением
Создайте и активируйте виртуальное окружение, затем установите зависимости:
Windows:
# Создание виртуального окружения
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:
# Создание виртуального окружения
python3 -m venv venv
# Активация
source venv/bin/activate
# Установка зависимостей
pip install --upgrade pip
pip install -r requirements.txt
Вариант 3: Без виртуального окружения (не рекомендуется)
В двух разных терминалах (или по очереди):
cd mcp_server
pip install -r requirements.txt
cd telegram_bot
pip install -r requirements.txt
2) Настройка переменных окружения
Из-за настроек проекта файлы .env не коммитятся — создай их локально по примерам:
mcp_server/env.example.txt→ создайmcp_server/.envtelegram_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 сервера
cd mcp_server
python server.py
Проверка:
GET http://127.0.0.1:8000/healthGET http://127.0.0.1:8000/toolsPOST http://127.0.0.1:8000/call
4) Запуск Telegram бота
cd telegram_bot
python bot.py
Примеры запросов в Telegram
- "покажи все товары"
- "найди чай"
- "добавь товар яблоки категория фрукты цена 120"
- "посчитай (2+2)*3"
Активация виртуального окружения
После первоначальной настройки, для повторной активации виртуального окружения:
Windows:
activate_env.bat
Windows (PowerShell):
powershell -ExecutionPolicy Bypass -File activate_env.ps1
Linux/macOS:
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 может быть запрещён запуск скриптов. Выполни один раз:
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned