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.1.tar.gz (78.2 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.1-py3-none-any.whl (84.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: getstack_mcp-2.1.1.tar.gz
  • Upload date:
  • Size: 78.2 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.1.tar.gz
Algorithm Hash digest
SHA256 ac2788e8803d176d4d936dde822804e1788b4ced36459aed3065947a88e9e576
MD5 4b67d4b562e9fc786d8c55f871b1c069
BLAKE2b-256 8b23d720f0c57b4a48e42a17f05ae8051e71facdc6c045a1e2324ae0789d0874

See more details on using hashes here.

File details

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

File metadata

  • Download URL: getstack_mcp-2.1.1-py3-none-any.whl
  • Upload date:
  • Size: 84.1 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d51e0abdc5ce4c50953a3bb771e7db1b999bda8774028a90b029aff47c6e4680
MD5 51896b1f542540a3565df23b9db194e6
BLAKE2b-256 8864d3e6c3a94242243aa939ee5a8c4cbd704adf6af086fd511c73782a84917b

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