MCP for J add-on logoMCP for RSTicketsPro is a Pro add-on for MCP for J that hands your RSJoomla help desk to your AI client. Twenty tools cover the ticket list, the message thread, private staff notes, the audit history, attachment metadata and the department, status, priority and staff lookups, plus eight ticket writes โ€” reply, note, edit, close, reopen, flag, autoclose warning and delete. Every write goes through RSTicketsPro's own admin model instead of raw SQL, so the notification emails go out and the ticket history records who did what โ€” and a department change still regenerates the ticket code exactly the way it does when you click the button yourself.

Please log in to download MCP for RSTicketsPro.

Why this exists

RSTicketsPro holds everything you'd want to know about your queue and shows you very little of it at once. The ticket list answers "what's open". It doesn't answer "which of these has a customer been waiting on us for", or "how much of last week landed in one department", or "who on the team is carrying the backlog". Each of those is one query away from data RSTicketsPro already stores, and none of them is a screen the component ships. This add-on gives your AI client the same filters the admin list has โ€” status, department, priority, assignee, who replied last, flagged, a date window on the last reply โ€” so you can ask the question in a sentence instead of assembling it out of dropdowns and counting the rows yourself.

If the help desk you run is Akeeba Ticket System rather than RSTicketsPro, there's a separate add-on for that one, and it's free: MCP for Akeeba Ticket System.

What Claude can do

Twenty tools, grouped the way you'd reach for them.

AreaToolsWhat you can do
Reading tickets6List with filters, read one ticket in full with its custom-field values, pull the message thread, the audit history, the private staff notes, and the attachment metadata.
Lookups6Departments, statuses, priorities, staff groups, the per-department custom fields, and the staff list with each member's Joomla user id and the departments they can reach.
Replying2Post a staff reply on a ticket, or add a private staff note the customer never sees.
Workflow5Change status, department, priority, assignee, subject or customer; close a ticket and stop its timer; reopen it; flag it; send the autoclose-warning email.
Deleting1Remove a ticket along with its messages, notes, files and history.

How it talks to RSTicketsPro

RSTicketsPro 3.x is a legacy Joomla component, written before namespaces โ€” its classes are called things like RsticketsproModelTicket and RsticketsproTableTickets, and nothing in Joomla's autoloader knows where to find them. So the add-on loads the vendor's model and table files by hand before it uses them. That's the unglamorous half.

The interesting half is that the MCP endpoint runs under Joomla's API application, and RSTicketsPro builds front-end URLs almost everywhere. The customer-notification email body asks the site router for a link; so does the department-change email, and the autoclose warning. Under the API application there is no site menu to route against, and the whole request dies with Error loading menu: api. Every write here that can fire an email therefore runs inside a real SiteApplication, pushed into Joomla's factory for the duration of that one call and swapped back out afterwards. It's the same trick Joomla's own scheduled tasks use when they call front-end code. Without it, replying to a ticket over MCP wouldn't fail loudly โ€” the reply would save and the customer would simply never be told.

One more thing worth knowing if you're reading responses closely. RSTicketsPro's model caches a ticket the first time you load it and never clears that cache when you write to it, so asking the model for the ticket again after a change hands back the old row. Every tool re-reads the ticket straight from the database after a write, which is why the value you get back is the value that's actually stored.

Installing it

You'll need Joomla 5 or 6, MCP for J, RSTicketsPro 3.x from RSJoomla, and an active Cybersalt Pro membership on the site.

  1. Download the ZIP from the link near the top of this page. The button appears once you're logged in with a membership that covers Pro add-ons.
  2. In Joomla admin, go to System โ†’ Install โ†’ Extensions and upload it.
  3. That's the whole install. The plugin enables itself, and the tools show up in your connected AI client the next time it lists them.

Pro add-ons are also listed under Components โ†’ MCP for Joomla โ†’ Browse MCP Add-Ons once you've activated your membership email on the MCP for J dashboard, which is what links the site to your membership. There's no admin screen for the plugin itself, by design โ€” it adds tools to MCP for J rather than somewhere to click, so don't go hunting for a menu entry after installing.

RSTicketsPro itself is a separate product, bought from RSJoomla. This add-on wraps it; it doesn't replace it or stand in for a licence.

Using it

Ask in plain language. "Which open tickets had their last reply from the customer more than four days ago?" is a filtered list. "Show me ticket 1183 with its whole thread and the internal notes" pulls all of it in one go. "Move that one to the Hosting department and assign it to Dave" is a single write.

Writes behave like a staff member working in the admin UI, because that's the same code path. A reply sends the customer notification and bumps the ticket's reply count and last-reply fields. A department change regenerates the ticket code with the new prefix, carries over matching custom-field values, writes a system message into the thread, and unassigns the current agent if they don't have access to the new department. Closing stops the time tracker, which setting the status by hand would not. The one write that regularly declines to do anything is the autoclose warning: RSTicketsPro refuses to send it when the customer replied last, when it's already been sent once, or when the last reply is too recent for your configured interval. The tool reports which of those happened rather than claiming success.

Two things the tools won't do. Replies can't carry file attachments โ€” that needs a multipart upload the MCP protocol doesn't give us, so use the admin UI for those. And attachment contents are never returned, only the filename, the download count and which message it hangs off.

Permissions and security

Every write asks RSTicketsPro's own permission check first and reports the component's refusal verbatim rather than guessing at its own answer. Replies and notes are recorded under the Joomla user behind the API token, and that user needs to be an RSTicketsPro staff member for a reply to count as a staff reply โ€” if they're not, RSTicketsPro records it as a customer reply, which is almost certainly not what you meant.

Private staff notes are readable and writable here. They stay staff-only in RSTicketsPro โ€” nothing this add-on does puts a note in front of a customer โ€” but it does mean anyone who can reach your MCP endpoint with write permission can read your team's internal commentary on a ticket. Treat the endpoint as staff-level access to the help desk, because that's what it is.

Open source

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

Please log in to download MCP for RSTicketsPro.


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