Depyler MCP

Транспайлер Python в Rust с MCP-сервером: агент оценивает объем миграции, переводит модули и сверяет поведение результата.

  • 366 ★ репозитория
  • Последний коммит
  • MIT
MCP-сервер

Расширенный доступ

Почему такой уровень

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

paiml/depyler

Установка

Ручная установка

cargo install depyler

Первая команда Installation из README. Нужен Rust 1.83 и новее.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Агент запускает транспайлер и компилятор на файлах проекта, результат пишется на диск и требует тестов.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Depyler переводит аннотированный Python в идиоматичный Rust и сохраняет поведение программы. Команда `depyler compile script.py` собирает автономный бинарный файл, а `depyler transpile example.py --verify` выдает Rust-код с проверкой. MCP-сервер открывает агенту четыре инструмента: `transpile_python`, `analyze_migration_complexity`, `verify_transpilation` и `pmat_quality_check`. Агент оценивает объем миграции проекта, переводит файлы, сверяет эквивалентность и проверяет качество сгенерированного Rust.

Для кого. Разработчикам, которые переносят Python-сервисы и скрипты на Rust ради скорости и безопасной работы с памятью и хотят отдать агенту рутину перевода.

Подходит, если

  • Перед миграцией проекта нужна оценка: сколько строк Rust получится и какие компоненты труднее всего переносить.
  • Скрипт с аннотациями типов превращают в автономный бинарный файл командой `depyler compile`.
  • Агент переводит модуль и сразу сверяет результат с исходным Python через `verify_transpilation`.
  • Сгенерированный Rust проверяют на сложность и технический долг инструментом `pmat_quality_check`.

Не подходит, если

  • Код опирается на `eval`, `exec`, рефлексию, множественное наследование или monkey patching: README относит их к неподдерживаемым.
  • Python-код без аннотаций типов, где типы пришлось бы угадывать.
  • Ожидается полностью автоматический перенос крупного приложения: с первого прохода компилируется около 80% примеров проекта.

Пример запроса к агенту

Оцени, насколько сложно перевести этот Python-проект на Rust, затем переведи `main.py` и проверь эквивалентность результата.

MCP

Транспорт
stdio
Авторизация
не нужна

Переменные окружения

`RUST_LOG`
Уровень журнала сервера, в примере конфигурации `info`.

Ограничения

Транспайлер работает с Python, размеченным аннотациями типов. Динамические возможности (`eval`, `exec`, рефлексия, множественное наследование, monkey patching) не поддерживаются. По замерам самого проекта, с первого прохода компилируются 80% внутренних примеров (256 из 320), а на корпусе алгоритмов только 47,5%. Поэтому результат собирают и тестируют, а не принимают на веру. Для установки нужны Rust 1.83 и новее, для сверки тестами Python 3.8 и новее. Метрики качества в README опубликованы самим проектом.

Как отключить. Удалите блок `depyler` из конфигурации MCP-клиента и перезапустите клиент. Установленный через Cargo пакет удалите штатной командой Cargo.

Частые вопросы

Какие инструменты MCP есть?

Четыре. `transpile_python` переводит код, `analyze_migration_complexity` оценивает объем миграции, `verify_transpilation` проверяет эквивалентность, `pmat_quality_check` оценивает сложность и технический долг.

Как собрать бинарный файл без MCP?

Выполните `depyler compile script.py` и запустите `./script`. Имя результата задает `-o my_app`, отладочную сборку включает `--profile debug`.

Что делать, если Rust не собирается?

Запустите `depyler transpile example.py --explain` или `--trace`: команды показывают решения транспайлера. Затем проверьте, нет ли в коде неподдерживаемых возможностей.

Нужны ли аннотации типов?

Да. Типы Rust строятся по аннотациям Python, поэтому добавьте их до перевода.

Как подключить сервер к клиенту?

Добавьте запись `depyler` в `claude_desktop_config.json` с командой `depyler` и аргументами `agent start --foreground --port 3000`, затем перезапустите клиент.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы

MCP-сервер на потоках Rust: агент получает подсказки, переходы к определениям, ссылки, форматирование и диагностику компилятора от rust-analyzer

MCP-серверРасширенный доступ486Звезды репозитория

Бинарник на Rust, он же MCP-сервер: сложность, технический долг, мертвый код и контекст репозитория в Claude Code и Cline.

MCP-серверРасширенный доступ170Звезды репозитория

MCP-сервер по документации Rust: агент ищет элементы крейтов, читает исходники и разбирает дерево зависимостей.

MCP-серверРасширенный доступ142Звезды репозитория

Три скилла и конфиг clippy: агент пишет, проверяет и переносит код на идиоматичный Rust, а правила проходят в CI

ПлагинРасширенный доступ1,7 тыс.Звезды репозитория

Rust-бинарник для агентов и терминала: через tree-sitter находит определение символа, его вызовы и зависимости файла

MCP-серверМинимальный доступ358Звезды репозитория
Официальный

Локальный граф знаний о коде с историей версий: MCP-сервер отвечает агенту, кто вызывает функцию и что сломается от правки

MCP-серверРасширенный доступ511Звезды репозитория

Коротко о README

Версия 4.1.1: перевод аннотированного Python в Rust, проверку поведения тестами по свойствам и поддержку 27 модулей стандартной библиотеки. Отдельное руководство по MCP лежит в `docs/MCP_QUICKSTART.md`.

Бейдж для README

Сообщить о проблеме

Foxx AIDepyler
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.