Transferring files between macOS and Android or any other MTP devices has always been a nightmare. There are a few File Transfer MTP apps which are available online but most of them are either too expensive or come with bad UI/UX. The official "Android File Transfer" app for macOS from Google comes with bugs, innumerable limitations, some of which include - not being able to transfer files larger than 4GB, frequent disconnections, unable to rename the folders or files on the android/MTP devices. Most of the other apps available online uses either WiFi or ADB protocol to transfer the files, which is an extremely time-consuming process.
Countless searches to find an app to solve these problems and failing to find one made me restless. So, I took the leap and decided to create an app for us that could help us have a smooth and hassle-free file transfer process from macOS to Android/MTP devices. Created with the objective of giving back to the community, we can all use this app for free in this lifetime.
Download the Latest Version
Find the latest dmg file from GitHub Releases


Requirements: Node.js v10, Git and Yarn package manager
$ git clone --depth 1 --single-branch --branch master https://github.com/ganeshrvel/openmtp.git
$ cd openmtp
$ yarn
A fresh clone might throw undefined state error. Run the following commands once to fix the issue.
# For Mac and Linux
$ UPGRADE_EXTENSIONS=1 npm run dev
# For Windows
$ set UPGRADE_EXTENSIONS=1 && npm run dev
# Development
$ yarn dev
# Pre-production
$ yarn start
Setup the code signing to build, package and publish the app.
Instructions: https://www.electron.build/code-signing
$ export GH_TOKEN="<github token>"
# For local platform
$ yarn package
# For multiple platforms
$ yarn package-all
# Debugging Guide
https://github.com/electron-react-boilerplate/electron-react-boilerplate/issues/400
# Dispatching redux actions from the main process
https://github.com/electron-react-boilerplate/electron-react-boilerplate/issues/118
https://github.com/electron-react-boilerplate/electron-react-boilerplate/issues/108
# VM112:2 Uncaught TypeError: Cannot read property 'state' of undefined error
# For Mac and Linux
$ UPGRADE_EXTENSIONS=1 npm run dev
# For Windows
$ set UPGRADE_EXTENSIONS=1 && npm run dev
Sincere thanks to Vladimir Menshakov for android-file-transfer-linux c++ library and for all his help and support that were extended towards this project.
Thanks to Ms Ayushi Bothra for contributing to the documentation and pages.
This app is built upon https://github.com/ganeshrvel/electron-react-redux-advanced-boilerplate which is a heavily modified fork of https://github.com/electron-react-boilerplate/electron-react-boilerplate.
The icons used in the app were made by Prosymbols, Nikita Golubev, Those Icons, Kiranshastry, Elias Bikbulatov & Pixel perfect and were distributed by www.flaticon.com which is licensed under CC 3.0 BY.
The "no image found" icon was made by Phonlaphat Thongsriphong.
When you submit code changes, your submissions are understood to be under the same MIT License that covers the project. Feel free to contact the maintainers if that's a concern.
Help me keep the app FREE and open for all. Paypal me: paypal.me/ganeshrvel
Please feel free to contact me at ganeshrvel@outlook.com
OpenMTP | Android File Transfer for macOS is released under MIT License.
Copyright © 2018-Present Ganesh Rathinavel
$ claude mcp add openmtp \
-- python -m otcore.mcp_server <graph>