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.2.0.tar.gz (77.9 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.2.0-py3-none-any.whl (83.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: getstack_mcp-2.2.0.tar.gz
  • Upload date:
  • Size: 77.9 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.2.0.tar.gz
Algorithm Hash digest
SHA256 7ae1489a9ed963047ea55c50faa5bf1ff4aaa0411234ed254d88cf7d74697be0
MD5 6bbb5b3cf7ae2f5feca18cc6b3e61d3f
BLAKE2b-256 9a4545e807bcb91063e311e455c5e210f1f455e095d7297c9353240920abf670

See more details on using hashes here.

File details

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

File metadata

  • Download URL: getstack_mcp-2.2.0-py3-none-any.whl
  • Upload date:
  • Size: 83.7 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 67e541c3f51fdf6875bceeafc802423cb75349676a1684413da790a13448d4b5
MD5 5456ca960e46e3e0b7bcb92135550121
BLAKE2b-256 525ff9cbb2bd689e102daa8f76a36eb2fdd048d26a4d63b7565c4e22844c7ad2

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