Joomla MCP Server

by nasoma

Integrations

  • Enables interaction with Joomla websites via the Web Services API, providing tools to manage articles including retrieving articles, listing categories, creating new content, updating existing articles, changing publication states, and deleting articles.

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

  1. Доступ к профилю пользователя: войдите в интерфейс администратора Joomla и перейдите в меню «Пользователи», затем выберите «Управление».
  2. Редактировать суперпользователя: Найдите и щелкните учетную запись суперпользователя (или нужного пользователя), чтобы отредактировать его профиль.
  3. Сгенерировать токен: перейдите на вкладку «Токен API Joomla», нажмите кнопку «Сгенерировать» и скопируйте отображенный токен.

Установить проект/сервер локально

  1. Клонируйте репозиторий:
git clone https://github.com/nasoma/joomla-mcp-sever.git cd joomla-mcp-server
  1. Настройте виртуальную среду и установите зависимости с помощью uv (менеджер зависимостей Python, см. документацию uv ). Если uv установлен, выполните:
uv sync

Установка на Клода или других помощников ИИ

Клод Десктоп

Добавьте это в ваш claude_desktop_config.json :

{ "mcpServers": { "Joomla Articles MCP": { "command": "{{PATH_TO_UV}}", "args": [ "--directory", "{{PATH_TO_PROJECT}}", "run", "main.py" ], "env": { "JOOMLA_BASE_URL": "<your_joomla_website_url>", "BEARER_TOKEN": "<your_joomla_api_token>" } } } }

Замените {{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): Автоматически преобразует простой текст в HTML
  • published (необязательно, по умолчанию: 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.

Related MCP Servers

View all related MCP servers

ID: itdxx00rrc