1. 概要
サーバー機能として、MCP(Model Context Protocol)に対応した機能を提供できます。
1.1. サーバー機能概要
メタデータを設定することで、MCP Tools 機能を提供することが可能です。
-
MCP Tools: Command として定義した機能を MCP クライアントから呼び出すことで利用することができます。
1.2. クライアント機能概要
MCP クライアントでは、サーバーで定義された機能を実行することができます。
サーバーの機能を利用するためには認証が必要であり、認証方法として、OAuth、個人アクセストークン(Bearer トークンによる認証)を利用することが可能です。
2. サーバーの設定
MCPサーバーを利用するための設定手順は以下の通りです。
2.1. iplass-ee-mcp モジュールの取り込み
MCPサーバーを利用するには、iplass-ee-mcp モジュールをプロジェクトに取り込む必要があります。
Gradle を利用している場合は、以下の依存関係を build.gradle に追加してください。
dependencies {
implementation "org.iplass.ee:iplass-ee-mcp:${iPLAssVersion}"
}
2.2. web.xml へ mtp_mcp フラグメントの追加
web.xml に mtp_mcp フラグメントを追加することで、MCPサーバーのリクエストを処理するための初期化処理が設定されます。
mtp_mcp フラグメントは、iplass-ee-mcp モジュールに含まれています。
<web-app>
<absolute-ordering>
<name>mtp</name>
:
:
<!-- mcp -->
<name>mtp_mcp</name>
</absolute-ordering>
:
:
</web-app>
2.3. Service Config の設定
Service Config 設定ファイルにMCPサーバーの設定を行います。
MCPサーバーの設定を行う際のポイントは以下の通りです。
-
mcp-service-config.xmlを読み込む -
McpService のプロパティ設定
-
プロパティ
enableMcpをtrueに設定する -
プロパティ
tenantServerInfoに、有効化したいテナントのテナントID、サーバー名、バージョン情報を設定する -
必要に応じて
allowOrigin,allowHostプロパティを設定する。
-
<serviceDefinition>
(1)
<inherits>/mcp-service-config.xml</inherits>
(2)
<service>
<interface>org.iplass.mtp.impl.mcp.McpService</interface>
<class>org.iplass.mtp.impl.mcp.McpService</class>
<!-- MCPサーバーの有効化 -->
<property name="enableMcp" value="true" />
<!-- テナントIDは環境に合わせて設定してください。 -->
<!-- MCPサーバー利用テナント サーバー情報 -->
<property name="tenantServerInfo" class="org.iplass.mtp.impl.mcp.McpServerInfo">
<property name="tenantId" value="1" />
<property name="serverName" value="tenant1-mcp" />
<property name="version" value="1.0.0" />
</property>
</service>
</serviceDefinition>
| 1 | mcp-service-config.xml の読み込み |
| 2 | McpService の設定。設定の詳細は Configuration - McpService を参照してください。 |
3. メタデータの設定
メタデータは AdminConsole で設定します。
AdminConsole メニューのパスは AI Integration > MCP です。
3.1. Tools メタデータの作成
Tools メタデータは、AdminConsole メニューの AI Integration > MCP > Tools で作成します。
設定項目は以下の通りです。
| 項目 | 説明 | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
有効 |
定義した MCP Tools を有効にするかどうかを設定します。 |
||||||||||||||||
Tool名 |
名前を設定します。必須項目です。 |
||||||||||||||||
Toolタイトル |
タイトルを設定します。クライアントから MCP Tools 一覧を取得した際に表示される項目です。 |
||||||||||||||||
Tool説明 |
説明を設定します。クライアントから MCP Tools 一覧を取得した際に表示される項目です。 |
||||||||||||||||
Meta |
メタ情報を設定します。クライアントから MCP Tools 一覧を取得した際に表示される項目です。
|
||||||||||||||||
HTTPメソッド |
Command 実行時の HTTP メソッドを設定します。任意項目です。 WebAPI で利用しているコマンドを MCP で流用する際に必要となる項目です。 |
||||||||||||||||
パラメータマッピング |
クライアントから MCP Tools を呼び出す際のパラメータと、コマンドに渡すパラメータのマッピングを設定します。
|
||||||||||||||||
Execute Commands |
コマンドを実行するための設定を行います。 |
||||||||||||||||
結果マッピング |
コマンド実行後の結果を MCPクライアントに返すための設定を行います。
|
4. クライアントの設定
クライアントからMCPサーバーに接続するためには、リクエストするエンドポイントの指定と、認証情報の設定が必要です。
4.1. エンドポイント
クライアントから接続する場合のエンドポイントは、McpService で設定することが可能です。
McpService のプロパティ requestEndpoint にエンドポイントのパス( /mcp/ から始まるパス )を設定してください。
McpService の詳細は Configuration - McpService を参照してください。
エンドポイントの設定値がデフォルト /mcp/message の場合、クライアントから接続する際のエンドポイントは以下のようになります。
(http|https)://<host><:port>/<context>/<tenant>/mcp/message
-
<host>: ホスト名 -
<:port>: ポート番号 (省略可能) -
<context>: アプリケーションコンテキスト。サーバー構築時の設定により異なります。 -
<tenant>: テナント名。テナント構築時に設定したテナント名を指定します。
4.2. 認証
MCPサーバーの利用にあたり、認証が必須となります。
サポートしている認証方法
OAuth 2.0のアクセストークン。リクエストヘッダーの Authorization に Bearer トークンとして設定してください。
GEM(TopView) - アプリの管理 を参照し個人アクセストークンを発行してください。
発行した個人アクセストークンは、リクエストヘッダーの Authorization に Bearer トークンとして設定してください。
認証情報の設定例
以下は、リクエストヘッダーの Authorization に Bearer トークンとして設定する例です。
Authorization: Bearer <token>
5. 標準提供機能
5.1. メタデータCRUD
メタデータの操作(作成、読み取り、更新、削除)を行うための機能を、MCP Tool として提供します。
メタデータCRUD機能は、WebAPI のメタデータCRUDで利用しているコマンドを MCP Tool として提供するものです。
メタデータCRUD機能を利用するには、以下の設定が必要となります。
-
WebApiService の
enableDefinitionApiプロパティの設定を行う必要があります。
詳細については、 Configuration - WebApiService を参照してください。 -
ツールを実行する利用者は、管理者としての権限が必要です。
|
メタデータCRUD機能は、開発時の利用を想定した機能です。 |
メタデータ取得
メタデータの定義の一覧や詳細を取得するための機能です。
getDefinition
| 項目 | 説明 |
|---|---|
path |
メタデータの定義のパスを設定します。 |
recursive |
一覧取得時に利用します。true または false を設定します。 true が設定された場合、メタデータパス以下の階層を辿って一覧を取得します。 |
| 項目 | 説明 |
|---|---|
status |
ツールの実行結果を表します。成功した場合は "SUCCESS" を返却します。 |
list |
指定されたパスのメタデータの一覧が返ります。 |
| 項目 | 説明 |
|---|---|
status |
ツールの実行結果を表します。成功した場合は "SUCCESS" を返却します。 |
definition |
指定されたパスのメタデータの詳細が返ります。 |
メタデータ作成
メタデータの定義を新規に作成する機能です。
指定された path のメタデータを作成します。作成するメタデータの定義は definition で指定します。
createDefinition
| 項目 | 説明 |
|---|---|
path |
登録するメタデータのパスを設定します。必須項目です。 |
definition |
登録するメタデータの定義を設定します。必須項目です。 |
| 項目 | 説明 |
|---|---|
status |
ツールの実行結果を表します。成功した場合は "SUCCESS" を返却します。 |
メタデータ更新
メタデータの定義を更新する機能です。
指定された path のメタデータを更新します。更新するメタデータの定義は definition で指定します。
更新元のメタデータは、メタデータ取得 で取得することを想定しています。
updateDefinition
| 項目 | 説明 |
|---|---|
path |
更新するメタデータのパスを設定します。必須項目です。 |
definition |
更新するメタデータの定義を設定します。必須項目です。 |
| 項目 | 説明 |
|---|---|
status |
ツールの実行結果を表します。成功した場合は "SUCCESS" を返却します。 |
メタデータ削除
メタデータの定義を削除する機能です。
パラメータで指定されたパスのメタデータ定義を削除します。
deleteDefinition
| 項目 | 説明 |
|---|---|
path |
削除するメタデータのパスを設定します。必須項目です。 |
| 項目 | 説明 |
|---|---|
status |
ツールの実行結果を表します。成功した場合は "SUCCESS" を返却します。 |
6. その他の設定
MCPサーバーの機能に関連する設定について説明します。
6.1. MCPサーバー機能の権限管理
MCPサーバーの機能は、ロールベースで実行可能な機能を制御することができます。
認可に関しては、認可 を参照してください。
MCPサーバーの権限管理については、認可 - 権限管理 - MCPサーバー権限 を参照してください。
iPLAss 4.0 以前のバージョンから移行した場合、MCPサーバー権限エンティティがメニューに表示されません。 エンティティのデータを編集するためには、MCPサーバー権限エンティティをメニューに追加してください。
6.2. 閉塞機能の設定
MCPサーバーの機能は、サービス閉塞機能に対応しています。
サービス閉塞することで、MCPサーバーの機能を一時的に利用不可能にすることができます。
サービス閉塞機能については、開発・運用サポート - サービス閉塞機能 を参照してください。