Joomla MCP サーバー
目次
Related MCP server: OpenLink MCP Server for JDBC
導入
Joomla MCP(モデルコンテキストプロトコル)サーバーは、ClaudeなどのAIアシスタントがJoomla WebサービスAPIを介してJoomlaウェブサイトとやり取りできるようにします。AIアシスタントを使用して記事を管理するためのツールを提供します。
特徴
Joomlaウェブサイトからすべての記事を取得する
すべてのコンテンツカテゴリを一覧表示する
新しい記事を作成する
記事の状態(公開済み、未公開、ゴミ箱、アーカイブ済み)を管理する
記事を削除する
記事を更新する(概要と全文の両方が必要で、「続きを読む」区切りが必要)
要件
Python 3.11以上
Web サービス API プラグインが有効になっている Joomla 4.x または 5.x
認証用のAPIベアラートークン
インストール
Joomla APIトークンを作成する
ユーザー プロファイルにアクセスする: Joomla 管理者インターフェイスにログインし、[ユーザー] メニューに移動して、[管理] を選択します。
スーパー ユーザーの編集: スーパー ユーザー アカウント (または目的のユーザー) を見つけてクリックし、そのプロファイルを編集します。
トークンの生成: Joomla API トークン タブに移動し、生成ボタンをクリックして、表示されるトークンをコピーします。
プロジェクト/サーバーをローカルにインストールする
リポジトリをクローンします。
仮想環境をセットアップし、
uv(Pythonの依存関係管理ツール。uvのドキュメントを参照)を使用して依存関係をインストールします。uvがインストールされている場合は、以下を実行します。
Claudeや他のAIアシスタントへのインストール
クロードデスクトップ
これをclaude_desktop_config.jsonに追加します:
{{PATH_TO_UV}}をuvへのパス ( which uvを実行して見つける) に置き換え、 {{PATH_TO_PROJECT}}プロジェクト ディレクトリ パス (リポジトリ ルートでpwdを実行) に置き換えます。
利用可能なツール
1. get_joomla_articles()
Joomla Web サイトから API 経由ですべての記事を取得します。
2. get_joomla_categories()
Joomla ウェブサイトからすべてのカテゴリを取得し、読み取り可能なリストにフォーマットします。
3. create_article()
Joomla の API を介して、Joomla Web サイトに新しい記事を作成します。
パラメータ:
article_text(必須): 記事の内容 (プレーンテキストまたは HTML)title(オプション): 記事のタイトル(指定されていない場合はコンテンツから推測されます)category_id(オプション): 記事のカテゴリIDconvert_plain_text(オプション、デフォルト: True): プレーンテキストをHTMLに自動変換しますpublished(オプション、デフォルト:True):記事をすぐに公開します
4. 記事の状態を管理する()
Joomla ウェブサイト上の既存の記事の状態を API 経由で管理します。
パラメータ:
article_id(必須): 確認して更新する既存の記事のIDtarget_state(必須): 記事の希望する状態 (1=公開、0=未公開、2=アーカイブ、-2=ゴミ箱)
5. 記事を削除する()
Joomla Web サイトから API 経由で記事を削除します。
パラメータ:
article_id(必須): 削除する記事のID
6. update_article()
Joomlaウェブサイト上の既存の記事をAPI経由で更新します。 introtextとfulltext 、Joomlaの記事構造(ティーザーの場合は概要、続きを読むには全文)に準拠している必要があります。
パラメータ:
article_id(必須): 更新する記事のIDtitle(オプション): 記事の新しいタイトルintrotext(必須): 記事の紹介文(プレーンテキストまたはHTML)fulltext(必須): 記事の全文(プレーンテキストまたはHTML)metadesc(オプション): 記事のメタ説明
セキュリティに関する考慮事項
Joomla APIトークンはサイトにアクセスできます。パスワードと同じように扱ってください。
サーバーはXSS攻撃を防ぐためにHTMLコンテンツをサニタイズします
Joomla ウェブサイトが API 通信を保護するために HTTPS を使用していることを確認します。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています。