Simple MTP fuse filesystem driver.
C++ M4 Other
Clone or download


SIMPLE-MTPFS (Simple Media Transfer Protocol FileSystem) is a file system for Linux (and other operating systems with a FUSE implementation, such as Mac OS X or FreeBSD) capable of operating on files on MTP devices attached via USB to local machine. On the local computer where the SIMPLE-MTPFS is mounted, the implementation makes use of the FUSE (Filesystem in Userspace) kernel module. The practical effect of this is that the end user can seamlessly interact with MTP device files.


Latest sources of the software can be found at: simple-mtpfs


Simple-mtpfs depends on fuse (version >= 2.7.3) and libmtp. It also requires the C++ compiler to support C++11 standard.

To install the driver, follow these steps:

$ mkdir build && cd build
$ ../configure
$ make
$ make install (as root)

Due to MTP nature, it is necessary to use a folder, where the temporary files downloaded will be downloaded. The project can be configured to use custom directory for such files. To configure the simple-mtpfs to use desired temporary directory, add --with-tmpdir=TMPDIR option to configure script. Default value for temporary directory is /tmp.

If you got the sources from git repository, first you have to run:

$ ./


To mount MTP-based device to your local filesystem, simply run:

$ simple-mtpfs mountpoint [options]

If you have more than one MTP device attached to the computer, it is possible to specify which device, you are willing to mount. Either by entering its order number or special file usually placed in /dev:


$ simple-mtpfs --device <number> mountpoint [options]

Where the <number> should contain a numeric order of the device, you are about to mount. To get a list of all attached devices, execute following:

$ simple-mtpfs --list-devices
<number>: <device name>
<number>: <device name>


Enter special device file as the first argument to simple-mtpfs. The special device file is usually named as /dev/libmtp-*.

$ simple-mtpfs <device> mountpoint [options]


To unmount MTP device, execute following command:

$ fusermount -u <mountpoint>


Report bugs to or simple-mtpfs issues.