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: RecallForge
Индексация
# 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.
Your personal library, readable by AI agents: durable snapshots, hybrid search, 46 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.
Related MCP Servers
- 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
- AlicenseNot gradedqualityBmaintenanceEnables coding agents to search local repositories through hybrid keyword and embedding retrieval, read matched chunks, and list indexed repos via MCP, without API keys or cloud services.MIT
- FlicenseNot gradedqualityAmaintenanceEnables AI agents and MCP hosts to query locally indexed notes, docs, chat logs, and other files via hybrid vector/BM25 retrieval with section-level citations. Exposes tools, resources, and prompts for searching and asking over the indexed content.-