Skip to main content
Glama

Зачем это

Я 10 месяцев работаю исключительно через AI-агентов. Собрал несколько агентных систем с нуля. Прошёл путь Cursor → opencode и урезал месячный расход с $200 до $10 — без потери качества в своих задачах.

За эти 10 месяцев я видел прозрачно: что агент вызывает, что видит, где тратит контекст впустую, чего ему не хватает.

Картина повторялась:

  1. Агент заходит в новый файл → Read 500 строк кода

  2. Нужно найти функцию → grep по всему проекту

  3. Нужно понять импорты → читает тот же файл снова

  4. Коммит → парсит git diff на 3000 токенов

Проблема не в стоимости токенов — токены дёшевы. Проблема в налоге на ориентирование: агент сжигает контекстное окно на попытки понять, где он находится, вместо того чтобы делать реальную работу.

code-context — не продукт. Это запись того, чего мне не хватало как пользователю AI-агентов. Каждый инструмент здесь появился потому, что я смотрел, как агент тупит, и думал: «это должно делаться в один вызов».


Related MCP server: codeweave-mcp

Что он реально делает

Структура вместо простыни

Незнакомый файл? Не читай — просканируй.

smart_read возвращает скелет: иерархия символов, зависимости, диапазоны строк, doc-комментарии. Агент видит class Foo на строке 42, method bar() на строке 85, импортов: 3 — а не 500 строк кода, которые ему надо ментально распарсить.

То же самое: get_symbol_body когда нужна одна функция, find_symbols когда нужно одно определение по всему проекту, get_dependencies когда нужны импорты без чтения файла.

Diff без простыни

compact_change_intelligence заменяет git diff + git status: «4 файла изменено, добавлена login(), переименован AuthProvider.validate()». Агент видит картину целиком в 10 строках вместо 200.

В паре с draft_commit — AI генерирует conventional commit message из структурированных изменений. Без парсинга сырого diff.

Аннотации функций (в разработке)

get_symbol_summaries уже генерирует однострочные AI-описания для каждой функции: bar() — валидирует ввод, возвращает токен сессии.

Идея — встроить эти аннотации прямо в вывод smart_read, чтобы модель видела bar() // валидирует ввод при сканировании файла и не тратила токены на догадки о том, что делает функция. Сейчас это отдельный вызов — работаю над объединением.


Когда это НЕ нужно

code-context даёт структуру. Он не поможет с:

  • Редактированием кода. Он read-only. Инструменты записи (edit, write) остаются нативными.

  • Запуском тестов и сборкой. Нет раннера тестов, нет компилятора.

  • Деплоем. Нет CI/CD интеграции.

  • Работой с сырым содержимым файла. Если нужен полный текст файла — Read всё ещё правильный инструмент.

Используй для ориентирования, поиска, анализа и коммитов. Всё остальное — вне его зоны.


Инструменты

Инструмент

Заменяет

Статус

smart_read

Read + ручной разбор

find_symbols

grep + чтение файлов

get_dependencies

Read + извлечение импортов

trace_calls

grep по всему репозиторию

analyze_project

find + ls + wc

get_symbol_body

Read целого файла

get_symbol_summaries

Чтение реализации

✅ нужна LLM

compact_change_intelligence

git diff + git status

draft_commit

Написание commit message

✅ нужна LLM

approve_commit_draft

git commit

stage_changes / unstage_changes

git add / git restore --staged

get_config · get_health · get_version

Аннотации в smart_read

В планах

semantic_search · code_search · find_files

grep + read

Реализовано, не зарегистрировано

Я выкатываю только то, чем реально пользуюсь. Незарегистрированные инструменты есть в коде, но не торчат наружу, пока я не убежусь, что они заслуживают своё место.


Быстрый старт

uvx cctx-mcp

Добавь в конфиг MCP-клиента:

