Skip to main content
Glama

ContextSlim

Экономьте 50%+ токенов контекста ИИ без потери критической семантики кода.

Код: github.com/lilite572-cyber/context-slim · установка: @idmxgne/context-slim (npm-аккаунт idmxgne). Не путать с context-slim от Jagganu (обрезка вывода CLI).

Cursor, Claude и другие агенты для написания кода перечитывают целые файлы на каждом шаге. Большая часть этого бюджета — JSDoc, неиспользуемые импорты и DTO-мапперы. ContextSlim разбирает JS/TS (Babel) и PHP (php-parser), вычищает шум и сохраняет try/catch, методы аутентификации, env() / process.env и маркеры вроде FIXME / SECURITY / В ПРОД НЕ ГНАТЬ.

До / после

Замерено на реальном контроллере биллинга из tests/fixtures/real_world_controller.ts (--signatures-only):

Токены

Что сохраняется

До

3,522

комментарии, мапперы, неиспользуемые импорты, все тела методов

После

1,408

сигнатуры + критические тела + защищённые комментарии

Экономия

60% (сохранено 10 меток)

try/catch, authorize / login, FIXME, В ПРОД НЕ ГНАТЬ

Статистика CLI использует gpt-tokenizer (o200k_base, семейство GPT-4o / GPT-5) и выводится в stderr. Сжатый исходник уходит в stdout.

npx -y --package=@idmxgne/context-slim context-slim .
# Исходный размер: 3,522 токенов -> Сжатый: 1,408 токенов. Экономия: 60% ...

Бинарник называется context-slim, а не @idmxgne/context-slim. Scoped-команда npx @idmxgne/context-slim . завершится ошибкой command not found.

Related MCP server: cctx-mcp

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

npx -y --package=@idmxgne/context-slim context-slim .
npx -y --package=@idmxgne/context-slim context-slim ./src --signatures-only
npx -y --package=@idmxgne/context-slim context-slim ./src --out slim.txt
npx -y --package=@idmxgne/context-slim context-slim-mcp

Из клона:

npm i && npm run build
node dist/cli.js ./src

MCP-сервер (Cursor, Windsurf, Claude Code)

Бинарник: context-slim-mcp → dist/mcp.js. Официальный Server + StdioServerTransport из @modelcontextprotocol/sdk. Не пишите логи в stdout.

Промпт use-slim-context:

Всегда отдавайте приоритет использованию инструмента read_slim_file при чтении файлов исходного кода, чтобы оптимизировать окно контекста.

Инструменты:

Инструмент

Аргументы

Результат

read_slim_file

path (строка), signaturesOnly (логический, по умолчанию true)

сжатый исходник

get_slim_stats

нет

последний запуск: токены до / после, сохранено %, количество защищённых меток

Cursor

Внесите в ~/.cursor/mcp.json (готовый образец: examples/cursor-mcp.json):

{
  "mcpServers": {
    "context-slim": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/context-slim/dist/mcp.js"]
    }
  }
}

После npm publish:

{
  "mcpServers": {
    "context-slim": {
      "command": "npx",
      "args": ["-y", "--package=@idmxgne/context-slim", "context-slim-mcp"]
    }
  }
}

Перезапустите Cursor и попросите агента выполнить read_slim_file на «толстом» контроллере.

Windsurf

Тот же блок mcpServers в MCP-конфиге Windsurf (~/.codeium/windsurf/mcp_config.json или панель MCP в настройках). Укажите command на node + dist/mcp.js или на npx, как выше.

Claude Code / Claude Desktop

Claude Desktop — внесите examples/claude_desktop_config.json в claude_desktop_config.json:

{
  "mcpServers": {
    "context-slim": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/context-slim/dist/mcp.js"]
    }
  }
}

Claude Code:

claude mcp add context-slim -- node /ABSOLUTE/PATH/TO/context-slim/dist/mcp.js

Безопасные метки (.contextslimrc + isCriticalNode)

Узел никогда не вычищается, если isCriticalNode говорит об этом:

  • комментарии, соответствующие CRITICAL, FIXME, TODO, SECURITY, DONT TOUCH, В ПРОД НЕ ГНАТЬ, @keep

  • try / catch

  • методы, чьи имена похожи на аутентификацию (authorize, login, jwt, csrf, …)

  • env(), getenv(), process.env

  • PHP/Laravel: $this->hasMany / $this->belongsTo (и другие Eloquent-связи) и методы scope*

Репозиторий: https://github.com/lilite572-cyber/context-slim

Добавьте дополнительные фразы в .contextslimrc в корне проекта:

{
  "keep_patterns": ["HACK", "LEGACY"]
}

entry_patterns (по умолчанию: index / cli / main / app / server) сохраняют обычные тела функций даже без --signatures-only. Файлы зависимостей вычищаются; передайте --signatures-only (или MCP signaturesOnly: true), чтобы вычистить всё, что не является критическим.

Установка / публикация

npm i
npm test
npm run build

Бинарники: context-slim → ./dist/cli.js, context-slim-mcp → ./dist/mcp.js. npm: @idmxgne/context-slim. GitHub: lilite572-cyber/context-slim. Лицензия: MIT.

Лицензия

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that provides structure-aware code analysis (symbol trees, dependencies, docs) to reduce AI agent token consumption by up to 99%, along with Git commit intelligence.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An AST-based MCP server that provides token-efficient codebase skeletons to LLM agents, reducing context token usage by 80-95% by exposing structural information instead of full source files.
    5
    11 npm
    3
    MIT
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    AST-aware code exploration MCP server for AI agents, optimized for token efficiency.
    -