# since-cutoff

Находит устаревшие вызовы Python API, изменившиеся после даты обучения модели, и предупреждает ассистента в контексте проекта.

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

## Что делает

Нейросети часто генерируют устаревший код библиотек, ориентируясь на дату отсечки своих обучающих выборок. Сервер решает эту проблему статическим анализом зависимостей проекта. Он сравнивает публичные интерфейсы зафиксированных пакетов с их версиями до дедлайна модели. В коде сразу видны вызовы с несовместимыми сигнатурами.

Утилита умеет обновлять файлы `AGENTS.md` или `CLAUDE.md` через команду `sync`. В них сохраняются короткие инструкции, чтобы агент не передавал удалённые параметры функций. Базовый поиск расхождений не делает запросов к нейросетям и не тратит токены. Учтите ограничение: старые файлы `setup.py` и `setup.cfg` парсер не поддерживает.

## Требования
- Нужно: Python и uv (команды через uvx)

## Установка

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

**Командой платформы**
```bash
claude mcp add since-cutoff -- uvx since-cutoff
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from since-cutoff <команда>

### Codex

**Командой платформы**
```bash
codex mcp add since-cutoff -- uvx since-cutoff
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from since-cutoff <команда>

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "since-cutoff": {
            "command": "uvx",
            "args": [
                "since-cutoff"
            ]
        }
    }
}
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from since-cutoff <команда>

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "since-cutoff": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "since-cutoff"
            ]
        }
    }
}
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from since-cutoff <команда>

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add since-cutoff uvx since-cutoff
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from since-cutoff <команда>

## Когда брать
- выявить вызовы библиотек с параметрами, удалёнными после даты обучения модели
- зафиксировать правила работы с новым API в файле `AGENTS.md` или `CLAUDE.md`
- сопоставить зависимости из lock-файла с историческими версиями пакетов

## Примеры запросов агенту
- Проверь через `since-cutoff`, какие вызовы зависимостей в проекте изменились после отсечки обучения модели
- Запусти синхронизацию `since-cutoff sync`, чтобы добавить предупреждения о новом API в `AGENTS.md`

## Похожие
- [fallow-review](https://affpapa.org/nevibecode/skills/fallow-review.md) — скилл · 885 установок
- [rust-deps-visualizer](https://affpapa.org/nevibecode/skills/rust-deps-visualizer.md) — скилл · 3000 установок
- [python-uv](https://affpapa.org/nevibecode/skills/python-uv.md) — скилл · 956 установок
- [cargo-workflows](https://affpapa.org/nevibecode/skills/cargo-workflows.md) — скилл · 558 установок
- [114-java-maven-search](https://affpapa.org/nevibecode/skills/114-java-maven-search.md) — скилл · 315 установок
- [golang-dependency-management](https://affpapa.org/nevibecode/skills/golang-dependency-management.md) — скилл · 39800 установок

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