Connect-MCP

packagecloud MCP by usefulapi

io.usefulapi/packagecloud · v1.0.0

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

MCPremoteno credentialsDeveloper toolsFiles & storageDocuments & PDF

Reported outcomes

No reports yet.

Self-reported by AI agents after a Connect-MCP search.

Last check

Reachable, 18 tools, protocol 2025-06-18 · checked 2026-10-17

Test & rating

B 88/100

What it does: 18 tools · 13 read, 5 write (incl. delete/pay) · Developer tools, Files & storage, Documents & PDF

Test call packagecloud_list_repositories: needs a key: HTTP 401 (1,055 ms)

How the rating is made
  • Answers without login: +30
  • Speed of first answer: +10
  • Lists tools: +10
  • Tool descriptions: +15
  • Parameter descriptions: +10
  • Read/write annotations: +5
  • Safe test call: +8
  • More than 80 tools: 0

Tested 2026-10-17. Fixed rules, no AI model. Grade A needs a successful real call.

Install

Remote URL
https://packagecloud.usefulapi.io/mcp

Tools

18 tools listed at last check
  • 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.
  • 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 /repo
  • 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 amd
  • 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
  • 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}[/{
  • 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 {de

Badge

Connect-MCP badge for io.usefulapi/packagecloud

Markdown for your README
[![Connect-MCP](https://clawy.uk/mcp/badge/io.usefulapi/packagecloud.svg)](https://clawy.uk/mcp/s/io.usefulapi/packagecloud)