# mcp-context-server

Сохраняет текстовые и графические данные агентов между сессиями. Помогает делить рабочий контекст между несколькими ИИ через общие ветки и настраивать права доступа.

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

## Что делает

Хранилище работает поверх SQLite или PostgreSQL, связывая записи через идентификаторы UUIDv7. Для поиска информации сервер комбинирует полнотекстовый поиск, семантические векторные выборки и построчный перебор `grep_context`. Поверх записей можно строить оглавление `navigate_context` и вычитывать нужные куски текста по диапазонам строк или символов через `read_context_range`.

Для многопользовательской среды предусмотрено разграничение прав с токенами JWT, публичным доступом на чтение и политиками RLS в PostgreSQL. Базы данных со второй версии требуют обязательного перехода через утилиту `mcp-context-server-migrate`, иначе третья ветка с ними работать откажется.

## Требования
- Нужно: Python и uv (команды через uvx)
- Переменные окружения: `LOG_LEVEL`, `STORAGE_BACKEND`, `MAX_IMAGE_SIZE_MB`, `MAX_TOTAL_SIZE_MB`, `DB_PATH`, `POOL_MAX_READERS`, `POOL_MAX_WRITERS`, `POOL_CONNECTION_TIMEOUT_S`, `POOL_IDLE_TIMEOUT_S`, `POOL_HEALTH_CHECK_INTERVAL_S` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

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

**Командой платформы**
```bash
claude mcp add --env LOG_LEVEL=<LOG_LEVEL> --env STORAGE_BACKEND=<STORAGE_BACKEND> --env MAX_IMAGE_SIZE_MB=<MAX_IMAGE_SIZE_MB> --env MAX_TOTAL_SIZE_MB=<MAX_TOTAL_SIZE_MB> --env DB_PATH=<DB_PATH> --transport stdio mcp-context-server -- uvx mcp-context-server
```
Вместо <…> подставьте свои значения. Ещё 128 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-context-server <команда>

### Codex

**Командой платформы**
```bash
codex mcp add mcp-context-server --env LOG_LEVEL=<LOG_LEVEL> --env STORAGE_BACKEND=<STORAGE_BACKEND> --env MAX_IMAGE_SIZE_MB=<MAX_IMAGE_SIZE_MB> --env MAX_TOTAL_SIZE_MB=<MAX_TOTAL_SIZE_MB> --env DB_PATH=<DB_PATH> -- uvx mcp-context-server
```
Вместо <…> подставьте свои значения. Ещё 128 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-context-server <команда>

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "mcp-context-server": {
            "command": "uvx",
            "args": [
                "mcp-context-server"
            ],
            "env": {
                "LOG_LEVEL": "<LOG_LEVEL>",
                "STORAGE_BACKEND": "<STORAGE_BACKEND>",
                "MAX_IMAGE_SIZE_MB": "<MAX_IMAGE_SIZE_MB>",
                "MAX_TOTAL_SIZE_MB": "<MAX_TOTAL_SIZE_MB>",
                "DB_PATH": "<DB_PATH>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 128 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-context-server <команда>

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "mcp-context-server": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "mcp-context-server"
            ],
            "env": {
                "LOG_LEVEL": "<LOG_LEVEL>",
                "STORAGE_BACKEND": "<STORAGE_BACKEND>",
                "MAX_IMAGE_SIZE_MB": "<MAX_IMAGE_SIZE_MB>",
                "MAX_TOTAL_SIZE_MB": "<MAX_TOTAL_SIZE_MB>",
                "DB_PATH": "<DB_PATH>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 128 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-context-server <команда>

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e LOG_LEVEL=<LOG_LEVEL> -e STORAGE_BACKEND=<STORAGE_BACKEND> -e MAX_IMAGE_SIZE_MB=<MAX_IMAGE_SIZE_MB> -e MAX_TOTAL_SIZE_MB=<MAX_TOTAL_SIZE_MB> -e DB_PATH=<DB_PATH> mcp-context-server uvx mcp-context-server
```
Вместо <…> подставьте свои значения. Ещё 128 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-context-server <команда>

## Когда брать
- сохранять текст и картинки между сессиями ИИ
- искать фрагменты документации через гибридный векторный и текстовый поиск
- читать части длинных файлов по номерам строк без загрузки всей записи в контекст
- разграничивать доступ к сохранённым данным между разными участниками через JWT

## Примеры запросов агенту
- Сохрани схему архитектуры и текстовое описание в контекст задачи с `thread_id` `auth-refactor`
- Найди через `grep_context` все упоминания таймаутов в базе контекста
- Покажи структуру записи с помощью `navigate_context` и прочитай первые пятьдесят строк через `read_context_range`

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

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