{
  "mcpServers": {
    "cctx-mcp": {
      "command": "uvx",
      "args": ["cctx-mcp"]
    }
  }
}

Не нужны API-ключи и внешние сервисы для базового функционала. Требуется Python 3.10+. LLM нужна для commit drafting и семантических суммари — использует Ollama (локально) или OpenRouter (облако).


Поддерживаемые языки

Работает на tree-sitter AST — для каждого языка отдельный парсер.


Установка

uvx (рекомендуется)

{
  "mcpServers": {
    "cctx-mcp": {
      "command": "uvx",
      "args": ["cctx-mcp"]
    }
  }
}

pip

pip install cctx-mcp
{
  "mcpServers": {
    "cctx-mcp": {
      "command": "python",
      "args": ["-m", "code_context.server"]
    }
  }
}

из исходников

git clone https://github.com/nikondrat/cctx-mcp.git
cd cctx-mcp
uv sync
uv run python -m code_context.server --skip-index

Конфигурация

Переменная

По умолчанию

Описание

CC_OLLAMA_URL

http://localhost:11434

Адрес Ollama

CC_OLLAMA_TIMEOUT

10

Таймаут запросов к Ollama (сек)

CC_COMMIT_MODEL

gemma4:latest

Локальная модель для commit drafting

CC_EMBED_MODEL

nomic-embed-text

Локальная модель для эмбеддингов

CC_SEMANTIC_SUMMARIES

1

Включить AI-суммари символов

CC_COMMIT_DRAFTING

1

Включить AI-генерацию коммитов

CC_LLM_ROUTER

local-first

local-first, local-only, remote-first, remote-only

CC_LOCAL_PROVIDER

ollama

Имя локального LLM-провайдера

CC_REMOTE_PROVIDER

openrouter

Имя облачного LLM-провайдера

CC_OPENROUTER_API_KEY

Ключ API для облачного режима

CC_OPENROUTER_BASE_URL

https://openrouter.ai/api/v1

OpenRouter-совместимый эндпоинт

CC_OPENROUTER_TIMEOUT

15

Таймаут запросов к OpenRouter (сек)

CC_OPENROUTER_MAX_TOKENS

256

Максимум токенов в ответе LLM

CC_OPENROUTER_TEMPERATURE

0.1

Температура LLM

CC_OPENROUTER_EMBED_MODEL

text-embedding-3-small

Облачная модель для эмбеддингов

CC_OPENROUTER_COMMIT_MODEL

openai/gpt-4o-mini

Облачная модель для коммитов


Автор

Никита (@nikondrat) · t.me/nikondrat

Архитектор решений. 10 месяцев ежедневно с AI-агентами — от проприетарных инструментов до open-source, инфраструктуру ужал в 20 раз. code-context — дистиллят этого опыта: не «продукт», а запись того, чего не хватало как пользователю.

Консалтинг: архитектура AI-агентов, MCP-серверы, оптимизация LLM-воркфлоу.


Разработка

uv sync
uv run pytest tests/ -v

Логирование

Вызовы инструментов пишутся в ~/.code-context-cache/debug.jsonl с аргументами, результатом, задержкой и статусом:

tail -f ~/.code-context-cache/debug.jsonl

Переменная CC_DEBUG_LOG меняет путь к лог-файлу.

PRs приветствуются. Открытые issues.


Лицензия

MIT — можно всё.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    A
    maintenance
    An MCP server that provides structural codebase indexing and surgical query tools to drastically reduce token usage through symbol-level searches and transitive impact analysis. It supports multiple languages and integrates with git to help AI agents understand code dependencies and the impact of changes in sub-millisecond time.
    69
    1,146
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that gives AI agents structured code understanding and precise code intelligence via local indexing of AST, call graphs, and semantic search.
    81
    4
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that provides ultra-efficient code exploration through AST analysis, reducing LLM token usage by up to 95% while enabling instant call graph generation and dependency analysis for massive codebases.
    MIT