# LinkLore

Структурированная память для ИИ-агентов: записывает решения, грабли и спеки по ходу работы, а в следующей сессии отдаёт их с привязкой к коду.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 1
- Автор: linklore
- Лицензия: не указана · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/linklore/linklore-mcp
- Обновлён: 2026-08-06
- HTML: https://affpapa.org/nevibecode/mcp/linklore

## Что делает

Каждая новая сессия агента начинается с нуля: решения заново обсуждаются, грабли заново находятся. LinkLore решает это через MCP-инструменты, которые агент сам читает и пишет. Два типа записей — lore (решения, грабли, журнал) и doc (спеки, планы) — связываются между собой и с файлами кода.

Внутри проекта всё лежит в `.linklore/` — SQLite-хранилище, локально, без аккаунта. Записи ссылаются на исходники, а git-diff показывает, где память отстала от кода. Поиск идёт по смыслу, тегу, файлу, статусу или периоду. При старте сессии `brief()` собирает открытые пункты и горячие места в компактную сводку.

Пакет запускается из PyPI через `uvx llre` без клонирования репозитория. Для Claude Code регистрация одной командой: `claude mcp add llre -- uvx llre`. Потом один раз `uvx llre init` в корне проекта. Ядро (поиск, ранжирование, логика инструментов) поставляется как скомпилированные модули, поэтому «прочитать каждую строку и форкнуть» не выйдет — большая часть исходников открыта, но ключевая логика закрыта. Лицензия Elastic License 2.0: бесплатно для установки и коммерческого использования внутри своей организации, но нельзя предоставлять как конкурирующий управляемый сервис.

## Требования
- Нужно: Python и uv (команды через uvx)
- Переменные окружения: `LINKLORE_LANG` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env LINKLORE_LANG=<LINKLORE_LANG> --transport stdio linklore -- uvx llre
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from llre <команда>

### Codex

**Командой платформы**
```bash
codex mcp add linklore --env LINKLORE_LANG=<LINKLORE_LANG> -- uvx llre
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from llre <команда>

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "linklore": {
            "command": "uvx",
            "args": [
                "llre"
            ],
            "env": {
                "LINKLORE_LANG": "<LINKLORE_LANG>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from llre <команда>

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "linklore": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "llre"
            ],
            "env": {
                "LINKLORE_LANG": "<LINKLORE_LANG>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from llre <команда>

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e LINKLORE_LANG=<LINKLORE_LANG> linklore uvx llre
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from llre <команда>

## Когда брать
- Не терять решения и грабли между сессиями агента
- Найти, почему код написан именно так, а не гадать
- Держать спеки связанными с файлами кода, а не в отдельных .md
- Поймать рассинхрон памяти с кодом через git-diff
- Навести порядок в памяти: дубликаты и целостность

## Примеры запросов агенту
- Настрой LinkLore в этом репозитории: пакет `llre` из PyPI, запуск через `uvx llre`, регистрация как MCP-сервера, потом `uvx llre init`
- В начале сессии вызови `brief()` и покажи открытые пункты и горячие места
- Перед правкой этого файла найди связанные решения через `show(file=..., query=...)`

## Похожие
- [how-it-works](https://affpapa.org/nevibecode/skills/how-it-works.md) — скилл · 5100 установок
- [mem](https://affpapa.org/nevibecode/skills/mem.md) — скилл · 2400 установок
- [PMB AI](https://affpapa.org/nevibecode/mcp/pmb-ai.md) — MCP-сервер · ★ 287
- [Mneme Memory](https://affpapa.org/nevibecode/mcp/mneme-memory.md) — MCP-сервер · ★ 182
- [Knowl](https://affpapa.org/nevibecode/mcp/knowl.md) — MCP-сервер · ★ 99
- [Sugar](https://affpapa.org/nevibecode/mcp/sugar.md) — MCP-сервер · ★ 98

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
