cctx-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@cctx-mcpshow symbol hierarchy for app.py"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Зачем это
Я 10 месяцев работаю исключительно через AI-агентов. Собрал несколько агентных систем с нуля. Прошёл путь Cursor → opencode и урезал месячный расход с $200 до $10 — без потери качества в своих задачах.
За эти 10 месяцев я видел прозрачно: что агент вызывает, что видит, где тратит контекст впустую, чего ему не хватает.
Картина повторялась:
Агент заходит в новый файл →
Read500 строк кодаНужно найти функцию →
grepпо всему проектуНужно понять импорты → читает тот же файл снова
Коммит → парсит
git diffна 3000 токенов
Проблема не в стоимости токенов — токены дёшевы. Проблема в налоге на ориентирование: агент сжигает контекстное окно на попытки понять, где он находится, вместо того чтобы делать реальную работу.
code-context — не продукт. Это запись того, чего мне не хватало как пользователю AI-агентов. Каждый инструмент здесь появился потому, что я смотрел, как агент тупит, и думал: «это должно делаться в один вызов».
Related MCP server: token-pilot
Что он реально делает
Структура вместо простыни
Незнакомый файл? Не читай — просканируй.
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всё ещё правильный инструмент.
Используй для ориентирования, поиска, анализа и коммитов. Всё остальное — вне его зоны.
Инструменты
Инструмент | Заменяет | Статус |
|
| ✅ |
|
| ✅ |
|
| ✅ |
|
| ✅ |
|
| ✅ |
|
| ✅ |
| Чтение реализации | ✅ нужна LLM |
|
| ✅ |
| Написание commit message | ✅ нужна LLM |
|
| ✅ |
|
| ✅ |
| — | ✅ |
Аннотации в smart_read | — | В планах |
| 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Конфигурация
Переменная | По умолчанию | Описание |
|
| Адрес Ollama |
|
| Таймаут запросов к Ollama (сек) |
|
| Локальная модель для commit drafting |
|
| Локальная модель для эмбеддингов |
|
| Включить AI-суммари символов |
|
| Включить AI-генерацию коммитов |
|
|
|
|
| Имя локального LLM-провайдера |
|
| Имя облачного LLM-провайдера |
| — | Ключ API для облачного режима |
|
| OpenRouter-совместимый эндпоинт |
|
| Таймаут запросов к OpenRouter (сек) |
|
| Максимум токенов в ответе LLM |
|
| Температура LLM |
|
| Облачная модель для эмбеддингов |
|
| Облачная модель для коммитов |
Автор
Никита (@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 — можно всё.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nikondrat/cctx-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server