Joomla MCP-сервер
Оглавление
Related MCP server: OpenLink MCP Server for JDBC
Введение
Сервер 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.