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.

Servidor MCP de Joomla

Tabla de contenido

Introducción

El servidor MCP (Protocolo de Contexto de Modelo) de Joomla permite que asistentes de IA, como Claude, interactúen con sitios web Joomla a través de la API de Servicios Web de Joomla. Proporciona herramientas para gestionar artículos mediante un asistente de IA.

Características

  • Recuperar todos los artículos de un sitio web Joomla
  • Listar todas las categorías de contenido
  • Crear nuevos artículos
  • Administrar estados de artículos (publicados, no publicados, eliminados o archivados)
  • Eliminar artículos
  • Actualizar artículos (requiere tanto introtexto como texto completo, con un salto "Leer más")

Requisitos

  • Python 3.11+
  • Joomla 4.x o 5.x con el complemento API de servicios web habilitado
  • Token de API Bearer para autenticación

Instalación

Crear un token de API de Joomla

  1. Acceder al perfil de usuario: inicie sesión en la interfaz de administrador de Joomla y navegue hasta el menú Usuarios, luego seleccione Administrar.
  2. Editar superusuario: busque y haga clic en la cuenta de superusuario (o el usuario deseado) para editar su perfil.
  3. Generar token: vaya a la pestaña Token de la API de Joomla, haga clic en el botón Generar y copie el token mostrado.

Instalar el Proyecto/Servidor localmente

  1. Clonar el repositorio:
git clone https://github.com/nasoma/joomla-mcp-sever.git cd joomla-mcp-server
  1. Configura un entorno virtual e instala las dependencias con uv (un gestor de dependencias de Python; consulta la documentación de uv ). Si uv está instalado, ejecuta:
uv sync

Instalación en Claude u otros asistentes de IA

Escritorio de Claude

Agregue esto a su 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>" } } } }

Reemplace {{PATH_TO_UV}} con la ruta a uv (ejecute which uv para encontrarlo) y {{PATH_TO_PROJECT}} con la ruta del directorio del proyecto (ejecute pwd en la raíz del repositorio).

Herramientas disponibles

1. obtener_artículos_de_joomla()

Recupera todos los artículos del sitio web Joomla a través de su API.

2. obtener_categorías_joomla()

Recupera todas las categorías del sitio web Joomla y las formatea en una lista legible.

3. crear_artículo()

Crea un nuevo artículo en el sitio web Joomla a través de su API.

Parámetros:

  • article_text (obligatorio): El contenido del artículo (texto simple o HTML)
  • title (opcional): el título del artículo (se infiere del contenido si no se proporciona)
  • category_id (opcional): El ID de categoría del artículo
  • convert_plain_text (opcional, valor predeterminado: Verdadero): Convierte automáticamente texto sin formato a HTML
  • published (opcional, predeterminado: Verdadero): publica el artículo inmediatamente

4. administrar_estado_del_artículo()

Administra el estado de un artículo existente en el sitio web Joomla a través de su API.

Parámetros:

  • article_id (obligatorio): El ID del artículo existente para verificar y actualizar
  • target_state (obligatorio): El estado deseado para el artículo (1=publicado, 0=no publicado, 2=archivado, -2=eliminado)

5. eliminar_artículo()

Elimina un artículo del sitio web Joomla a través de su API.

Parámetros:

  • article_id (obligatorio): El ID del artículo a eliminar

6. actualizar_artículo()

Actualiza un artículo existente en el sitio web de Joomla mediante su API. Tanto introtext como fulltext son necesarios para alinearse con la estructura del artículo de Joomla (el texto introductorio es para el avance y el texto completo para el contenido después de la pausa "Leer más").

Parámetros:

  • article_id (obligatorio): El ID del artículo a actualizar
  • title (opcional): Nuevo título para el artículo
  • introtext (obligatorio): Texto introductorio del artículo (texto simple o HTML)
  • fulltext (obligatorio): Contenido completo del artículo (texto sin formato o HTML)
  • metadesc (opcional): meta descripción del artículo

Consideraciones de seguridad

  • El token de la API de Joomla tiene acceso a tu sitio. Trátalo igual que a tus contraseñas.
  • El servidor desinfecta el contenido HTML para evitar ataques XSS
  • Asegúrese de que su sitio web Joomla utilice HTTPS para proteger las comunicaciones API.

Licencia

Este proyecto está licenciado bajo la licencia MIT.

Related MCP Servers

View all related MCP servers

ID: itdxx00rrc