mtp-rs
Talk to MTP/PTP devices in pure Rust. No libmtp, no FFI, just async USB (uses nusb). Async streaming uploads/downloads, device events, two-level API for Android phones or raw camera access
What XERJ indexed
Snapshot
The whole repository at commit 0012adcba4 (2026-10-22). main is 58 commits ahead.
Selected work

“List folders with GetObjectPropList when the device advertises it”. 3 files, 424 lines in crates/mtp-rs.
Licence
The repository
LICENSE file checked at the pinned commit; the author agreed to inclusion.
The XERJ corpus
The author agreed by email on 2026-10-24. Same terms as the repository. Answers name the repo, the commit and the file:line.
selected for the XERJ Corpus Hublicence clearedsuggested use: adapt with attribution
androidasynccross-platformfile-transfermedia-transfer-protocolmtpptprust
Example questions
- How does mtp-rs implement android?
- Where does mtp-rs handle “List folders with GetObjectPropList when the device advertises it”?
- What does crates/mtp-rs do in mtp-rs?
Inside the indexed corpus
- Languages by size: Rust 99.2%, Just 0.8%.
- On GitHub since 2026-01-30, last push 2026-10-31, 354 commits on main.
- The pin is 58 commits behind main; the corpus answers from the pinned code, not the newest.
Licence on GitHub and in the corpus
GitHub reported Apache-2.0 for vdavid/mtp-rs on 2026-10-31, but the LICENSE file at commit 0012adcba4 was reviewed as NOASSERTION. The corpus is the pinned commit, so answers from it follow NOASSERTION.
Contributors
Piero (@IoSonoPiero) has 1 selected repository on the hub.
Using XERJ with mtp-rs
- Best grep alternative for AI coding agents (2026)
- Ask questions about a GitHub repo without cloning it
- Index a reference library for a coding agent
- ripgrep vs a code index for coding agents: 30 tasks
The prompt
Paste it into your AI agent. It clones vdavid/mtp-rs at the pinned commit and indexes it on your machine.
Search the GitHub repository vdavid/mtp-rs with XERJ (https://hub.xerj.org/corpus/vdavid--mtp-rs). Run these in a shell, in order, and check each result before the next: 1. xerj --help (success: it prints usage). If xerj is missing: curl -fsSL https://xerj.org/get | sh 2. git clone https://github.com/vdavid/mtp-rs mtp-rs && git -C mtp-rs checkout 0012adcba44e0f217276d84c9b0f97e9dbe13474 3. Start a local node and leave it running: xerj --insecure --data-dir ./xerj-data 4. xerj autoindex ./mtp-rs --url http://127.0.0.1:9200 --prefix mtp-rs --progress plain 5. xerj autoindex map --url http://127.0.0.1:9200 Then answer my question from the indexed files and cite the ax_path of every hit. Query syntax: https://xerj.org/llms.txt Licence: check the LICENSE file. Keep the copyright notice and credit the authors.
Related
PieroNetworking, protocols and serialisation corporacozohyperhttpxBIShare-project/bishare-flutteralexiusacademia/tesselrole-suite/role-client
Stats: GitHub API, fetched 2026-10-31. Selected work and consent: the XERJ registry.