# tinycontext

Хранит заметки и факты агента в SQLite и отдаёт на отзыв только то, что укладывается в заданный лимит токенов. Пригодится, когда контекст пухнет от старых диалогов.

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

## Что делает

TinyContext — локальный слой памяти для ИИ-агентов. Записи и их эмбеддинги лежат в SQLite, поиск гибридный: BM25 вместе с векторным ранжированием. Наружу уходит лишь тот объём, который помещается в запрошенный бюджет токенов. Хостингового аккаунта нет, отдельная векторная база тоже не нужна.

Внутри шесть инструментов: `save_memories`, `recall_memories`, `list_memories`, `get_memory`, `update_memory`, `delete_memory`. Записи бывают двух видов: `episodic` (по умолчанию) и `profile` — второй хранит устойчивые факты о пользователе и подмешивается к каждому отзыву целиком, в пределах своего бюджета `profile_max_tokens`. Дедупликация и подсчёт токенов происходят на этапе отзыва, поэтому сохранять можно без опаски.

Нужен Python 3.12 и `uvx`. При первом запуске команда `tinycontext` без аргументов поднимает stdio MCP и скачивает выбранный набор ONNX-эмбеддингов в пользовательский каталог данных; база создаётся при первом сохранении или отзыве. Проверить конфигурацию и готовность хранилища можно командой `tinycontext doctor`.

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

## Установка

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

**Командой платформы**
```bash
claude mcp add --env MCP_TRANSPORT=<MCP_TRANSPORT> --env TINYCONTEXT_CONFIG_PATH=<TINYCONTEXT_CONFIG_PATH> --env TINYCONTEXT_MEMORY_DB_PATH=<TINYCONTEXT_MEMORY_DB_PATH> --env TINYCONTEXT_MODELS_DIR=<TINYCONTEXT_MODELS_DIR> --env OTEL_SERVICE_NAME=<OTEL_SERVICE_NAME> --transport stdio tinycontext -- uvx tinysuite-context
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from tinysuite-context <команда>

### Codex

**Командой платформы**
```bash
codex mcp add tinycontext --env MCP_TRANSPORT=<MCP_TRANSPORT> --env TINYCONTEXT_CONFIG_PATH=<TINYCONTEXT_CONFIG_PATH> --env TINYCONTEXT_MEMORY_DB_PATH=<TINYCONTEXT_MEMORY_DB_PATH> --env TINYCONTEXT_MODELS_DIR=<TINYCONTEXT_MODELS_DIR> --env OTEL_SERVICE_NAME=<OTEL_SERVICE_NAME> -- uvx tinysuite-context
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from tinysuite-context <команда>

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "tinycontext": {
            "command": "uvx",
            "args": [
                "tinysuite-context"
            ],
            "env": {
                "MCP_TRANSPORT": "<MCP_TRANSPORT>",
                "TINYCONTEXT_CONFIG_PATH": "<TINYCONTEXT_CONFIG_PATH>",
                "TINYCONTEXT_MEMORY_DB_PATH": "<TINYCONTEXT_MEMORY_DB_PATH>",
                "TINYCONTEXT_MODELS_DIR": "<TINYCONTEXT_MODELS_DIR>",
                "OTEL_SERVICE_NAME": "<OTEL_SERVICE_NAME>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from tinysuite-context <команда>

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "tinycontext": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "tinysuite-context"
            ],
            "env": {
                "MCP_TRANSPORT": "<MCP_TRANSPORT>",
                "TINYCONTEXT_CONFIG_PATH": "<TINYCONTEXT_CONFIG_PATH>",
                "TINYCONTEXT_MEMORY_DB_PATH": "<TINYCONTEXT_MEMORY_DB_PATH>",
                "TINYCONTEXT_MODELS_DIR": "<TINYCONTEXT_MODELS_DIR>",
                "OTEL_SERVICE_NAME": "<OTEL_SERVICE_NAME>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from tinysuite-context <команда>

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e MCP_TRANSPORT=<MCP_TRANSPORT> -e TINYCONTEXT_CONFIG_PATH=<TINYCONTEXT_CONFIG_PATH> -e TINYCONTEXT_MEMORY_DB_PATH=<TINYCONTEXT_MEMORY_DB_PATH> -e TINYCONTEXT_MODELS_DIR=<TINYCONTEXT_MODELS_DIR> -e OTEL_SERVICE_NAME=<OTEL_SERVICE_NAME> tinycontext uvx tinysuite-context
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from tinysuite-context <команда>

## Когда брать
- удержать память агента между сессиями без облачного сервиса
- уложить отзыв из памяти в лимит токенов
- найти нужную запись по смыслу, а не по точному совпадению
- просмотреть, что вообще накопилось в хранилище
- поправить или удалить устаревший факт о пользователе

_Часть страницы не вошла по размеру — она есть в HTML-версии._

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