GetStack Templates MCP Server
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
Доступные функции
get_templates()
Получает список всех доступных шаблонов из базы данных Supabase.
Возвращает:
success: Статус операцииtemplates: Список шаблонов с базовой информациейcount: Количество найденных шаблонов
search_templates(query, limit=10, similarity_threshold=0.7, auth_token=None)
Выполняет RAG поиск шаблонов с использованием векторных эмбеддингов.
Параметры:
query: Поисковый запросlimit: Максимальное количество результатов (по умолчанию 10)similarity_threshold: Минимальный порог сходства от 0 до 1 (по умолчанию 0.7)auth_token: Токен авторизации для доступа к API (опционально)
Возвращает:
success: Статус операцииtemplates: Список шаблонов отсортированных по релевантностиsearch_type: Тип поиска ("rag" или "keyword")message: Дополнительная информация
search_templates_via_frontend_api(query, auth_token=None)
Выполняет поиск шаблонов используя готовую логику фронтенда.
Параметры:
query: Поисковый запросauth_token: Токен авторизации для доступа к API (опционально)
Возвращает:
success: Статус операцииtemplates: Список шаблонов отсортированных по релевантностиsearch_type: Тип поиска ("rag" или "keyword")message: Информация о результатах поиска
use_template(template_id, current_folder)
Клонирует указанный шаблон в заданную папку.
Параметры:
template_id: ID шаблона в базе данных Supabasecurrent_folder: Целевая папка для копирования шаблона (полный абсолютный путь)
Возвращает:
success: Статус операцииtemplate_name: Название шаблонаfiles_copied: Количество скопированных файловtarget_folder: Путь к целевой папке
Примеры использования
Поиск React шаблонов
# Поиск с использованием 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
Fallback механизмы
- RAG поиск недоступен: Автоматический переход на поиск по ключевым словам
- Фронтенд API недоступен: Прямой поиск в базе данных Supabase
- Сетевые ошибки: Подробные сообщения об ошибках с рекомендациями
Безопасность
- OpenAI API ключ никогда не передается в MCP сервер
- Все запросы к внешним API проходят через фронтенд
- Поддержка токенов авторизации для защищенных эндпоинтов
- Валидация всех входных параметров
Логирование
Сервер ведет подробные логи всех операций:
- Успешные операции: INFO уровень
- Ошибки: ERROR уровень с полными трассировками
- Предупреждения: WARNING уровень для fallback операций
Лицензия
MIT
Metadata
Release files for getstack-mcp 2.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| getstack_mcp-2.4.0.tar.gz | 77.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| getstack_mcp-2.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 160.5 kB
Release files / getstack_mcp-2.4.0.tar.gz
| Download URL | getstack_mcp-2.4.0.tar.gz |
|---|---|
| Size | 77.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
adfec3af1678c7b7efd6fdbfe5c8ba60d49bffbb16036c5ac6f291b8c05252cd
|
|
BLAKE2b-256 checksum How to use checksums |
e1785c8d188353de9fbd7acd0c21ea86f6826a6a2dfebc962f487348c121f1bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Release files / getstack_mcp-2.4.0-py3-none-any.whl
| Download URL | getstack_mcp-2.4.0-py3-none-any.whl |
|---|---|
| Size | 83.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
20235b6e157f3111f20f0ce9a90d7387fbccd29ca9d3aa0bdaec129289ceaa3b
|
|
BLAKE2b-256 checksum How to use checksums |
10322024c1164127ac1288ea8c9fbbee1d7d275fc7e237d528cb291b7439973e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|