Joomla MCP Server
Inhaltsverzeichnis
Related MCP server: OpenLink MCP Server for JDBC
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
Auf das Benutzerprofil zugreifen: Melden Sie sich bei der Joomla-Administratoroberfläche an, navigieren Sie zum Menü „Benutzer“ und wählen Sie „Verwalten“ aus.
Superuser bearbeiten: Suchen und klicken Sie auf das Superuser-Konto (oder den gewünschten Benutzer), um dessen Profil zu bearbeiten.
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
Klonen Sie das Repository:
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:
Installation auf Claude oder anderen KI-Assistenten
Claude Desktop
Fügen Sie dies zu Ihrer claude_desktop_config.json hinzu:
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 Artikelconvert_plain_text(optional, Standard: True): Konvertiert einfachen Text automatisch in HTMLpublished(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 solltarget_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 Artikelstitle(optional): Neuer Titel für den Artikelintrotext(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.