Бот поддержки клиентов на базе искусственного интеллекта — сервер MCP
Сервер протокола контекста модели (MCP), который обеспечивает поддержку клиентов на базе искусственного интеллекта с использованием интеграции Cursor AI и Glama.ai.
Функции
Извлечение контекста в реальном времени из Glama.ai
Генерация ответов на основе искусственного интеллекта с помощью Cursor AI
Поддержка пакетной обработки
Приоритетная очередь
Ограничение скорости
Отслеживание взаимодействия пользователя
Мониторинг здоровья
Соответствие протоколу MCP
Related MCP server: MCP Starter
Предпосылки
Питон 3.8+
База данных PostgreSQL
API-ключ Glama.ai
API-ключ курсора AI
Установка
Клонируйте репозиторий:
git clone <repository-url>
cd <repository-name>Создайте и активируйте виртуальную среду:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activateУстановите зависимости:
pip install -r requirements.txtСоздайте файл
.envна основе.env.example:
cp .env.example .envНастройте файл
.env, используя свои учетные данные:
# API Keys
GLAMA_API_KEY=your_glama_api_key_here
CURSOR_API_KEY=your_cursor_api_key_here
# Database
DATABASE_URL=postgresql://user:password@localhost/customer_support_bot
# API URLs
GLAMA_API_URL=https://api.glama.ai/v1
# Security
SECRET_KEY=your_secret_key_here
# MCP Server Configuration
SERVER_NAME="AI Customer Support Bot"
SERVER_VERSION="1.0.0"
API_PREFIX="/mcp"
MAX_CONTEXT_RESULTS=5
# Rate Limiting
RATE_LIMIT_REQUESTS=100
RATE_LIMIT_PERIOD=60
# Logging
LOG_LEVEL=INFOНастройте базу данных:
# Create the database
createdb customer_support_bot
# Run migrations (if using Alembic)
alembic upgrade headЗапуск сервера
Запустите сервер:
python app.pyСервер будет доступен по адресу http://localhost:8000
Конечные точки API
1. Корневая конечная точка
GET /Возвращает основную информацию о сервере.
2. Версия МКП
GET /mcp/versionВозвращает поддерживаемые версии протокола MCP.
3. Возможности
GET /mcp/capabilitiesВозвращает возможности сервера и поддерживаемые функции.
4. Обработка запроса
POST /mcp/processОбрабатывайте один запрос с учетом контекста.
Пример запроса:
curl -X POST http://localhost:8000/mcp/process \
-H "Content-Type: application/json" \
-H "X-MCP-Auth: your-auth-token" \
-H "X-MCP-Version: 1.0" \
-d '{
"query": "How do I reset my password?",
"priority": "high",
"mcp_version": "1.0"
}'5. Пакетная обработка
POST /mcp/batchОбработка нескольких запросов в одном запросе.
Пример запроса:
curl -X POST http://localhost:8000/mcp/batch \
-H "Content-Type: application/json" \
-H "X-MCP-Auth: your-auth-token" \
-H "X-MCP-Version: 1.0" \
-d '{
"queries": [
"How do I reset my password?",
"What are your business hours?",
"How do I contact support?"
],
"mcp_version": "1.0"
}'6. Проверка здоровья
GET /mcp/healthПроверьте работоспособность сервера и статус обслуживания.
Ограничение скорости
Сервер реализует ограничение скорости со следующими значениями по умолчанию:
100 запросов за 60 секунд
Информация об ограничении скорости включена в конечную точку проверки работоспособности.
Ответы о превышении лимита скорости включают время сброса
Обработка ошибок
Сервер возвращает структурированные ответы об ошибках в следующем формате:
{
"code": "ERROR_CODE",
"message": "Error description",
"details": {
"timestamp": "2024-02-14T12:00:00Z",
"additional_info": "value"
}
}Распространенные коды ошибок:
RATE_LIMIT_EXCEEDED: превышен лимит скоростиUNSUPPORTED_MCP_VERSION: Неподдерживаемая версия MCPPROCESSING_ERROR: Ошибка обработки запросаCONTEXT_FETCH_ERROR: Ошибка извлечения контекста из Glama.aiBATCH_PROCESSING_ERROR: Ошибка обработки пакетного запроса
Разработка
Структура проекта
.
├── app.py # Main application file
├── database.py # Database configuration
├── middleware.py # Middleware (rate limiting, validation)
├── models.py # Database models
├── mcp_config.py # MCP-specific configuration
├── requirements.txt # Python dependencies
└── .env # Environment variablesДобавление новых функций
Обновите
mcp_config.py, добавив новые параметры конфигурации.При необходимости добавьте новые модели в
models.pyСоздайте новые конечные точки в
app.pyОбновите конечную точку возможностей для отражения новых функций
Безопасность
Все конечные точки MCP требуют аутентификации через заголовок
X-MCP-AuthОграничение скорости реализовано для предотвращения злоупотреблений
Учетные данные базы данных должны храниться в безопасности
Ключи API никогда не следует передавать в систему контроля версий.
Мониторинг
Сервер предоставляет конечные точки проверки работоспособности для мониторинга:
Статус обслуживания
Использование лимита скорости
Подключенные услуги
Время обработки
Внося вклад
Форк репозитория
Создать ветку функций
Зафиксируйте ваши изменения
Нажмите на ветку
Создать запрос на извлечение
Значок подтверждения
Лицензия
Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE .
Поддерживать
Для получения поддержки создайте проблему в репозитории или свяжитесь с командой разработчиков.