MCP сервер для управления шаблонами GetStack из базы данных Supabase с поддержкой RAG поиска.
- 📋 Получение списка всех доступных шаблонов
- 🔍 RAG поиск шаблонов с использованием векторных эмбеддингов
- 🔄 Fallback на поиск по ключевым словам
- 📦 Клонирование шаблонов в указанную папку
- 🔐 Безопасная архитектура без прямого доступа к OpenAI API
MCP сервер работает через API фронтенда для генерации эмбеддингов, что обеспечивает:
- Безопасность: OpenAI API ключ хранится только на сервере фронтенда
- Централизованную логику: Вся логика поиска и обработки в одном месте
- Fallback механизмы: Автоматический переход на поиск по ключевым словам
cd mcp
uv sync
Установите переменные окружения:
# URL фронтенд API (по умолчанию http://localhost:3000)
export FRONTEND_API_URL="http://localhost:3000"
cd mcp
uv run python server.py
Получает список всех доступных шаблонов из базы данных Supabase.
Возвращает:
success
: Статус операцииtemplates
: Список шаблонов с базовой информациейcount
: Количество найденных шаблонов
Выполняет RAG поиск шаблонов с использованием векторных эмбеддингов.
Параметры:
query
: Поисковый запросlimit
: Максимальное количество результатов (по умолчанию 10)similarity_threshold
: Минимальный порог сходства от 0 до 1 (по умолчанию 0.7)auth_token
: Токен авторизации для доступа к API (опционально)
Возвращает:
success
: Статус операцииtemplates
: Список шаблонов отсортированных по релевантностиsearch_type
: Тип поиска ("rag" или "keyword")message
: Дополнительная информация
Выполняет поиск шаблонов используя готовую логику фронтенда.
Параметры:
query
: Поисковый запросauth_token
: Токен авторизации для доступа к API (опционально)
Возвращает:
success
: Статус операцииtemplates
: Список шаблонов отсортированных по релевантностиsearch_type
: Тип поиска ("rag" или "keyword")message
: Информация о результатах поиска
Клонирует указанный шаблон в заданную папку.
Параметры:
template_id
: ID шаблона в базе данных Supabasecurrent_folder
: Целевая папка для копирования шаблона (полный абсолютный путь)
Возвращает:
success
: Статус операцииtemplate_name
: Название шаблонаfiles_copied
: Количество скопированных файловtarget_folder
: Путь к целевой папке
# Поиск с использованием RAG
result = search_templates("React TypeScript components")
# Поиск через фронтенд API
result = search_templates_via_frontend_api("React TypeScript components")
# Клонирование шаблона в текущую папку
result = use_template("template-id-123", "/path/to/project")
Все функции возвращают структурированные ответы с полем success
:
success: true
- операция выполнена успешноsuccess: false
- произошла ошибка, детали в полеerror
- RAG поиск недоступен: Автоматический переход на поиск по ключевым словам
- Фронтенд API недоступен: Прямой поиск в базе данных Supabase
- Сетевые ошибки: Подробные сообщения об ошибках с рекомендациями
- OpenAI API ключ никогда не передается в MCP сервер
- Все запросы к внешним API проходят через фронтенд
- Поддержка токенов авторизации для защищенных эндпоинтов
- Валидация всех входных параметров
Сервер ведет подробные логи всех операций:
- Успешные операции: INFO уровень
- Ошибки: ERROR уровень с полными трассировками
- Предупреждения: WARNING уровень для fallback операций
MIT