chunk-invariance — MCP-сервер Claude Code: установка и проверка
Проверяет, не пропускает ли потоковый фильтр секреты на границах чанков, и создаёт pytest для регрессии.
claude mcp add chunk-invariance -- uvx chunk-invarianceЧто делает chunk-invariance
chunk-invariance сравнивает результат обработки целого текста с объединённым результатом потокового фильтра. Он перебирает заданные разбиения, сообщает первый сбой и показывает вход, части, ожидаемый и фактический вывод. Проверка работает со str и bytes, а для асинхронных генераторов есть отдельный API.
MCP-сервер предоставляет инструменты check_stream_filter, write_regression_test и explain. Он импортирует функцию из модуля, запускает её в отдельном процессе с тайм-аутом и может подготовить файл pytest на основе assert_chunk_invariant. Сервер не делает сетевых запросов и не записывает файлы сам. Передавайте только выдуманные образцы: результаты проверки и утечки попадут в ответ ассистенту и в сгенерированный тест.
Какие задачи решает
- находить секрет, разрезанный между чанками
- сравнивать потоковую и цельную обработку текста
- ловить короткий буфер удержания и пропущенный flush
- добавлять регрессионный тест для CI
Примеры запросов агенту
- Проверь, пропускает ли
redact_streamизmyapp/filters.pyзначения, разрезанные между чанками, и создай регрессионный тест. - Запусти проверку
redact_streamна выдуманных образцах API-ключей. - Объясни, почему фильтрация каждого чанка отдельно даёт утечку.
Как установить chunk-invariance
Командой платформы
claude mcp add chunk-invariance -- uvx chunk-invarianceuvx запускает команду с именем пакета; если в README она другая — uvx --from chunk-invariance <команда>
Командой платформы
codex mcp add chunk-invariance -- uvx chunk-invarianceuvx запускает команду с именем пакета; если в README она другая — uvx --from chunk-invariance <команда>
Файл настроек
{
"mcpServers": {
"chunk-invariance": {
"command": "uvx",
"args": [
"chunk-invariance"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from chunk-invariance <команда>
Файл настроек
{
"servers": {
"chunk-invariance": {
"type": "stdio",
"command": "uvx",
"args": [
"chunk-invariance"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from chunk-invariance <команда>
Командой платформы
gemini mcp add chunk-invariance uvx chunk-invarianceuvx запускает команду с именем пакета; если в README она другая — uvx --from chunk-invariance <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о chunk-invariance
Как установить chunk-invariance в Claude Code?
Выполните claude mcp add chunk-invariance -- uvx chunk-invariance.
Что делает chunk-invariance?
Сервер проверяет потоковый фильтр на разных разбиениях входа и сравнивает объединённый вывод с обработкой всего текста. При сбое он показывает проблемное разбиение.
Можно ли проверять через него работающий шлюз?
Нет. Сервер вызывает функцию внутри процесса и не проверяет шлюз, сеть или SSE-парсер. Для этого нужен отдельный тест, отправляющий фрагментированные ответы через шлюз.