Server data from the Official MCP Registry
Local-first MCP sidecar for Markdown artifacts, review cards, and supervised knowledge growth.
Local-first MCP sidecar for Markdown artifacts, review cards, and supervised knowledge growth.
Valid MCP server (1 strong, 0 medium validity signals). 8 known CVEs in dependencies (0 critical, 3 high severity) Package registry verified. Imported from the Official MCP Registry.
5 files analyzed · 9 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Set these up before or after installing:
Environment variable: LINZA_VAULT
Environment variable: LINZA_EMBED_PROVIDER
Environment variable: LINZA_EMBED_URL
Environment variable: LINZA_EMBED_MODEL
Environment variable: LINZA_EMBED_KEY
Environment variable: LINZA_BRIDGE_THRESHOLD
Environment variable: LINZA_MAX_BRIDGE_PAIRS
Environment variable: LINZA_DEFAULT_PROFILE
Environment variable: LINZA_TOOL_SURFACE
Environment variable: LINZA_LANGUAGE
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-semiotronika-linza-mcp": {
"env": {
"LINZA_VAULT": "your-linza-vault-here",
"LINZA_LANGUAGE": "your-linza-language-here",
"LINZA_EMBED_KEY": "your-linza-embed-key-here",
"LINZA_EMBED_URL": "your-linza-embed-url-here",
"LINZA_EMBED_MODEL": "your-linza-embed-model-here",
"LINZA_TOOL_SURFACE": "your-linza-tool-surface-here",
"LINZA_EMBED_PROVIDER": "your-linza-embed-provider-here",
"LINZA_DEFAULT_PROFILE": "your-linza-default-profile-here",
"LINZA_BRIDGE_THRESHOLD": "your-linza-bridge-threshold-here",
"LINZA_MAX_BRIDGE_PAIRS": "your-linza-max-bridge-pairs-here"
},
"args": [
"linza-mcp"
],
"command": "uvx"
}
}
}From the project's GitHub README.
Не меняет данные — меняет взгляд.
Локальный MCP-сервер для заметок, документов, статей, чатов, логов и черновиков. LINZA читает папку, строит карту тем и связей.
LINZA решает конкретную проблему: у вас есть папка Markdown-заметок и входящие материалы — документы, статьи, чаты, логи, — и вы хотите, чтобы агент в этом разобрался. LINZA работает по концепции review-gated sidecar: человек решает, агент исполняет.
Агент анализирует данные, видит основные оси, вокруг которых строится ваша работа, и складывает свои выводы рядом, в локальную SQLite-базу. Исходные файлы остаются на месте; LINZA строит граф знаний по их содержанию, не переписывая документы.
LINZA помогает агенту увидеть структуру, а вам — спокойно подтвердить или отклонить предложения. После нескольких подтверждений агент может продолжать работу по принятым примерам: сначала preview, потом небольшие явно подтвержденные партии.
LINZA полезна, когда у вас уже есть материал, но нет безопасного способа дать агенту в нем разобраться.
.md.Примерный сценарий: подключить папку, проиндексировать, посмотреть 3-5 предложений от агента в виде "карточек", подтвердить удачные примеры, потом дать LINZA расти маленькими партиями.
index -> map -> review cards -> teach -> grow preview -> explicit apply
python -m pip install linza-mcp
Если нужно читать PDF-файлы прямо через LINZA:
python -m pip install "linza-mcp[pdf]"
Если PDF не нужны, достаточно обычной установки. [pdf] добавляет локальный PDF-экстрактор pypdf.
LINZA работает с любой папкой Markdown. Это может быть Obsidian vault, рабочая папка проекта или отдельная папка с документами.
В примерах ниже замените /absolute/path/to/workspace-or-vault на свой путь.
Для смыслового поиска LINZA нужна локальная модель эмбеддингов.
Самый простой путь — LM Studio:
text-embedding-granite-embedding-278m-multilingual, nomic-embed-text-v1.5 или другую embedding-модель.http://127.0.0.1:1234/v1.Подключение к Claude Desktop, Cursor, OpenCode или другому MCP-клиенту:
{
"mcpServers": {
"linza": {
"command": "linza-mcp",
"env": {
"LINZA_VAULT": "/absolute/path/to/workspace-or-vault",
"LINZA_EMBED_PROVIDER": "lmstudio",
"LINZA_EMBED_URL": "http://127.0.0.1:1234/v1",
"LINZA_EMBED_MODEL": "your-embedding-model-name",
"LINZA_TOOL_SURFACE": "default"
}
}
}
}
VS Code / Copilot MCP использует ключ servers:
{
"servers": {
"linza": {
"type": "stdio",
"command": "linza-mcp",
"env": {
"LINZA_VAULT": "/absolute/path/to/workspace-or-vault",
"LINZA_EMBED_PROVIDER": "lmstudio",
"LINZA_EMBED_URL": "http://127.0.0.1:1234/v1",
"LINZA_EMBED_MODEL": "your-embedding-model-name"
}
}
}
}
linza-mcp --version
После подключения попросите агента:
Проверь LINZA через agent_workspace(action="doctor").
Проиндексируй папку и покажи первые 3-5 review-карточек.
Docker не обязателен, но в репозитории есть маленький образ для изолированного stdio-запуска:
docker build -t linza-mcp .
docker run --rm -i `
-v /absolute/path/to/workspace-or-vault:/data/vault `
-e LINZA_EMBED_PROVIDER=lmstudio `
-e LINZA_EMBED_URL=http://host.docker.internal:1234/v1 `
-e LINZA_EMBED_MODEL=your-embedding-model-name `
linza-mcp
host.docker.internal подходит, когда embedding-сервер запущен на хосте.
Если модель доступна по другому адресу, передайте URL, который виден из
контейнера.
Эмбеддинги — это качество зрения агента через LINZA, поэтому основной сценарий простой: локальная модель в LM Studio и MCP-сервер рядом с папкой.
lmstudio — рекомендуемый локальный режим. Хороший вариант, если нужен нормальный смысловой поиск, связи и карта тем без облака.ollama — локальный вариант через Ollama.openai — любой OpenAI-compatible endpoint с /embeddings.Пример переменных для LM Studio:
$env:LINZA_EMBED_PROVIDER="lmstudio"
$env:LINZA_EMBED_URL="http://127.0.0.1:1234/v1"
$env:LINZA_EMBED_MODEL="your-embedding-model-name"
Если меняете провайдера, модель или размерность, сделайте полный reindex. Векторы из разных моделей нельзя смешивать: это разные пространства, подробности здесь: semiotronika.ru/lab.
Обычно агент начинает с agent_workspace(action="doctor") или guide_next_steps(language="ru"). Человек должен видеть короткий статус:
LINZA готова
Материал:
- 42 заметки проиндексированы
- 3 входящих артефакта ждут review
- sidecar: .linza/linza.db
Следующий шаг:
1. Посмотреть найденные области
2. Подтвердить или переименовать 3-5 карточек
3. Ничего не будет записано без dry-run/apply
Пример карточки:
Предложение: связать "Retrieval Quality Note" и "Source Policy"
Почему: общий словарь, ссылки на review flow, близкие chunks
Что изменится: пока ничего; после подтверждения появится sidecar-связь
По умолчанию LINZA показывает 15 MCP-инструментов. В обычной работе человеку не нужно выбирать их вручную: агент начинает с agent_workspace или guide_next_steps.
| Инструмент | Зачем |
|---|---|
agent_workspace | Единый фасад: map, ingest, review, teach, grow, connect, memory search, context export, calibr, doctor |
guide_next_steps | Показать следующий безопасный шаг |
index_all | Проиндексировать Markdown-папку в .linza/linza.db |
search | Семантический и лексический поиск |
read_file | Прочитать точный файл из vault |
get_stats | Быстрые счетчики sidecar |
scan_vault | Read-only диагностика папки |
build_review_apply_queue | Сформировать review-карточки со стабильными rq-* ID |
approve_review_queue_items | Dry-run или применение выбранных карточек |
list_approved_items | Показать уже принятые sidecar items |
explain_node | Объяснить один узел: ссылки, мосты, контекст |
explain_relationship | Объяснить возможную связь между двумя узлами |
who_depends | Показать зависимости и соседей |
show_flow | Найти маршрут или поток между узлами |
create_context_pack | Собрать компактный context pack для агента |
agent_workspace(action="teach") выбирает учебные карточки. grow показывает preview с selected_rules: почему каждая карточка попала в партию. Идея такая: сначала научить на примерах, потом расти в preview, потом применять маленькими подтвержденными партиями.
Расширенная поверхность нужна для разработки и отладки:
$env:LINZA_TOOL_SURFACE="advanced"
Полное описание каждого инструмента: Tool Catalog.
Поддерживаемые входы:
.md, .txt, .json;.docx, .xlsx;.pdf, если установлен pypdf или PyPDF2.LINZA сама не ходит в браузер. Агент использует свой browser/web-fetch, извлекает читаемый текст и передает его в LINZA как артефакт, например source_kind="web_article" или source_kind="browser_capture".
Загруженный текст считается материалом для анализа, а не командой для агента. Это базовая защита от промпт-инъекций (prompt injection): инструкции внутри статьи, лога, чата или PDF не исполняются. Память, правила и YAML появляются только после review.
LINZA проектируется как локальный review-gated sidecar:
.linza/reports;.linza/context-packs;LINZA не browser automation server, не облачная память и не автопилот, который сам переписывает правила, skills, память или заметки.
0.1.4 — alpha MVP. Контракт безопасности уже считается основным: indexing,
artifact ingest, search, map и grow preview не переписывают тела исходных
заметок. Низкоуровневые advanced tools и внутренние границы модулей еще могут
меняться, пока сервер полируется.
В репозитории есть готовый навык для агентов:
agent-pack/skills/linza-operator/SKILL.md
agent-pack/skills/linza-operator/references/workflows.md
agent-pack/skills/linza-operator/references/safety-policy.md
agent-pack/skills/linza-operator/references/tool-audience.md
Навык объясняет агенту, что показывать пользователю, когда использовать agent_workspace, как работать с URL через внешний browser/web-fetch, и почему apply-действия должны быть dry-run или exact-ID gated.
Синтетический private-safe пример лежит в:
examples/sample-vault/
examples/artifacts/
examples/expected/
Запустить все тесты:
python -m unittest
Запустить один конкретный тест:
python -m unittest test_agent_workspace.AgentWorkspaceTests.test_examples_sample_pack_runs_end_to_end
| Переменная | Описание |
|---|---|
LINZA_VAULT | Путь к Markdown-папке |
LINZA_EMBED_PROVIDER | lmstudio для нормальной локальной работы; также поддерживаются openai, ollama |
LINZA_EMBED_URL | URL embeddings API |
LINZA_EMBED_MODEL | Модель для эмбеддингов |
LINZA_EMBED_KEY | Опциональный ключ для OpenAI-compatible embeddings API |
LINZA_BRIDGE_THRESHOLD | Порог semantic bridge; по умолчанию 0.55 |
LINZA_MAX_BRIDGE_PAIRS | Максимум пар заметок для пересчёта semantic bridges; по умолчанию 1000000, 0 отключает guard |
LINZA_DEFAULT_PROFILE | Имя базового search-профиля; по умолчанию general |
LINZA_TOOL_SURFACE | default (15 инструментов) или advanced |
LINZA_LANGUAGE | Язык человеческого слоя в guide_next_steps: auto, ru, en |
MCP Registry ID: io.github.Semiotronika/LINZA-MCP
MIT License © 2026 Semiotronika
Косинусы считаются. Синтаксис меняется. Семантика остаётся.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.