porcupine-om/MCP-SERVER
If you are the rightful owner of MCP-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 dayong@mcphub.com.
MCP Connect is a project designed for managing a supermarket's product database through an MCP server and a Telegram bot.
MCP Connect - Проект для работы с базой данных товаров
Полный проект, состоящий из MCP сервера и Telegram бота для работы с базой данных товаров супермаркета.
Структура проекта
MCP SERVER/
├── mcp_server/ # MCP сервер
│ ├── server.py # Основной MCP сервер (stdio)
│ ├── http_server.py # HTTP обертка для MCP сервера
│ ├── db.py # Работа с SQLite базой данных
│ ├── tools.py # MCP инструменты
│ ├── products.db # База данных (создается автоматически)
│ ├── requirements.txt # Зависимости
│ └── README.md # Документация MCP сервера
│
├── telegram_bot/ # Telegram бот
│ ├── bot.py # Основной файл бота
│ ├── config.py # Конфигурация и загрузка .env
│ ├── mcp_client.py # Клиент для работы с MCP сервером
│ ├── requirements.txt # Зависимости
│ ├── .env.example # Пример файла с переменными окружения
│ └── README.md # Документация бота
│
├── start_all.ps1 # Скрипт для запуска обоих сервисов
├── start_bot.ps1 # Скрипт для запуска только бота
└── README.md # Главная документация проекта
Быстрый старт
1. Установка зависимостей
MCP Сервер
cd mcp_server
pip install -r requirements.txt
Примечание: Для базового MCP сервера (server.py) зависимости не требуются, все модули входят в стандартную библиотеку Python. Зависимости нужны только для HTTP сервера (http_server.py).
Telegram Бот
cd telegram_bot
pip install -r requirements.txt
Примечание: Бот использует библиотеку aiogram (совместима с Python 3.13).
2. Настройка Telegram бота
- Создайте файл
.envв директорииtelegram_bot:
cd telegram_bot
# Windows PowerShell:
copy .env.example .env
# Linux/Mac:
cp .env.example .env
- Отредактируйте
.envфайл и укажите:TELEGRAM_API_TOKEN- токен бота от @BotFatherOPENAI_API_KEY- API ключ OpenAI (через Proxyapi)- Остальные параметры можно оставить по умолчанию
3. Запуск проекта
Шаг 1: Запустите MCP HTTP сервер
В одном терминале:
cd mcp_server
python http_server.py
Сервер запустится на http://localhost:8000
Шаг 2: Запустите Telegram бота
В другом терминале:
cd telegram_bot
python bot.py
Бот готов к работе! Найдите его в Telegram и отправьте команду /start.
Альтернативный способ: Используйте скрипт start_all.ps1 для автоматического запуска обоих сервисов в отдельных окнах.
Использование
Команды бота
/start- Начать работу с ботом/help- Показать справку
Примеры запросов
Бот понимает естественный язык:
- "покажи все товары"
- "найди чай"
- "покажи товары в категории Фрукты"
- "найди товар с ID 5"
- "добавь товар яблоки 120 фрукт"
- "сколько будет 2+2*3"
Как это работает
- MCP Сервер - предоставляет инструменты для работы с базой данных товаров через SQLite
- HTTP Обертка - позволяет подключаться к MCP инструментам через HTTP API
- Telegram Бот - использует OpenAI для понимания запросов пользователя и вызывает соответствующие MCP инструменты
Процесс обработки запроса:
- Пользователь отправляет сообщение боту
- Бот отправляет запрос в OpenAI (через Proxyapi)
- LLM анализирует запрос и определяет, нужен ли вызов MCP инструмента
- Если нужен инструмент, бот вызывает его через HTTP API MCP сервера
- Результат форматируется и отправляется пользователю
Доступные MCP инструменты
list_products- показать все товарыfind_product- найти товары по имениfind_products_by_category- найти товары по категорииfind_product_by_ID- найти товар по IDadd_product- добавить товарcalculate- вычислить математическое выражение
Требования
- Python 3.13 (или 3.7+ для совместимости)
- Telegram Bot Token от @BotFather
- OpenAI API Key (через Proxyapi)
- Установленные зависимости (см. requirements.txt в каждой директории)
Устранение неполадок
Бот не отвечает
- Проверьте, что MCP HTTP сервер запущен на
http://localhost:8000 - Проверьте правильность токена в
.env - Проверьте логи бота
Ошибки подключения к MCP серверу
- Убедитесь, что
http_server.pyзапущен - Проверьте URL в
MCP_SERVER_URLв.env
Ошибки OpenAI
- Проверьте правильность API ключа
- Убедитесь, что используете правильный URL Proxyapi
- Проверьте, что модель
o4-mini-2025-04-16доступна через Proxyapi - Убедитесь, что используете библиотеку
aiogram(неpython-telegram-bot)
Лицензия
Проект создан для демонстрации работы MCP сервера и интеграции с Telegram ботом.