# Install libmtp with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

Implementation of Microsoft's Media Transfer Protocol (MTP). Version 1.1.23 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:libmtp
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install libmtp
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install libmtp
```

  Evidence: MacPorts ports tree: multimedia/libmtp/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add libmtp
```

  Evidence: Alpine Linux edge package indexes: libmtp from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install libmtp-common
```

  Evidence: Debian stable package indexes: libmtp-common from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install libmtp
```

  Evidence: Fedora Rawhide package metadata: libmtp from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#libmtp
```

  Evidence: nixpkgs package indexes: pkgs/by-name/li/libmtp/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S libmtp
```

  Evidence: Arch Linux sync databases: libmtp from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install libmtp-devel
```

  Evidence: openSUSE Tumbleweed package metadata: libmtp-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:libmtp
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/libmtp>
- **Version:** 1.1.23
- **Source summary:** Implementation of Microsoft's Media Transfer Protocol (MTP)
- **Homepage:** <https://libmtp.sourceforge.net/>
- **Repository:** <https://sourceforge.net/p/libmtp/code/ci/master/tree>
- **Upstream docs:** <https://libmtp.sourceforge.net/>
- **License:** LGPL-2.1-or-later
- **Source archive:** <https://downloads.sourceforge.net/project/libmtp/libmtp/1.1.23/libmtp-1.1.23.tar.gz>
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- mtp-albumart (cli)
- mtp-albums (cli)
- mtp-connect (cli)
- mtp-delfile (cli)
- mtp-detect (cli)
- mtp-emptyfolders (cli)
- mtp-files (cli)
- mtp-filetree (cli)
- mtp-folders (cli)
- mtp-format (cli)
- mtp-getfile (cli)
- mtp-getplaylist (cli)
- mtp-hotplug (cli)
- mtp-newfolder (cli)
- mtp-newplaylist (cli)
- mtp-playlists (cli)
- mtp-reset (cli)
- mtp-sendfile (cli)
- mtp-sendtr (cli)
- mtp-thumb (cli)
- mtp-tracks (cli)
- mtp-trexist (cli)
- mtp-albumart (alias)
- mtp-albums (alias)
- mtp-connect (alias)
- mtp-delfile (alias)
- mtp-detect (alias)
- mtp-emptyfolders (alias)
- mtp-files (alias)
- mtp-filetree (alias)
- mtp-folders (alias)
- mtp-format (alias)
- mtp-getfile (alias)
- mtp-getplaylist (alias)
- mtp-hotplug (alias)
- mtp-newfolder (alias)
- mtp-newplaylist (alias)
- mtp-playlists (alias)
- mtp-reset (alias)
- mtp-sendfile (alias)
- mtp-sendtr (alias)
- mtp-thumb (alias)
- mtp-tracks (alias)
- mtp-trexist (alias)

## Dependencies

- libusb

## Build dependencies

- pkgconf

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.1.23
- Local data: ok
- Upstream repository: https://libmtp.sourceforge.net/
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

libmtp is a POSIX-oriented C implementation of the Media Transfer Protocol initiator side: host software talks to MTP responders such as media players, phones, and other portable devices.

### Project history

The project grew around the practical problem that MTP devices are not normal mounted filesystems. The upstream homepage describes libmtp as an initiator implementation of MTP Basic, and the README explains the difference between a host-side initiator and a device-side responder.

Copyright notices in the public headers and examples show active authorship beginning in 2005, including Linus Walleij and other contributors. Over time the project accumulated a large device database, examples, command-line tools, and downstream integrations for desktop environments and media applications.

### Adoption history

The libmtp homepage explicitly lists downstreams and related clients such as GVFS MTP support for GNOME, KIO-MTP for KDE, go-mtpfs, XNJB, Gnomad2, Amarok, and Rhythmbox. That downstream list captures why the library became the common Unix packaging point for MTP access.

Package managers ship both the shared library and many small mtp-* utilities, letting users inspect devices, transfer files, manage playlists, and debug unknown vendor/product IDs without writing code.

### How it is used

Typical usage is through desktop file managers, media players, FUSE clients, or the bundled commands such as mtp-detect, mtp-files, mtp-getfile, and mtp-sendfile. The upstream site asks users with unrecognized devices to submit USB IDs and mtp-detect output, reflecting the device-quirk maintenance model.

### Why package nerds care

libmtp matters to packagers because it turns a messy device protocol and vendor-ID database into one shared dependency. It is also a classic example of a library whose command-line tools are as important for debugging support tickets as the library ABI is for applications.

### Timeline

- 2005: Public source copyright notices begin for libmtp authorship and examples.
- 2007: Additional contributors and device support appear in public source copyright notices.
- 2008: Several libmtp source files record continued authorship and device-support work.
- 2010s: GNOME, KDE, FUSE, and media-player clients use libmtp or related MTP access paths.
- 2020s: The project maintains SourceForge and GitHub source surfaces plus release packaging across Unix distributions.

### Related projects

- libmtp is related to libgphoto2's PTP/MTP handling, but the README explains that libmtp stays closer to the MTP object model rather than presenting everything as files. Desktop integrations include GVFS and KIO-MTP, while go-mtpfs and XNJB are standalone client examples.

### Sources

- <https://formulae.brew.sh/formula/libmtp>
- <https://github.com/libmtp/libmtp>
- <https://github.com/libmtp/libmtp/blob/master/src/libmtp.h.in>
- <https://libmtp.sourceforge.net/>
- <https://sourceforge.net/p/libmtp/code/ci/HEAD/tree/README>


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** libmtp
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Debian apt - libmtp-common - 1.1.22-1: normalized package name match | Debian stable package indexes: libmtp-common from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Media Transfer Protocol (MTP) common files | https://libmtp.sourceforge.net/
- Debian apt - libmtp-dev - 1.1.22-1: normalized package name match | Debian stable package indexes: libmtp-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Media Transfer Protocol (MTP) development files | https://libmtp.sourceforge.net/
- Debian apt - libmtp-doc - 1.1.22-1: normalized package name match | Debian stable package indexes: libmtp-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Media Transfer Protocol (MTP) library documentation | https://libmtp.sourceforge.net/
- Debian apt - libmtp-runtime - 1.1.22-1: normalized package name match | Debian stable package indexes: libmtp-runtime from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Media Transfer Protocol (MTP) runtime tools | https://libmtp.sourceforge.net/
- Debian apt - libmtp9t64 - 1.1.22-1: normalized package name match | Debian stable package indexes: libmtp9t64 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Media Transfer Protocol (MTP) library | https://libmtp.sourceforge.net/
- Debian apt - mtp-tools - 1.1.22-1: normalized package name match | Debian stable package indexes: mtp-tools from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Media Transfer Protocol (MTP) library tools | https://libmtp.sourceforge.net/
- Nix - libmtp: normalized package name match | nixpkgs package indexes: pkgs/by-name/li/libmtp/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - libmtp-common - 1.1.21-3.1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libmtp-common from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | Media Transfer Protocol (MTP) common files | https://libmtp.sourceforge.net/
- Ubuntu apt - libmtp-dev - 1.1.21-3.1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libmtp-dev from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | Media Transfer Protocol (MTP) development files | https://libmtp.sourceforge.net/
- Ubuntu apt - libmtp-doc - 1.1.21-3.1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libmtp-doc from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | Media Transfer Protocol (MTP) library documentation | https://libmtp.sourceforge.net/
- Ubuntu apt - libmtp-runtime - 1.1.21-3.1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libmtp-runtime from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | Media Transfer Protocol (MTP) runtime tools | https://libmtp.sourceforge.net/
- Ubuntu apt - libmtp9t64 - 1.1.21-3.1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libmtp9t64 from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | Media Transfer Protocol (MTP) library | https://libmtp.sourceforge.net/
- Ubuntu apt - mtp-tools - 1.1.21-3.1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: mtp-tools from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Media Transfer Protocol (MTP) library tools | https://libmtp.sourceforge.net/
- apk - libmtp - 1.1.22-r1: normalized package name match | Alpine Linux edge package indexes: libmtp from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Software library for MTP media players | https://libmtp.sourceforge.net/
- apk - libmtp-dev - 1.1.22-r1: normalized package name match | Alpine Linux edge package indexes: libmtp-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Software library for MTP media players (development files) | https://libmtp.sourceforge.net/
- apk - libmtp-examples - 1.1.22-r1: normalized package name match | Alpine Linux edge package indexes: libmtp-examples from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Example programs for libmtp | https://libmtp.sourceforge.net/


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Media and graphics packages](https://www.automicvault.com/pkg/media-graphics-tools/) - Matched media, image, audio, video, or graphics metadata.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [simple-mtpfs](https://www.automicvault.com/pkg/brew/simple-mtpfs/) - Popular package that depends on this formula.
- [a52dec](https://www.automicvault.com/pkg/brew/a52dec/) - Shares av.db curated category or tags: cli, library, media.
- [aalib](https://www.automicvault.com/pkg/brew/aalib/) - Shares av.db curated category or tags: cli, library, media.
- [adplug](https://www.automicvault.com/pkg/brew/adplug/) - Shares av.db curated category or tags: cli, library, media.
- [alsa-lib](https://www.automicvault.com/pkg/brew/alsa-lib/) - Shares av.db curated category or tags: cli, library, media.
- [babl](https://www.automicvault.com/pkg/brew/babl/) - Shares av.db curated category or tags: cli, library, media.
- [chromaprint](https://www.automicvault.com/pkg/brew/chromaprint/) - Shares av.db curated category or tags: cli, library, media.
- [djvulibre](https://www.automicvault.com/pkg/brew/djvulibre/) - Shares av.db curated category or tags: cli, library, media.
- [espeak-ng](https://www.automicvault.com/pkg/brew/espeak-ng/) - Shares av.db curated category or tags: cli, library, media.
- [libicns](https://www.automicvault.com/pkg/brew/libicns/) - Local package facts share a topical domain. Shared terms: cli, files, format, library, media.
- [ebook-tools](https://www.automicvault.com/pkg/brew/ebook-tools/) - Local package facts share a topical domain. Shared terms: access, cli, format, media.

## Combined YAML source

View the package source record on GitHub. [combined/libmtp.yml](https://github.com/automic-vault/db/blob/main/combined/libmtp.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
