Pure-Rust MTP/PTP for modern Android phones, e-readers, Garmin watches, and cameras. No libmtp, no libusb, no FFI. Async, runtime-agnostic, consistently faster than libmtp.
This repo ships two crates:
| Crate | What it is | Page |
|---|---|---|
mtp-rs |
The library. Use it from your own Rust code. | crates.io · docs.rs |
mtp-rs-cli |
A ready-made mtp-rs binary. cargo install mtp-rs-cli. |
crates.io |
For library usage, the API, the device quirks we handle, and tested devices, see the mtp-rs README.
For the CLI, see the mtp-rs-cli README and the full command reference.
- Cmdr: an AI-native file manager that uses
mtp-rsfor MTP access. - mtp-mount: expose
mtp-rsas a FUSE mount.
just # fast checks: fmt, clippy, test, doc
just check-all # plus MSRV, security audit, license check
just fix # auto-fix formatting and clippy warningsSee CONTRIBUTING.md for more.
The mtp-rs-cli crate was originally contributed by Dmitry Tretyakov in #11. For the full list of contributors to the library, see the contributors page.
MIT OR Apache-2.0, at your option.