API和Telegram机器人服务

一个基于Flask的API服务和Telegram机器人,提供状态检查、模拟投币和消息回显功能,支持Docker容器化部署。

  • by Pavel730309
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Pavel730309/VCc02.Using_MCP_servers_in_Cursor

使用说明

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

Установка и запуск

Локальный запуск

  1. Установка зависимостей для API:

    cd api
    pip install -r requirements.txt
    
  2. Запуск API:

    python app.py
    

    API будет доступен по адресу: http://localhost:5000

  3. Тестирование 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 запуск

  1. Создание файла .env:

    cp env.example .env
    # Отредактируйте .env и добавьте ваш BOT_TOKEN
    
  2. Запуск через Docker Compose:

    docker-compose up --build
    

MCP Context7 интеграция

Проект настроен для работы с MCP Context7 сервером для получения актуальной документации библиотек.

Конфигурация MCP

Файл mcp-config.json содержит конфигурацию для подключения Context7 MCP сервера:

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp"]
    }
  }
}

Использование MCP в Cursor

  1. Скопируйте содержимое mcp-config.json в файл .cursor/mcp.json
  2. Перезапустите Cursor
  3. Проверьте панель MCP - сервер должен быть подключен (зеленая точка)

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

API тесты

  • ✅ GET /ping - возвращает {"ok": true, "ts": timestamp}
  • ✅ GET /flip - возвращает {"result": "heads" или "tails"}
  • ✅ POST /echo - возвращает отправленный JSON

Bot тесты

Для тестирования бота:

  1. Создайте бота через @BotFather в Telegram
  2. Получите токен и добавьте в .env файл
  3. Запустите бота
  4. Отправьте команды в чат с ботом

Технологии

  • 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.