MCP Context7 Project - API и Telegram Bot
Этот проект демонстрирует использование MCP (Model Context Protocol) серверов в Cursor для создания API и Telegram бота.
Структура проекта
├── api/ # Flask API сервер
│ ├── app.py # Основной код API
│ ├── requirements.txt # Python зависимости
│ └── Dockerfile # Docker конфигурация для API
├── bot/ # Telegram Bot
│ ├── bot.py # Основной код бота
│ ├── requirements.txt # Python зависимости
│ └── Dockerfile # Docker конфигурация для бота
├── docker-compose.yml # Docker Compose конфигурация
├── env.example # Пример переменных окружения
├── mcp-config.json # Конфигурация MCP сервера
└── README.md # Этот файлФункциональность
API (Flask)
- GET /ping - возвращает статус API с временной меткой
- GET /flip - возвращает случайный результат подбрасывания монетки (heads/tails)
- POST /echo - принимает JSON и возвращает его обратно
- GET /health - проверка здоровья API
Telegram Bot (aiogram)
- /start - приветствие и список команд
- /help - справка по командам
- /ping - проверка статуса API
- /flip - подбрасывание монетки через API
- /echo - отправка текста в API
Установка и запуск
Локальный запуск
- Установка зависимостей для API:
cd api
pip install -r requirements.txt- Запуск API:
python app.pyAPI будет доступен по адресу: http://localhost:5000
- Тестирование API:
# Проверка статуса
curl http://localhost:5000/ping
# Подбрасывание монетки
curl http://localhost:5000/flip
# Echo тест
curl -X POST http://localhost:5000/echo -H "Content-Type: application/json" -d '{"text": "Hello World"}'Docker запуск
- Создание файла .env:
cp env.example .env
# Отредактируйте .env и добавьте ваш BOT_TOKEN- Запуск через Docker Compose:
docker-compose up --buildMCP Context7 интеграция
Проект настроен для работы с MCP Context7 сервером для получения актуальной документации библиотек.
Конфигурация MCP
Файл mcp-config.json содержит конфигурацию для подключения Context7 MCP сервера:
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp"]
}
}
}Использование MCP в Cursor
- Скопируйте содержимое
mcp-config.jsonв файл.cursor/mcp.json - Перезапустите Cursor
- Проверьте панель MCP - сервер должен быть подключен (зеленая точка)
Тестирование
API тесты
- ✅ GET /ping - возвращает {"ok": true, "ts": timestamp}
- ✅ GET /flip - возвращает {"result": "heads" или "tails"}
- ✅ POST /echo - возвращает отправленный JSON
Bot тесты
Для тестирования бота:
- Создайте бота через @BotFather в Telegram
- Получите токен и добавьте в .env файл
- Запустите бота
- Отправьте команды в чат с ботом
Технологии
- Backend: Flask (Python)
- Bot: aiogram 3.x (Python)
- Containerization: Docker, Docker Compose
- MCP: Context7 для документации
- API: REST API с CORS поддержкой
Переменные окружения
BOT_TOKEN- токен Telegram бота (получить у @BotFather)API_URL- URL API сервера (по умолчанию: http://api:5000)
Требования
- Python 3.11+
- Docker и Docker Compose
- Telegram Bot Token (для работы бота)
Автор
Проект создан в рамках изучения MCP серверов в Cursor.
