Joomla MCP-сервер
Оглавление
Введение
Сервер Joomla MCP (Model Context Protocol) позволяет помощникам ИИ, таким как Клод, взаимодействовать с веб-сайтами Joomla через API Joomla Web Services. Он предоставляет инструменты для управления статьями с помощью помощника ИИ.
Функции
- Получить все статьи с сайта Joomla
- Список всех категорий контента
- Создать новые статьи
- Управление статусами статей (опубликовано, неопубликовано, удалено или архивировано)
- Удалить статьи
- Обновление статей (требуется как вступительный текст, так и полный текст, с паузой «Читать далее»)
Требования
- Питон 3.11+
- Joomla 4.x или 5.x с включенным плагином Web Services API
- API Bearer token для аутентификации
Установка
Создайте токен API Joomla
- Доступ к профилю пользователя: войдите в интерфейс администратора Joomla и перейдите в меню «Пользователи», затем выберите «Управление».
- Редактировать суперпользователя: Найдите и щелкните учетную запись суперпользователя (или нужного пользователя), чтобы отредактировать его профиль.
- Сгенерировать токен: перейдите на вкладку «Токен API Joomla», нажмите кнопку «Сгенерировать» и скопируйте отображенный токен.
Установить проект/сервер локально
- Клонируйте репозиторий:
- Настройте виртуальную среду и установите зависимости с помощью
uv
(менеджер зависимостей Python, см. документацию uv ). Если uv установлен, выполните:
Установка на Клода или других помощников ИИ
Клод Десктоп
Добавьте это в ваш claude_desktop_config.json
:
Замените {{PATH_TO_UV}}
на путь к uv
(запустите which uv
, чтобы найти его), а {{PATH_TO_PROJECT}}
на путь к каталогу проекта (запустите pwd
в корне репозитория).
Доступные инструменты
1. get_joomla_articles()
Извлекает все статьи с сайта Joomla через свой API.
2. получить_категории_joomla()
Извлекает все категории с сайта Joomla и форматирует их в виде удобочитаемого списка.
3. создать_статью()
Создает новую статью на сайте Joomla через его API.
Параметры:
article_text
(обязательно): Содержание статьи (обычный текст или HTML)title
(необязательно): заголовок статьи (если не указан, то он выводится из содержания)category_id
(необязательно): идентификатор категории для статьи.convert_plain_text
(необязательно, по умолчанию: True): Автоматически преобразует простой текст в HTMLpublished
(необязательно, по умолчанию: True): публикует статью немедленно.
4. управление_состоянием_статьи()
Управляет состоянием существующей статьи на сайте Joomla через свой API.
Параметры:
article_id
(обязательно): идентификатор существующей статьи для проверки и обновления.target_state
(обязательно): желаемое состояние статьи (1=опубликовано, 0=неопубликовано, 2=архивировано, -2=удалено)
5. удалить_статью()
Удаляет статью с сайта Joomla через его API.
Параметры:
article_id
(обязательно): идентификатор статьи, которую нужно удалить.
6. обновить_статью()
Обновляет существующую статью на сайте Joomla через API. Для соответствия структуре статьи Joomla требуется как introtext
, так и fulltext
(introtext для тизера, fulltext для контента после паузы «Читать далее»).
Параметры:
article_id
(обязательно): идентификатор статьи для обновления.title
(необязательно): Новое название статьи.introtext
(обязательно): Вводный текст к статье (обычный текст или HTML)fulltext
(обязательно): полное содержание статьи (обычный текст или HTML)metadesc
(необязательно): Мета-описание статьи
Соображения безопасности
- У Joomla API Token есть доступ к вашему сайту. Относитесь к нему так же, как вы относитесь к своим паролям.
- Сервер очищает HTML-контент для предотвращения XSS-атак.
- Убедитесь, что ваш сайт Joomla использует HTTPS для защиты API-коммуникаций.
Лицензия
Данный проект лицензирован по лицензии MIT.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Joomla MCP-сервер
Related MCP Servers
- Python
- -securityAlicense-qualityOpenLink MCP Server for JDBCLast updated -1MIT License
- AsecurityAlicenseAqualityAlchemy MCP ServerLast updated -93,42253TypeScriptMIT License
- PythonApache 2.0