MCP for J add-on logoMCP for jDownloads is a free add-on for MCP for J that lets your AI client run a jDownloads library by Arno Betz. Its 17 tools cover categories, downloads, attaching files, licences, user-group limits and permissions, plus a health check that compares what jDownloads has in the database with what's actually on the disk. In jDownloads every category is also a folder, so renaming or moving one is really a file operation, and these tools treat it that way: the disk is checked before anything is written and checked again afterwards.

Why this exists

A jDownloads user asked for it. Keeping a download library tidy is mostly small, fiddly jobs: add a new version, move a file to the right category, find the downloads whose files have gone missing, work out which group can download what. Each one is a few screens in the jDownloads admin. With this add-on you ask for it in a sentence, and the answer comes from jDownloads' own tables and folders rather than a guess.

What Claude can do

There are 17 tools, grouped the way you'd reach for them.

AreaToolsWhat you can do
Categories4List and read categories, create them, and change them, including renaming a category or moving it under another parent, folder and all.
Downloads6List and read downloads, create them, change them, publish or unpublish them, and delete one once it's unpublished.
Files2Attach a file that's already in the jDownloads upload folder to a download, and list the files that no download uses.
Lookups3The licences, the download and upload limits per user group, and the effective permissions each group has.
Diagnostics2A health check of the database against the disk, and a read-only look at jDownloads' own tables.

Installing it

You'll need Joomla 5 or 6, PHP 8.2 or later, MCP for J, and jDownloads itself, which is free. The add-on was built against jDownloads 4.1.7, the current release for Joomla 4, 5 and 6.

  1. Open Components โ†’ MCP for J โ†’ Browse MCP Add-Ons and click Install on this add-on. You can also download the ZIP above and install it through System โ†’ Install โ†’ Extensions.
  2. That's the whole install. The plugin switches itself on, and the tools show up in your AI client the next time it lists them.

If MCP for J isn't installed, the plugin installs switched off and tells you why, rather than leaving you with tools that go nowhere.

Using it

Start with "Check my jDownloads setup". The health check lists downloads whose files are missing, files sitting in the upload folder that no download uses, folders with no category, and whether your upload folder can be reached directly from the web. After that, ask for what you want: "Add version 2.1 of the manual to the Documentation category", "Move the Archive category under Old Releases", or "Which groups can download from Members Only?"

Files are attached from inside the jDownloads upload folder only. Put the file there first (by FTP, the file manager or jDownloads' own upload), then ask for it to be attached. The tools won't reach outside that folder, won't follow links, and won't attach a file type that jDownloads' upload settings block or one that a server could run.

A few things about jDownloads are worth knowing:

  • jDownloads has no trash. A deleted download is gone for good, and jDownloads normally deletes its file too. delete_jdownloads_download wants the download unpublished first and keeps the file unless you ask for it to go.
  • The default upload folder is open to the web. Anyone with a file's address can fetch it directly, past access levels and the download counter, until you switch on jDownloads' anti-leech option. The health check tells you when that's the case.
  • Publishing or unpublishing a category applies to everything below it, and jDownloads won't publish a category whose folder is missing or whose parent is unpublished.
  • A new subcategory always takes its parent's access level, and a new public download takes its category's, the same as in the jDownloads admin.
  • The download counter goes up even when the file is missing. The visitor is sent to the home page and the download is still counted, which is one more reason to run the health check now and then.

Permissions and security

The tools only work for a logged-in user who has Access Administration Interface on jDownloads, and each change also checks the jDownloads permission it needs: create, edit, edit own or edit state, on the category or download concerned. It's checked for the person whose MCP connection makes the request, so your AI client can't do anything that person couldn't do in the jDownloads admin.

jDownloads' own admin save can't be used from outside its form, because there it blanks some fields, deletes screenshots and resets permissions. So downloads are written through jDownloads' own table, one field at a time, and an edit keeps everything you didn't mention: tags, custom field values, permission rules, the counter, checksums and screenshots. Nothing these tools do sends an email. Category and download passwords and visitor IP addresses are never shown, and the table viewer is read-only and limited to jDownloads' own tables.

Why it's free

jDownloads is free, so this add-on is free too.

This is version 1.0.0. All 17 tools were driven end to end on Joomla 6.2.0 with PHP 8.3 against jDownloads 4.1.7, including files downloaded from the front end and the counter checked afterwards, and every change was checked against the database and the folders rather than the tool's own report. Joomla 5, multilingual sites and jDownloads' manual folder mode haven't been tried yet. If your site uses them, start with the health check, and I'd like to hear how it goes.

Open source

GPL-2.0-or-later, the same license as Joomla itself. Source lives on GitHub.


Interesting blog? Like it on Facebook, Post it or share this article on other bookmarking websites.

Written by:
Tim Davis is the founder and owner of Cybersalt.
Log in to comment

Add comment

Submit