sage-mcp
sage-mcp
Гибридный семантический поиск (плотные векторы + BM25) по локальным базам знаний и кодовым базам.
Стек: LlamaIndex · Qdrant (локальный встроенный) · Эмбеддинги OpenAI · FastMCP
Настройка
uv venv # creates .venv with Python 3.11 per .python-version
source .venv/bin/activate
uv pip install -e ".[mcp]"
cp config-example.yaml config.yaml
# edit config.yaml — add your KB paths
echo "OPENAI_API_KEY=sk-..." > .envuv автоматически загрузит Python 3.11, если он еще не установлен.
Related MCP server: okf-tools
Индексация
# Index all configured KBs
sage index
# Index one KB only
sage index --kb homelab
# Force full re-index (ignore cache)
sage index --forceСтатус
# Diff KB files vs cache without embedding
sage status
# Single KB
sage status --kb homelabПоиск
# Hybrid search across all KBs
sage search "pihole DNS configuration"
# Limit to one KB
sage search "pihole" --kb homelab
# Filter by frontmatter fields
sage search "storage" --filter type=lxc --filter status=running
# More results
sage search "networking" --top-k 20
# Dense-only (no BM25)
sage search "pihole" --no-hybrid
# JSON output (for scripting / agent use)
sage search "pihole" --json
# Markdown output with full file paths (default template: blockquote)
sage search "pihole" --markdown
# Markdown table layout
sage search "pihole" --markdown --template table
# Custom Jinja2 template
sage search "pihole" --markdown --template ~/my-template.md.j2Markdown-шаблоны
Флаг --markdown отображает результаты с помощью шаблона Jinja2.
Включены два встроенных шаблона:
Имя | Описание |
| Каждый фрагмент оформлен как цитата под заголовком |
| Компактная markdown-таблица с оценкой, базой знаний (KB), полным путем к файлу и сокращенным отрывком |
Чтобы создать собственный шаблон, скопируйте встроенный из sage_mcp/templates/ и передайте путь к файлу через --template. Доступны следующие переменные:
Переменная | Тип | Описание |
|
| Поисковый запрос |
|
| Каждая запись содержит |
|
| Количество отфильтрованных дубликатов фрагментов |
Поле text_safe для каждого результата — это текст фрагмента, в котором символы переноса строки заменены на пробелы, а символы вертикальной черты экранированы — это безопасно для использования внутри ячейки markdown-таблицы. Используйте text для оформления в виде цитаты или блока кода, где необходимо сохранить исходное форматирование.
Список баз знаний
sage list-kbsMCP (доступ для ИИ-агентов)
Добавьте в конфигурацию вашего MCP-клиента (используйте абсолютные пути):
{
"mcpServers": {
"sage-mcp": {
"command": "/path/to/sage-mcp/.venv/bin/sage-mcp",
"args": ["--config", "/path/to/sage-mcp/config.yaml"]
}
}
}Флаг --config является необязательным; без него сервер ищет config.yaml в своей рабочей директории.
Доступные инструменты:
search_kb(query, kb?, top_k?, filter_type?, filter_status?)— возвращает{results: [...], duplicates_removed: N}list_knowledge_bases()— список настроенных баз знаний
Конфигурация
Отредактируйте config.yaml, чтобы добавить базы знаний или переключить бэкенд эмбеддингов. Используйте config-example.yaml в качестве шаблона.
Переключение на Ollama (после запуска nomic-embed-text с ускорением GPU):
embedding:
provider: ollama
model: nomic-embed-text
base_url: http://<ollama-ip>:11434Затем выполните sage index --force для повторного создания эмбеддингов.
Инкрементальные обновления
Индексатор отслеживает хеш содержимого для каждого файла в pipeline_cache/<kb-name>/hashes.json.
Повторный запуск sage index выполняет повторное создание эмбеддингов только для измененных файлов. Безопасно для запуска по cron или через inotify.
This server cannot be deployed
Maintenance
Related MCP Connectors
Cloud or self-hosted knowledge for AI agents: hybrid search, reranking, GraphRAG, scoped MCP tools.
Search your knowledge bases from any AI assistant using hybrid RAG.
Multi-engine search for AI agents. Trust scoring, local corpus, MCP-native. Self-hostable, BYOK.
Search GitHub, npm, PyPI, StackOverflow, ArXiv from one MCP — built for coding agents.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceEnables any MCP-compatible AI assistant to search, filter, and retrieve information from a local document collection using a hybrid search pipeline with vector, BM25, reranking, and LLM enrichment.4-
- AlicenseAqualityBmaintenanceEnables local semantic search and management of OKF knowledge bundles via MCP tools, with hybrid BM25 and vector search.104Apache 2.0
- FlicenseAqualityDmaintenanceProvides semantic vector search over local codebases via MCP, enabling hybrid search (dense + sparse + RRF) for any MCP client like GitHub Copilot or Claude Desktop.58-
- AlicenseNot gradedqualityDmaintenanceLocal-first MCP server enabling cross-modal search across text, images, documents, video, and audio transcripts. Provides 26 tools for ingesting, searching, and navigating local file systems with a 3-stage pipeline including reranking.3MIT