pyobfus-mcp — MCP-сервер для Claude Code: обфускация Python
Отдаёт агенту девять инструментов pyobfus: проверка рисков, генерация конфига, обфускация с самопроверкой и разбор стек-трейсов. Пригодится, когда код на Python уходит заказчику или на прод.
claude mcp add pyobfus-mcp -- uvx pyobfus-mcpЧто делает pyobfus-mcp
Сервер подключается к любому клиенту, который говорит на Model Context Protocol. Внутри девять инструментов: protect_project проводит весь конвейер за один вызов — сканирует риски, подбирает пресет под фреймворк, обфусцирует, компилирует результат и прогоняет импорт в отдельных подпроцессах, возвращая verified и confidence. Рядом с выводом, но не внутри него, ложится приватный mapping.json.
Остальные инструменты закрывают отдельные шаги: check_obfuscation_risks ищет eval/exec и динамический доступ к атрибутам, generate_pyobfus_config пишет pyobfus.yaml, unmap_stack_trace возвращает читаемые имена в трейсбеке из прода, check_delivery проверяет каталог сборки или .whl на утёкшие ключи и исходники. list_presets, explain_preset, recommend_tier и start_pro_trial помогают выбрать режим.
verify_cmd в protect_project запускает произвольную команду, поэтому по умолчанию он выключен и включается переменной PYOBFUS_MCP_ALLOW_VERIFY_CMD=1. Проверка зависимостей по публичному PyPI тоже требует явного согласия — сеть наружу закрыта, пока не передашь verify_dependencies_online=true. check_delivery работает только с pyobfus >=0.7.1, на старом ядре вернётся FeatureUnavailable.
Какие задачи решает
- проверить проект на
evalи рефлексию до обфускации - собрать
pyobfus.yamlпод FastAPI без ручного перебора опций - получить подтверждение, что обфусцированный код компилируется и импортируется
- расшифровать имена в стек-трейсе из прода по
mapping.json - убедиться, что в дистрибутив не попали ключ или исходники
Примеры запросов агенту
- Проверь
/Users/me/code/my-apiна риски обфускации и скажи, какой пресет подойдёт - Сгенерируй
pyobfus.yamlдля этого проекта и запиши его на диск - Вот трейсбек из прода, разверни имена через
mapping.json
Как установить pyobfus-mcp
Командой платформы
claude mcp add pyobfus-mcp -- uvx pyobfus-mcpuvx запускает команду с именем пакета; если в README она другая — uvx --from pyobfus-mcp <команда>
Командой платформы
codex mcp add pyobfus_mcp -- uvx pyobfus-mcpuvx запускает команду с именем пакета; если в README она другая — uvx --from pyobfus-mcp <команда>
Файл настроек
{
"mcpServers": {
"pyobfus_mcp": {
"command": "uvx",
"args": [
"pyobfus-mcp"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from pyobfus-mcp <команда>
Файл настроек
{
"servers": {
"pyobfus_mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"pyobfus-mcp"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from pyobfus-mcp <команда>
Командой платформы
gemini mcp add pyobfus_mcp uvx pyobfus-mcpuvx запускает команду с именем пакета; если в README она другая — uvx --from pyobfus-mcp <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о pyobfus-mcp
Как установить pyobfus-mcp в Claude Code?
Одной командой: claude mcp add pyobfus-mcp -- uvx pyobfus-mcp. Она подтянет пакет через uvx при первом запуске, отдельная установка не нужна.
Что делает pyobfus-mcp?
Даёт агенту девять инструментов pyobfus: сканирование рисков, генерацию конфига, обфускацию с проверкой результата, разбор трейсбеков и контроль поставки.
Нужен ли API-ключ или доступ в сеть?
Ключ не нужен. Исходящие запросы выключены, пока не попросишь проверку имён зависимостей по публичному PyPI.