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.4.0.tar.gz (77.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.4.0-py3-none-any.whl (83.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: getstack_mcp-2.4.0.tar.gz
  • Upload date:
  • Size: 77.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.4.0.tar.gz
Algorithm Hash digest
SHA256 adfec3af1678c7b7efd6fdbfe5c8ba60d49bffbb16036c5ac6f291b8c05252cd
MD5 94a8ad3aed3bbd0d88d50b2a43d0e5dd
BLAKE2b-256 e1785c8d188353de9fbd7acd0c21ea86f6826a6a2dfebc962f487348c121f1bd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: getstack_mcp-2.4.0-py3-none-any.whl
  • Upload date:
  • Size: 83.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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 20235b6e157f3111f20f0ce9a90d7387fbccd29ca9d3aa0bdaec129289ceaa3b
MD5 78fd39687fd4e1ac7dd66f939ac84824
BLAKE2b-256 10322024c1164127ac1288ea8c9fbbee1d7d275fc7e237d528cb291b7439973e

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