18 KiB
← Home
API Reference
All tools accept an optional connection parameter to target a specific named connection. If omitted, the default connection is used.
Articles
joomla_articles_list
List articles with optional filtering.
| Parameter | Type | Required | Description |
|---|---|---|---|
category_id |
number | No | Filter by category ID |
state |
"0" / "1" / "-2" |
No | 1=published, 0=unpublished, -2=trashed |
search |
string | No | Search in title |
limit |
number | No | Max results (default 20) |
offset |
number | No | Pagination offset |
joomla_article_get
Get a single article by ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
number | Yes | Article ID |
joomla_article_create
Create a new article.
| Parameter | Type | Required | Description |
|---|---|---|---|
title |
string | Yes | Article title |
articletext |
string | Yes | Article body (HTML) |
catid |
number | Yes | Category ID |
state |
number | No | 1=published, 0=unpublished (default 0) |
language |
string | No | Language code (default "*") |
featured |
number | No | 1=featured, 0=not |
metadesc |
string | No | Meta description |
metakey |
string | No | Meta keywords |
joomla_article_update
Update an existing article. Only provided fields are changed.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
number | Yes | Article ID |
title |
string | No | New title |
articletext |
string | No | New body (HTML) |
catid |
number | No | New category ID |
state |
number | No | State value |
featured |
number | No | Featured flag |
metadesc |
string | No | Meta description |
joomla_article_delete
Delete an article.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
number | Yes | Article ID |
Categories
joomla_categories_list
List content categories.
| Parameter | Type | Required | Description |
|---|---|---|---|
extension |
string | No | Extension name (default "com_content") |
search |
string | No | Search in title |
joomla_category_create
Create a new category.
| Parameter | Type | Required | Description |
|---|---|---|---|
title |
string | Yes | Category title |
parent_id |
number | No | Parent category ID (default 1 = root) |
extension |
string | No | Extension (default "com_content") |
description |
string | No | Category description |
state |
number | No | 1=published, 0=unpublished |
language |
string | No | Language code (default "*") |
joomla_category_update
Update a category.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
number | Yes | Category ID |
title |
string | No | New title |
description |
string | No | New description |
state |
number | No | State value |
joomla_category_delete
Delete a category.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
number | Yes | Category ID |
Users
joomla_users_list
List Joomla users.
| Parameter | Type | Required | Description |
|---|---|---|---|
search |
string | No | Search in name/username/email |
group_id |
number | No | Filter by user group ID |
state |
"0" / "1" |
No | 0=blocked, 1=active |
limit |
number | No | Max results |
joomla_user_get
Get a single user by ID.
joomla_user_create
Create a user with auto-generated secure password.
| Parameter | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Full name |
username |
string | Yes | Username |
email |
string | Yes | Email address |
groups |
number[] | No | Group IDs (default [2] = Registered) |
block |
number | No | 0=active, 1=blocked (default 0) |
Returns the generated password in the response. Share securely with the user.
joomla_user_update
Update a user.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
number | Yes | User ID |
name |
string | No | Full name |
email |
string | No | |
groups |
number[] | No | Group IDs |
block |
number | No | 0=active, 1=blocked |
joomla_user_delete
Delete a user.
joomla_user_groups_list
List all user groups. No parameters.
Contacts
joomla_contacts_list
List contacts with optional search.
| Parameter | Type | Required | Description |
|---|---|---|---|
search |
string | No | Search in name |
joomla_contact_get
Get a single contact by ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
number | Yes | Contact ID |
joomla_contact_create
Create a new contact.
| Parameter | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Contact name |
alias |
string | No | URL alias |
catid |
number | No | Category ID |
email_to |
string | No | Email address |
telephone |
string | No | Phone number |
address |
string | No | Street address |
suburb |
string | No | City/suburb |
state |
string | No | State/province |
postcode |
string | No | Postal code |
country_id |
number | No | Country ID |
published |
number | No | 1=published, 0=unpublished |
language |
string | No | Language code (default "*") |
joomla_contact_update
Update an existing contact.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
number | Yes | Contact ID |
name |
string | No | Contact name |
email_to |
string | No | Email address |
telephone |
string | No | Phone number |
address |
string | No | Street address |
published |
number | No | 1=published, 0=unpublished |
joomla_contact_delete
Delete a contact.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
number | Yes | Contact ID |
Menus
joomla_menus_list
List menu types. No parameters.
joomla_menu_items_list
List menu items for a menu type.
| Parameter | Type | Required | Description |
|---|---|---|---|
menutype |
string | Yes | Menu type alias (e.g. "mainmenu") |
joomla_menu_item_get
Get a single menu item by ID.
joomla_menu_item_create
Create a new menu item.
| Parameter | Type | Required | Description |
|---|---|---|---|
title |
string | Yes | Menu item title |
menutype |
string | Yes | Menu type alias (e.g. "mainmenu") |
type |
string | Yes | Item type ("component", "url", "alias", "separator", "heading") |
link |
string | No | URL or component link |
parent_id |
number | No | Parent menu item ID (default 1 = root) |
published |
number | No | 1=published, 0=unpublished |
access |
number | No | Access level ID |
language |
string | No | Language code (default "*") |
joomla_menu_item_update
Update a menu item.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
number | Yes | Menu item ID |
title |
string | No | New title |
link |
string | No | New link URL |
published |
number | No | 1=published, 0=unpublished |
parent_id |
number | No | New parent ID |
joomla_menu_item_delete
Delete a menu item.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
number | Yes | Menu item ID |
Plugins
joomla_plugins_list
List plugins.
| Parameter | Type | Required | Description |
|---|---|---|---|
type |
string | No | Filter by plugin folder (e.g. "system", "content") |
state |
"0" / "1" |
No | 0=disabled, 1=enabled |
search |
string | No | Search in name |
joomla_plugin_update
Enable or disable a plugin.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
number | Yes | Plugin ID |
enabled |
number | Yes | 1=enable, 0=disable |
Modules
joomla_modules_list
List site or admin modules.
| Parameter | Type | Required | Description |
|---|---|---|---|
client_id |
"0" / "1" |
No | 0=site, 1=admin |
Templates
joomla_templates_list
List site or admin templates.
| Parameter | Type | Required | Description |
|---|---|---|---|
client_id |
"0" / "1" |
No | 0=site, 1=admin |
Tags
joomla_tags_list
List tags with optional search.
| Parameter | Type | Required | Description |
|---|---|---|---|
search |
string | No | Search in title |
joomla_tag_get
Get a single tag by ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
number | Yes | Tag ID |
joomla_tag_create
Create a tag.
| Parameter | Type | Required | Description |
|---|---|---|---|
title |
string | Yes | Tag title |
parent_id |
number | No | Parent tag ID |
joomla_tag_update
Update a tag.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
number | Yes | Tag ID |
title |
string | No | New tag title |
published |
number | No | 1=published, 0=unpublished |
joomla_tag_delete
Delete a tag.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
number | Yes | Tag ID |
Custom Fields
joomla_fields_list
List custom fields for a context (default "com_content.article").
| Parameter | Type | Required | Description |
|---|---|---|---|
context |
string | No | Context (default "com_content.article") |
joomla_field_get
Get a single custom field by ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
number | Yes | Field ID |
joomla_field_create
Create a custom field.
| Parameter | Type | Required | Description |
|---|---|---|---|
title |
string | Yes | Field title |
name |
string | Yes | Field name (system identifier) |
type |
string | Yes | Field type (text, textarea, list, radio, checkboxes, etc.) |
context |
string | No | Context (default "com_content.article") |
label |
string | No | Display label |
description |
string | No | Field description |
required |
number | No | 1=required, 0=optional |
state |
number | No | 1=published, 0=unpublished |
joomla_field_delete
Delete a custom field.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
number | Yes | Field ID |
Banners
joomla_banners_list
List banners. No parameters.
joomla_banner_get
Get a single banner by ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
number | Yes | Banner ID |
joomla_banner_create
Create a new banner.
| Parameter | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Banner name |
catid |
number | No | Category ID |
clickurl |
string | No | Click URL |
custombannercode |
string | No | Custom HTML/code |
state |
number | No | 1=published, 0=unpublished |
joomla_banner_delete
Delete a banner.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
number | Yes | Banner ID |
joomla_banner_clients_list
List banner clients. No parameters.
Newsfeeds
joomla_newsfeeds_list
List newsfeeds. No parameters.
joomla_newsfeed_get
Get a single newsfeed by ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
number | Yes | Newsfeed ID |
joomla_newsfeed_create
Create a new newsfeed.
| Parameter | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Feed name |
link |
string | Yes | Feed URL |
catid |
number | Yes | Category ID |
numarticles |
number | No | Number of articles to display |
published |
number | No | 1=published, 0=unpublished |
language |
string | No | Language code (default "*") |
joomla_newsfeed_delete
Delete a newsfeed.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
number | Yes | Newsfeed ID |
Messages
joomla_messages_list
List private messages. No parameters.
joomla_message_get
Get a single private message by ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
number | Yes | Message ID |
joomla_message_send
Send a private message to a Joomla user.
| Parameter | Type | Required | Description |
|---|---|---|---|
user_id_to |
number | Yes | Recipient user ID |
subject |
string | Yes | Message subject |
message |
string | Yes | Message body |
joomla_message_delete
Delete a private message.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
number | Yes | Message ID |
Media
joomla_media_list
List media files in a folder.
| Parameter | Type | Required | Description |
|---|---|---|---|
path |
string | No | Folder path relative to media root |
joomla_media_file_get
Get metadata for a specific media file.
| Parameter | Type | Required | Description |
|---|---|---|---|
path |
string | Yes | File path relative to media root (e.g. "images/logo.png") |
joomla_media_file_delete
Delete a media file.
| Parameter | Type | Required | Description |
|---|---|---|---|
path |
string | Yes | File path relative to media root |
joomla_media_folder_create
Create a new media folder.
| Parameter | Type | Required | Description |
|---|---|---|---|
path |
string | Yes | Full folder path to create (e.g. "images/photos/2026") |
Redirects
joomla_redirects_list
List URL redirects.
| Parameter | Type | Required | Description |
|---|---|---|---|
search |
string | No | Search in old URL |
state |
"0" / "1" / "2" / "-2" |
No | 0=disabled, 1=enabled, 2=archived, -2=trashed |
joomla_redirect_create
Create a URL redirect.
| Parameter | Type | Required | Description |
|---|---|---|---|
old_url |
string | Yes | Source URL to redirect from |
new_url |
string | Yes | Destination URL to redirect to |
status_code |
"301" / "302" |
No | 301=permanent, 302=temporary (default 301) |
published |
number | No | 1=enabled, 0=disabled |
joomla_redirect_delete
Delete a URL redirect.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
number | Yes | Redirect ID |
Content History
joomla_content_history_list
List version history for a content item.
| Parameter | Type | Required | Description |
|---|---|---|---|
type_alias |
string | Yes | Content type alias (e.g. "com_content.article") |
item_id |
number | Yes | Item ID |
Checkin
joomla_checkin
Check in (unlock) a content item that is checked out.
| Parameter | Type | Required | Description |
|---|---|---|---|
context |
string | Yes | Context (e.g. "com_content.article") |
id |
number | Yes | Item ID to check in |
Associations
joomla_associations_list
List multilingual associations for a content item.
| Parameter | Type | Required | Description |
|---|---|---|---|
context |
string | Yes | Context (e.g. "com_content.article") |
id |
number | Yes | Item ID to get associations for |
Configuration
joomla_config_get
Get application configuration. No parameters.
joomla_config_update
Update application configuration values.
| Parameter | Type | Required | Description |
|---|---|---|---|
settings |
object | Yes | Key-value pairs of settings to update |
Languages
joomla_languages_list
List installed content languages. No parameters.
Generic
joomla_api_request
Make a raw API request to any Joomla Web Services endpoint.
| Parameter | Type | Required | Description |
|---|---|---|---|
method |
"GET" / "POST" / "PATCH" / "DELETE" |
Yes | HTTP method |
endpoint |
string | Yes | API path (e.g. "/content/articles") |
body |
object | No | Request body for POST/PATCH |
params |
object | No | Query parameters |
joomla_list_connections
List all configured connections. No parameters.
Revision History
| Date | Version | Author | Notes |
|---|---|---|---|
| 2026-04-23 | 0.0.1 | jmiller | Initial API reference (36 tools) |
| 2026-05-07 | 0.1.0 | jmiller | Expanded to 67 tools — full CRUD for contacts, banners, newsfeeds, tags, fields, menu items, messages, media, redirects, associations, checkin, content history |
Repo: joomla-api-mcp · MokoStandards
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |