はじめに
Ansible Automation Platform (以下 AAP) を、AI IDE の IBM Bob(ボブ)
を使用し、Model Context Protocol (MCP) サーバー経由で日本語操作できるか確認してみました。自然言語での指示だけでインフラの自動化基盤を動かせるかの検証です。
動画
この記事の内容を動画にしました。
環境
今回の検証環境は以下の通りです。Mac上でMCPサーバーを立ち上げ、AIエディタからAAPに接続します。
-
Red Hat Ansible Automation Platform (AAP)
-
Mac PC (MCPサーバー稼働用)
-
IBM Bob (AI IDE, MCP clientとして利用) https://bob.ibm.com/
(ご参考) Bob docs -> https://bob.ibm.com/docs/ide
MCP サーバーの準備
MCPサーバーはAAPのTechnical Preview 版として製品への導入も可能ですが、今回はGitHubからコードを git clone してMac上でローカル稼働させています。
リポジトリ: https://github.com/ansible/aap-mcp-server
なお、そのままのコードでは IBM Bob(ボブ)からうまく接続・実行できない箇所があったため、Bobにエラーハンドリングを依頼して修正してもらったカスタムコードを使用しています。(修正内容の詳細は割愛します)
AAP API token の取得
MCPサーバーがAAPと通信するための認証情報として、事前にAAPの管理画面からAPIトークンを作成・取得しておきます。
AAPのダッシュボードからユーザー設定を開き、トークン画面へ移動します。
新規トークンの追加(Add)をクリックします。
必要なスコープ(Write等)を設定して作成します。
発行されたトークン文字列をコピーして控えておきます。
MCP サーバー設定 (Bob Customize)
次に、git clone したディレクトリ上で、IBM Bob が MCP サーバーを認識して起動できるように環境定義ファイルを設定します。
- .bob ディレクトリは git clone した環境には存在していないので、ディレクトリを作成し、mcp.json を作成します。
<top>
.bob
└── mcp.json
{
"mcpServers": {
"aap-mcp-server": {
"command": "node",
"args": [
"/absolute/path/to/aap-mcp-server/dist/index.js", #<= パスを修正
"--stdio"
],
"env": {
"BEARER_TOKEN_OAUTH2_AUTHENTICATION": "YOUR_AAP_TOKEN" #<= 取得したAPI token を記入
},
"disabled": false,
"alwaysAllow": []
}
}
}
top ディレクトリは以下にある、aap-mcp.sample.yaml をaap-mcp.yamlファイルの名前にコピーして修正します。
# cp aap-mcp.sample.yaml aap-mcp.yaml
---
# Configuration for HTTPS certificate validation
ignore-certificate-errors: false #<= 修正
# Configuration for Prometheus metrics endpoint (defaults to false if not specified)
# enable_metrics: true
# Configuration for analytics telemetry (using Segment)
# Required: Provide a valid Segment write key to enable telemetry
# Lower priority than ANALYTICS_KEY environment variable
# analytics_key: "your-segment-write-key-here"
# Development mode: allows anonymous sessions without authentication (defaults to false)
# WARNING: Only enable this in development/testing environments!
# Lower priority than DEV_MODE environment variable
dev_mode: true #<= 追加 (Bobとのやりとりで追加された)
# Configuration for base URL (defaults to https://localhost if not specified)
# Lower priority than BASE_URL environment variable
base_url: "<AAP_URL>" #<= 修正
# Configuration for services (list of service configurations)
# Each service has a name that must be one of: controller, galaxy, gateway, eda
# Optional url, local_path, and enabled can override defaults
# If local_path is not specified, it defaults to the url value
# If enabled is not specified, it defaults to true
# Allow write operation (POST, DELETE and PATCH)
allow_write_operations: true
services:
- name: controller
url: "https://<AAP_URL>/api/v2/schema/" #<= 修正
local_path: data/controller-schema.json #<= コメントイン
# - name: galaxy
# url: "https://<AAP_URL>api/v3/openapi.json"
# local_path: data/galaxy-openapi.json
- name: gateway
url: "https://<AAP_URL>/api/v1/docs/schema/" #<= 修正
local_path: data/gateway-schema.json #<= コメントイン
# - name: eda
# url: "https://<AAP_URL>/api/v1/openapi.json"
# local_path: data/eda-openapi.json
Bob 再起動
設定が完了したら IBM Bob を再起動し、MCPの設定を読み込ませます。
起動後、右上の「•••」メニューからMCPサーバーのステータスを確認します。
設定画面で aap-mcp-server のインジケーターが緑色に点灯していれば、MCPサーバーとの接続は正常に稼働しています。
(↓アイコンが可愛いです)
MCP サーバーのツール
aap-mcp-server をクリックすると、プロンプトから呼び出せるツール群(機能)のリストを確認できます。
リスト取得、リソース作成、アップデート、削除など、AAP の API を通じたかなりの範囲の操作がツールとして実装されていることがわかります。
ツールの使用と実証
実際にBobのチャットから日本語で指示を出して、AAPを操作してみます。
ジョブテンプレートの確認
まずは、登録されているジョブテンプレートの一覧を要求してみます。BobがMCPツールを適切に呼び出し、AAP側の情報を取得して回答してくれました。
ジョブの実行
続いて、特定のジョブテンプレートを自然言語で指定して実行してみます。AIが意図を解釈し、API経由でジョブをキックするフローが確認できます。
ジョブリストの確認
最後に、実行結果も含めたジョブの履歴(リスト)を確認します。GUIにログインすることなく、エディタ上ですべての状況が完結して把握できます。
おわりに
今回の検証により、AAPのMCPサーバーを使用することで、日本語の自然言語による指示だけでAAPを制御できることを確認しました。
これまでAAPの操作にはGUI画面へのログインや、Playbook・APIの仕様理解が必要でしたが、MCPを経由することで、AIとのチャットベースでジョブの確認から実行、結果の取得までシームレスに行うことができます。これは、日常的なインフラの運用タスクやトラブルシューティングにおいて、作業の属人化解消やオペレーションの負荷軽減に大きく貢献する可能性を秘めています。
IBM Bob をとりあえず動かしてみたい方へ
当記事の検証時点ではまだ一般公開前でしたが、先日3月24日に待望のGA(一般提供)を迎え、どなたでも触れるようになりました。(筆者は Early Access で検証しています)
実際に手元で試してみたい方向けに、30日間の無料トライアル枠があります。期間中は40Bobコイン分のクレジットが付与されるので、ひとまず新しい環境の感覚を掴むのには十分な枠かと思います。
セットアップのやり方や、クレジットの仕組みについては以下のページをご参照ください。
IBM Bob Trial
必要になった際のクレジット追加について
以上です。






