WordPress 6.9 で導入された Abilities API を使って、自然言語でデモサイトのデータを丸ごとインポートする MCP サーバーを作った話

先日リリースされた WordPress 6.9 で導入された新機能 Abilities API を使って何か面白いことはできないか?

ということで、11 月に YouTube でライブ配信を突発でやりました。

面白いと思うので、ご視聴ぜひ。9:46 あたりから視聴スタートおすすめ。
なぜなら、前半は配信機材の操作でモタついたから

既存の機能を Ability にする

ライブ配信の翌日から「何か作ってみよう!」と思い、さっそく取り掛かりました。で、一つ思いついたのが、

自社製品の Nishiki Pro テーマのデモサイトのデータを丸ごとインポートできる機能をプラグインとして配布しているじゃないですか。これと組み合わせるとどうかな?

でした。

ということで、さっそくプラグインを改良し、デモデータをインポートする機能を Ability として登録。

登録方法は公式サイトのサンプルコードを読めば理解できますので、ご参考ください。

Claude Desktop で動く MCP サーバーを作る

次に、登録した Ability を AI 経由で実行できるようにしたかったので Claude Desktop で動く MCP サーバーを作り始めました。

せっかく作るなら汎用性に優れたものにしたかったので、以下を条件に設定しました。

MCP サーバーの機能
  • サイトは URL で指定できるようにする
  • 指定したサイトに登録されている Ability の一覧を取得する
  • 取得した Ability 一覧の中から、選んで使えるようする(←ここで今回登録した Ability が使えればいい)

ここでようやく、自分なりに Abilities API と AI との関係性を何かに置き換えて考えることで、理解できるようになってきました。

たぶんこういうこと
  • 「サイト A」の「Ability 一覧」の中から「デモデータのインポート機能」を使う
  • 「僧侶」の「魔法一覧」の中から「回復」を使う
  • 「B さん」の「道具箱」の中から「ハサミ」を使う

で、置き換えの妄想も済んだところで、なんとなくできたので X にポストしました。

任意のサイトのアビリティの一覧と、
それぞれ何ができるかを出せるようにして、
選んで実行できるようにしました

下準備もできたので、ここからが本題のデモデータのインポート。

結果、うまく動いたので X でポストしました。

Nishiki Pro デモサイトから ID を選んで、自分のサイトに
データを丸ごとインポートする機能。
Abilities API と AI を組み合わせると、
こんなこともできる

MCP サーバーはインストール済みとして、Claude Desktop を立ち上げ、デモサイトの中からインポートしたいサイトの ID を指定して「デモデータをインポートしてー」と自然言語で指示すると、実行してくれます。

MCP サーバーの作り方は本記事では省略します。今の時代、それこそ生成 AI を駆使すれば、ある程度なものにはなると思いますので・・・

業務改善にも使えそうですね

自社では WooCommerce で EC サイトを運営していますが、毎月 1 回、売上を集計して精算書を PDF で作成しています。これがまあ、最高に手間で・・・

なので、例えば「今月の売上データを取得する」みたいな Ability が登録されていれば、AI 経由で取得して、加工して精算書の作成までできそうです。

つまり、Abilities API を日々の業務改善につなげることもできないか?と思いました(先日の YouTube のライブ配信でも似たようなコメントをされている方がいましたね)

ほんと世の中、アイデアとやる気次第ってことを改めて認識できる瞬間というか。今後、もっと Abilities API が普及されるといいなと思いました。

株式会社 AnimaGate のアドベントカレンダーに参加しています。

投稿者

Imamuraのアバター