searchcraft

searchcraft

sathergate
343 звёзд
Searchcraft — MCP-сервер для полнотекстового поиска в приложениях Next.js. Он использует алгоритм BM25 для ранжирования результатов и поддерживает нечёткое совпадение (fuzzy matching). Главное отличие — сервер не требует внешних сервисов. Никакого Elasticsearch, Algolia или Redis. Вся логика поиска работает в рантайме Next.js на чистом TypeScript. Сервер индексирует документы прямо в памяти и настраивает вес полей — заголовок может быть в два раза важнее контента. Это даёт релевантные результаты без сложной инфраструктуры. Searchcraft подходит для блогов, документации, каталогов товаров и любых проектов Next.js, где нужен быстрый поиск по тексту.

Установка

npx -y searchcraft

Характеристики

Общее

  • СтатусСообщество
  • Разработчикsathergate

Технологии

  • Языки
    TypeScript
  • Транспорт
    stdio

Описание

Возможности

  • BM25-ранжирование — результаты сортируются по релевантности, а не по алфавиту или дате
  • Схема индекса — задайте вес для каждого поля документа (заголовок, описание, контент)
  • Нечёткое совпадение — поиск находит результаты, даже если в запросе есть опечатки или похожие слова
  • Индексация в памяти — не требует установки и настройки внешних баз данных
  • Zero-конфиг запуск — сервер поднимается одной командой npx -y searchcraft
  • Полная типизация — TypeScript SDK помогает избежать ошибок на этапе компиляции
  • Zero-зависимости — пакет работает без внешних библиотек
  • Интеграция с AI-агентами — через MCP-протокол поиском могут управлять Claude, Cursor и другие ассистенты

Как подключить

1. Запустите MCP-сервер одной командой (установка не требуется):

npx -y searchcraft

2. Добавьте сервер в конфигурацию MCP-клиента. Пример для Claude Desktop:

{ "mcpServers": { "searchcraft": { "command": "npx", "args": ["-y", "searchcraft"] } } }

3. Перезапустите клиент. После этого AI-ассистент сможет выполнять поиск по вашим документам.

Примеры запросов

Попросите ассистента выполнить одно из этих действий:

  • «Найди статьи по теме машинного обучения, используй BM25-ранжирование и взвешивание полей: заголовок вес 3, тело вес 1»
  • «Покажи документы, наиболее похожие на «Introduction to React», используй нечёткое совпадение»
  • «Проиндексируй массив объектов products и выполни поиск по полю name с нечётким совпадением»
  • «Создай поиск по каталогу товаров и отсортируй результаты по релевантности, покажи топ-10»

Технические детали

  • Язык: TypeScript
  • Транспорт: stdio
  • Лицензия: MIT
  • Совместимые клиенты: Claude Desktop, VS Code, Cursor, GitHub Copilot, Zed, любое приложение, поддерживающее MCP

Поделиться