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 Server

Inhaltsverzeichnis

Einführung

Der Joomla MCP (Model Context Protocol) Server ermöglicht KI-Assistenten wie Claude die Interaktion mit Joomla-Websites über die Joomla Web Services API. Er bietet Tools zur Verwaltung von Artikeln mithilfe eines KI-Assistenten.

Merkmale

  • Alle Artikel von einer Joomla-Website abrufen
  • Alle Inhaltskategorien auflisten
  • Neue Artikel erstellen
  • Verwalten des Artikelstatus (veröffentlicht, unveröffentlicht, gelöscht oder archiviert)
  • Artikel löschen
  • Artikel aktualisieren (erfordert sowohl Einleitungstext als auch Volltext mit einer „Weiterlesen“-Unterbrechung)

Anforderungen

  • Python 3.11+
  • Joomla 4.x oder 5.x mit aktiviertem Web Services API-Plugin
  • API-Bearer-Token zur Authentifizierung

Installation

Erstellen Sie ein Joomla-API-Token

  1. Auf das Benutzerprofil zugreifen: Melden Sie sich bei der Joomla-Administratoroberfläche an, navigieren Sie zum Menü „Benutzer“ und wählen Sie „Verwalten“ aus.
  2. Superuser bearbeiten: Suchen und klicken Sie auf das Superuser-Konto (oder den gewünschten Benutzer), um dessen Profil zu bearbeiten.
  3. Token generieren: Gehen Sie zur Registerkarte „Joomla API-Token“, klicken Sie auf die Schaltfläche „Generieren“ und kopieren Sie das angezeigte Token.

Installieren Sie das Projekt/den Server lokal

  1. Klonen Sie das Repository:
git clone https://github.com/nasoma/joomla-mcp-sever.git cd joomla-mcp-server
  1. Richten Sie eine virtuelle Umgebung ein und installieren Sie Abhängigkeiten mit uv (einem Python-Abhängigkeitsmanager, siehe uv-Dokumentation ). Wenn uv installiert ist, führen Sie Folgendes aus:
uv sync

Installation auf Claude oder anderen KI-Assistenten

Claude Desktop

Fügen Sie dies zu Ihrer claude_desktop_config.json hinzu:

{ "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>" } } } }

Ersetzen Sie {{PATH_TO_UV}} durch den Pfad zu uv (führen Sie which uv aus, um es zu finden) und {{PATH_TO_PROJECT}} durch den Projektverzeichnispfad (führen Sie pwd im Stammverzeichnis des Repositorys aus).

Verfügbare Tools

1. get_joomla_articles()

Ruft alle Artikel von der Joomla-Website über seine API ab.

2. get_joomla_categories()

Ruft alle Kategorien von der Joomla-Website ab und formatiert sie in einer lesbaren Liste.

3. Artikel erstellen()

Erstellt über die API einen neuen Artikel auf der Joomla-Website.

Parameter:

  • article_text (erforderlich): Der Inhalt des Artikels (einfacher Text oder HTML)
  • title (optional): Der Artikeltitel (wird aus dem Inhalt abgeleitet, falls nicht angegeben)
  • category_id (optional): Die Kategorie-ID für den Artikel
  • convert_plain_text (optional, Standard: True): Konvertiert einfachen Text automatisch in HTML
  • published (optional, Standard: True): Veröffentlicht den Artikel sofort

4. manage_article_state()

Verwaltet den Status eines vorhandenen Artikels auf der Joomla-Website über seine API.

Parameter:

  • article_id (erforderlich): Die ID des vorhandenen Artikels, der überprüft und aktualisiert werden soll
  • target_state (erforderlich): Der gewünschte Status des Artikels (1=veröffentlicht, 0=unveröffentlicht, 2=archiviert, -2=gelöscht)

5. Artikel löschen()

Löscht einen Artikel von der Joomla-Website über die API.

Parameter:

  • article_id (erforderlich): Die ID des zu löschenden Artikels

6. update_article()

Aktualisiert einen bestehenden Artikel auf der Joomla-Website über die API. Sowohl introtext als auch fulltext müssen der Joomla-Artikelstruktur entsprechen (Einleitungstext für den Teaser, Volltext für den Inhalt nach einer „Weiterlesen“-Pause).

Parameter:

  • article_id (erforderlich): Die ID des zu aktualisierenden Artikels
  • title (optional): Neuer Titel für den Artikel
  • introtext (erforderlich): Einführungstext für den Artikel (einfacher Text oder HTML)
  • fulltext (erforderlich): Vollständiger Inhalt des Artikels (einfacher Text oder HTML)
  • metadesc (optional): Meta-Beschreibung für den Artikel

Sicherheitsüberlegungen

  • Der Joomla API-Token ermöglicht den Zugriff auf Ihre Website. Behandeln Sie ihn wie Ihre Passwörter.
  • Der Server bereinigt HTML-Inhalte, um XSS-Angriffe zu verhindern
  • Stellen Sie sicher, dass Ihre Joomla-Website HTTPS verwendet, um die API-Kommunikation zu sichern.

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert.

-
security - not tested
A
license - permissive license
-
quality - not tested

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 Server

  1. Inhaltsverzeichnis
    1. Einführung
      1. Merkmale
        1. Anforderungen
          1. Installation
            1. Erstellen Sie ein Joomla-API-Token
            2. Installieren Sie das Projekt/den Server lokal
            3. Installation auf Claude oder anderen KI-Assistenten
          2. Verfügbare Tools
            1. get\_joomla\_articles()
            2. get\_joomla\_categories()
            3. Artikel erstellen()
            4. manage\_article\_state()
            5. Artikel löschen()
            6. update\_article()
          3. Sicherheitsüberlegungen
            1. Lizenz

              Related MCP Servers

              View all related MCP servers

              ID: itdxx00rrc