io.usefulapi/packagecloud

packagecloud MCP by usefulapi

Read packagecloud repos, packages, versions and download stats; create repos, promote and delete.

1.0.0
Version
remote
Transport
18
Tools

Security review

Review passed

Reviewed just now.

  • tools: 18 tools scanned
  • metadata: scanned

No findings.

Tools (18)

  • packagecloud_list_repositories

    List the package repositories of this account: name, fqname (user/repo, used by every other tool), privacy, package count and last push. include_collaborations adds repositories you collaborate on. GET /repos.

  • packagecloud_get_repository

    One repository: name, fqname, url, privacy, package count and last push. GET /repos/{user}/{repo}.

  • packagecloud_create_repository

    WRITE: create a new, empty package repository in this account (the plan limits how many private ones). Returns the URL of the new repository. POST /repos.

  • packagecloud_list_distributions

    The Linux distributions and versions packagecloud supports for deb, dsc and rpm packages, with their index_name (for example ubuntu / jammy) and numeric version ids. GET /distributions.

  • packagecloud_list_packages

    List every package file in a repository (not grouped), newest data first as the server orders it. Each item carries ready-made URLs: package_url, versions_url, downloads_*_url, promote_url, destroy_url and download_url; pass those to the other package tools. Paged. GET /repos/{user}/{repo}/packages.json.

  • packagecloud_search_packages

    Search a repository by package file name. An empty q returns every package. filter limits by type (rpms, debs, dscs, gem, python, node); dist (for example ubuntu or el/6) overrides filter; arch applies to Alpine/RPM/Debian only. Items carry the same ready-made URLs as list_packages. Paged. GET /repos/{user}/{repo}/search.json.

  • packagecloud_list_package_groups

    List the packages of one type, grouped by name with a versions_count and a versions_url (pass that to packagecloud_list_package_versions). Narrow by distro, then version, then arch (each needs the previous one; '*' matches any). Examples: type rpm; type deb + distro ubuntu + version jammy + arch amd64; type gem. GET /repos/{user}/{repo}/packages/{type}[/{distro}[/{version}[/{arch}]]].json.

  • packagecloud_get_package

    Details of one package file (size, checksums, dependencies, licenses, download counts and its other URLs). Pass the package_url of an item from list_packages, search_packages or list_package_versions. GET {package_url}.

  • packagecloud_list_package_versions

    All versions of one package name (for deb/rpm: per distro, version and architecture). Pass the versions_url of an item from list_package_groups, or derive it from a package object. Paged. GET {versions_url}.

  • packagecloud_get_package_downloads

    Download statistics of one package version: a count, a time series, or (repository owners only) the detail of each download. Default range is the last 7 days; pass start_date=19700101Z for all time. Pass the package_url of the package; Java and generic files have no download stats. GET {package_url minus .json}/stats/downloads/{count|detail|series/<interval>}.json.

  • packagecloud_get_repository_installs

    How often a repository was installed (set up on a machine): a count, a time series, or (owners only) the detail of each install, optionally for one distro or distro+version. Default range is the last 7 days; pass start_date=19700101Z for all time. GET /repos/{user}/{repo}/stats/installs[/{distro}[/{version}]]/{count|detail|series/<interval>}.json.

  • packagecloud_list_gpg_keys

    The GPG keys of a repository (repository signing keys and package signing keys): name, fingerprint, type and the public key download URL. GET /repos/{user}/{repo}/gpg_keys.json.

  • packagecloud_get_gpg_key

    One GPG key of a repository by its key name (as returned by list_gpg_keys, for example user-repo-85D7FBF915DFCBC6.pub.gpg). GET /repos/{user}/{repo}/gpg_keys/{keyname}.json.

  • packagecloud_get_readme

    The Markdown README of a repository. GET /repos/{user}/{repo}/readme.json.

  • packagecloud_create_readme

    WRITE: create the Markdown README of a repository. Use append_readme to add to an existing one. POST /repos/{user}/{repo}/readme.json.

  • packagecloud_append_readme

    WRITE: append Markdown to the existing README of a repository (existing text is kept). Not idempotent: calling it twice appends twice. PATCH /repos/{user}/{repo}/readme.json.

  • packagecloud_promote_package

    WRITE, DESTRUCTIVE: MOVE a package file to another repository (for example staging -> production). It no longer exists in the source repository afterwards, and its download statistics are cleared. Pass the promote_url of the package object and the destination as user/repo. POST {promote_url}.

  • packagecloud_delete_package

    WRITE, DESTRUCTIVE AND IRREVERSIBLE: delete one package file from its repository (a gem is yanked). Clients that depend on it will break. Pass the destroy_url of the package object and repeat its file name (the last path segment, for example jake-1.0-2.el6.x86_64.rpm) as confirm_filename. DELETE {destroy_url}.