Skip to main content

MCP server for managing getstack templates from Supabase database with RAG search

Project description

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 шаблона в базе данных Supabase
  • current_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 механизмы

  1. RAG поиск недоступен: Автоматический переход на поиск по ключевым словам
  2. Фронтенд API недоступен: Прямой поиск в базе данных Supabase
  3. Сетевые ошибки: Подробные сообщения об ошибках с рекомендациями

Безопасность

  • OpenAI API ключ никогда не передается в MCP сервер
  • Все запросы к внешним API проходят через фронтенд
  • Поддержка токенов авторизации для защищенных эндпоинтов
  • Валидация всех входных параметров

Логирование

Сервер ведет подробные логи всех операций:

  • Успешные операции: INFO уровень
  • Ошибки: ERROR уровень с полными трассировками
  • Предупреждения: WARNING уровень для fallback операций

Лицензия

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

getstack_mcp-2.1.0.tar.gz (78.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

getstack_mcp-2.1.0-py3-none-any.whl (84.2 kB view details)

Uploaded Python 3

File details

Details for the file getstack_mcp-2.1.0.tar.gz.

File metadata

  • Download URL: getstack_mcp-2.1.0.tar.gz
  • Upload date:
  • Size: 78.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for getstack_mcp-2.1.0.tar.gz
Algorithm Hash digest
SHA256 6cc7c5d64b05543c52b9cd249842f196c2b1353b87ddc4dd2d49810ceea99364
MD5 48c044d8049c58e8ddb47bb18aeee02d
BLAKE2b-256 69031e6fd847a8c318355adc291f870091ece3e2ad82fd1932f2f1aa66a87979

See more details on using hashes here.

File details

Details for the file getstack_mcp-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: getstack_mcp-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 84.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for getstack_mcp-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cc81826479dd66c5c89c8ff59ac5a8c5f3501b9293c5f71e8abf7d8bc960d88f
MD5 33c6edb53ec6c3f65750745ea7809405
BLAKE2b-256 9cdd70685f72e457831163548552be951137bea5400dcac5d610ee813ae64029

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page