概要
これらの例は、Tulip MCPが、Tulip内の基本的な操作から、複数のエンタープライズシステムを統合した高度なワークフローに至るまで、外部クライアントからのチャットベースのやり取りをどのように支えるかを示しています。
本記事では、Tulip MCPを活用できる3つの事例について解説します:1.注文状況の概要生成 2 .品質レポートの生成3.ステーションの一括プロビジョニングの自動化
1. 注文状況の概要
**シナリオ:**生産監督者やカスタマーサービス担当者が、特定の生産注文に関する迅速かつ包括的な最新情報を必要としています。
チャットベースの対話:*ユーザーからの質問:「注文番号 ABC-123 の状況はどうなっていますか?」***エージェントの想定される回答:**注文番号 ABC-123 の要約されたステータス(現在の段階、最近の活動、および重要なフラグを含む)。
基本バージョン(Tulip MCPのみ)
エージェントのアクションとツール:
- **注文データの取得:**AIエージェントはプロンプトを受け取ると、「Production Orders」というTulipテーブルをクエリし、注文の主要な詳細(ステータス、数量、現在の工程など)を取得します。(ツール:
getTableRecord) - **関連活動の取得:**次に、エージェントは「Production Log」Tulipテーブルをクエリし、その注文に関連する最近の活動やオペレーターのコメントを検索します。(ツール:
listTableRecords) - **データの要約:**LLMは両方のテーブルから取得したデータを処理し、人間が読みやすい要約にまとめます。
**特長:**注文の進捗状況や関連するイベントを、社内で迅速に把握できます。この基本バージョンでは、Tulipの構造化データ機能を活用し、チャットインターフェースを通じて直接、即座に統合された情報を提供します。
高度なバージョン(Tulip MCP + その他の MCP)
エージェントのアクションとツール:
- **注文データの取得(Tulip および ERP):**エージェントはまず、Tulip の「Production Orders」テーブルに対して現場固有のステータスを照会し、その後、外部の ERP と連携します。(ツール:
getTableRecord、外部 MCP)- **外部MCP(例:ERP MCP - SAP、Oracle):**ERPシステム用のコネクタ/MCPであり、企業レベルの注文ステータス、顧客詳細、販売注文明細、出荷情報を取得します。
- **関連アクティビティおよび集計データの取得:**エージェントはTulipの生産ログを照会し、要約された運用データも取得できます。(ツール:
listTableRecords、runTableAggregation) - **人間が理解しやすいステータスでERPを更新(スケジュールされたワークフロー):**これは継続的なエージェント型ワークフローです。エージェントはTulipの「生産オーダー」テーブルを定期的にチェックしてステータスの更新を確認し、複雑なTulipステーションIDを人間が理解しやすい説明に変換してから、ERPを更新します。(ツール:
listTableRecords、外部MCP) - **統合と応答:**LLMはTulipとERPからのデータを統合し、包括的なステータスを提供します。
**特長:**本バージョンでは、Tulipの現場データをERPの企業レベル情報と統合することで、部門横断的な全体像を提供します。エージェントはより詳細かつ正確な要約を提供できるほか、運用ステータスを基幹業務システムへ自動的に同期させることも可能であり、手動によるデータ入力の削減と、組織全体でのデータの一貫性を確保します。
2. 品質レポート
**シナリオ:**品質管理者やエンジニアは、特定の注文、SKU、または生産ラインにおいて最も頻繁に発生する欠陥の概要を迅速に把握し、傾向や問題を特定する必要があります。
チャットベースの対話:
- ユーザーからのプロンプト:「SKU YZ-456の上位3つの欠陥を要約してください。」
- **エージェントの想定される応答:**発生頻度順に上位の不具合を、件数や割合を含めて一覧表示したフォーマット済みのレポート。
基本バージョン(Tulip MCPのみ)
エージェントのアクションとツール:
- **フィルタを適用して欠陥データを取得:**AIエージェントは「Defect Log」というTulipテーブルにクエリを実行し、ユーザーの要求(例:sku = 'YZ-456')に基づいてフィルタを適用します。(ツール:
listTableRecords) - **欠陥件数の集計:**次に、エージェントはTulipの集計機能を使用して、検出された各欠陥タイプの発生件数を集計します。(ツール:
runTableAggregation) - **レポートのフォーマット:**LLMは集計されたデータを受け取り、明確で簡潔なレポートにまとめます。
**特長:**Tulip環境内の不具合の傾向に関する洞察を迅速に提供します。この基本バージョンでは、チャットインターフェースを通じて直接、フィルタリング済みの品質レポートを即座に取得できるため、社内の問題領域を特定するのに役立ちます。
高度なバージョン(Tulip MCP + その他の MCP)
エージェントのアクションとツール:
- **不具合データの取得(Tulipおよび外部BI/分析ツール):**エージェントはまず、Tulipから詳細な不具合ログを取得します。集計されたインサイトを得るために、専用の分析プラットフォームと連携します。(ツール:
listTableRecords、外部MCP)- **外部MCP(例:Snowflake DB/BIツールMCP - Tableau、Power BI):**データウェアハウス(Snowflake)またはBIツール用のコネクタ/MCPであり、事前に計算された、あるいは複雑な不具合分析や傾向を取得します。これには、単なる不具合ログにとどまらず、特定の機械稼働や材料ロットとの関連付けなど、データを組み合わせた分析が含まれる場合があります。
- **レポートの統合とフォーマット:**LLMは、Tulipからの生データとBI/分析システムからの集計されたインサイトを組み合わせ、フォーマットします。
- **レポートの配信(マルチチャネル):**エージェントは、フォーマット済みのレポートをさまざまなコミュニケーションプラットフォームに投稿できます。
- **外部MCP(例:Microsoft Teams/Slack MCP):フォーマット済みのレポート要約を、**関連するチームチャンネルに直接投稿するためのコネクタ/MCP。
**特長:**この高度なバージョンは、強力な外部分析機能を活用し、より深く、より統合された欠陥に関する洞察を提供します。これにより、担当者はこれらのレポートを、関係するステークホルダーが希望するコミュニケーションチャネルを通じて自動的に配信でき、品質問題に対する広範な可視性と迅速な対応を保証します。
3. ステーションのプロビジョニングの自動化
**シナリオ:**IT または運用エンジニアが、リストから、関連するインターフェース、グループ割り当て、初期アプリ設定を含む複数の新しい本番用ステーションを迅速にプロビジョニングする必要があります。
基本バージョン(Tulip MCPのみ)
エージェントのアクションとツール:
- **ステーションデータの受信と解析:**AIエージェントはCSVデータを受信します。このデータを解析して、ステーション名、グループ、およびアプリの割り当てを抽出します。
- **ステーションの反復処理とプロビジョニング:**CSVに定義された各ステーションについて:
- **既存ステーションの確認:**重複を避けるため、エージェントはまずその名前のステーションがすでに存在するかどうかを確認します。(ツール:
listStations) - **ステーションの作成(新規の場合):**ステーションが存在しない場合、エージェントはそれを作成します。(ツール:
createStation) - **インターフェースの作成と割り当て:**エージェントは、そのステーション用の新しいインターフェースを作成し、割り当てを行います。(ツール:
createInterface、assignInterfaceToStation) - **ステーショングループの管理:**エージェントは、指定されたステーショングループが存在するかどうかを確認します。存在しない場合は、グループを作成し、新しいステーションをそのグループに追加します。(ツール:
listStationGroups、createStationGroup、updateStationGroupStations) - **アプリの設定:**エージェントは、指定されたアプリをステーションに割り当てます。(ツール:
createStationAppAssignment) - **ステーション状態テーブルの更新:**エージェントは、リアルタイム監視のためにステーションごとに1行ずつ保持される「ステーション状態」Tulipテーブルに、そのステーション用の新しい行を追加します。(ツール:
createTableRecord)
- **既存ステーションの確認:**重複を避けるため、エージェントはまずその名前のステーションがすでに存在するかどうかを確認します。(ツール:
- **概要の返信:**エージェントは実行されたアクションの概要をまとめ、クイックリンクを一覧表示します。
**特長:**Tulip プラットフォーム内での新しいステーションの設定に伴う、多大な管理上の負担を自動化します。チャットインターフェースは、一括プロビジョニングのための強力なコマンド&コントロール機能として機能し、Tulip のネイティブな設定ツールをすべて活用することで、一貫性を確保し、手作業によるミスを削減します。
ツールリファレンス
Tulip MCP は以下のツールをサポートしています:
| ツールカテゴリ | ツール名 | 必要なAPIスコープ | ツールの説明 |
|---|---|---|---|
| テーブルとレコード | listTables |
tables:read |
すべての Tulip テーブルのリストを取得します |
getTable |
tables:read |
特定の Tulip テーブルの詳細を取得します | |
createTable |
tables:write |
新しい Tulip テーブルを作成します | |
updateTable |
tables:write |
既存のTulipテーブルを更新します | |
listTableRecords |
tables:read |
Tulipテーブルのレコードを一覧表示します | |
getTableRecord |
tables:read |
Tulip テーブルから特定のレコードを取得します | |
createTableRecord |
tables:write |
Tulipテーブルに新しいレコードを作成します | |
updateTableRecord |
tables:write |
Tulip テーブル内の既存のレコードを更新します | |
deleteTableRecord |
tables:write |
Tulipテーブルからレコードを削除します | |
deleteAllTableRecords |
tables:write |
Tulip テーブルからすべてのレコードを削除します | |
countTableRecords |
tables:read |
Tulip テーブル内のレコード数をカウントします | |
runTableAggregation |
tables:read |
テーブルのフィールドに対して集計関数を実行する | |
incrementTableRecordField |
tables:write |
Tulip テーブルのレコード内のフィールドの値を増加または減少させる | |
getTableLink |
tables:read |
テーブルリンクに関する情報を取得します | |
createTableLink |
tables:write |
テーブルリンクの関係を作成します | |
updateTableLink |
tables:write |
テーブルリンクの列ラベルを更新します | |
linkTableRecords |
tables:write |
テーブルリンク関係を使用して2つのレコードをリンクする | |
unlinkTableRecords |
tables:write |
テーブルリンク関係を使用して2つのレコードのリンクを解除します | |
| Machines | listMachineTypes |
machines:read |
すべてのマシンタイプと、それに対応するマシンを一覧表示します |
generateMachineActivityArchive |
machines:write |
指定されたマシンのマシンアクティビティアーカイブを生成します | |
retrieveMachineActivityArchive |
machines:read |
マシンアクティビティアーカイブのステータスを取得します | |
reportAttributes |
attributes:report |
以下の項目について新しい値を報告しますmachine attributes | |
| アプリ | listAppGroups |
apps:read |
すべてのTulipアプリグループと、それらに含まれるアプリを一覧表示します |
| ステーション | listInterfaces |
stations:read |
インターフェースの、ページ分割・フィルタリング・ソート済みのリストを取得します |
createInterface |
stations:write |
新しいインターフェースを作成します | |
getInterface |
stations:read |
特定のインターフェースの詳細を取得します | |
updateInterface |
stations:write |
インターフェースの設定を更新します | |
archiveInterface |
stations:write |
インターフェースをアーカイブします | |
assignInterfaceToStation |
stations:write |
ステーションにインターフェースを割り当てる | |
インターフェースのステーション割り当てを削除 |
stations:write |
インターフェースからステーションの割り当てを解除します | |
listStationGroups |
stations:read |
ステーショングループのページ分け・フィルタリング・ソート済みリストを取得します | |
createStationGroup |
stations:write |
新しいステーショングループを作成します | |
getStationGroup |
stations:read |
特定のステーショングループの詳細を取得します | |
updateStationGroup |
stations:write |
ステーショングループの詳細を更新します | |
stationGroupのアーカイブ |
stations:write |
ステーショングループをアーカイブします | |
updateStationGroupStations |
stations:write |
ステーショングループ内のステーションを更新します | |
listStationGroupAppAssignments |
stations:read |
ステーショングループのアプリ割り当てを取得します | |
createStationGroupAppAssignment |
stations:write |
ステーショングループに対するアプリ割り当てを作成します | |
updateStationGroupAppAssignment |
stations:write |
ステーショングループのアプリ割り当てを更新します | |
deleteStationGroupAppAssignment |
stations:write |
ステーショングループからアプリの割り当てを削除します | |
deleteAllStationGroupAppAssignments |
stations:write |
ステーショングループからすべてのアプリ割り当てを削除します | |
listStations |
stations:read |
ステーションのリストを取得します(ページ分割、フィルタリング、ソート済み) | |
createStation |
stations:write |
新しい放送局を作成します | |
getStation |
stations:read |
特定のステーションの詳細を取得します | |
updateStation |
stations:write |
ステーションを更新します | |
archiveStation |
stations:write |
ステーションをアーカイブする | |
listStationAppAssignments |
stations:read |
ステーションのアプリ割り当てを取得する | |
createStationAppAssignment |
stations:write |
ステーションに対するアプリ割り当てを作成します | |
updateStationAppAssignment |
stations:write |
ステーションのアプリ割り当てを更新します | |
deleteStationAppAssignment |
stations:write |
ステーションからのアプリ割り当てを削除します | |
deleteAllStationAppAssignments |
stations:write |
ステーションからすべてのアプリ割り当てを削除します | |
| Users | listUserRoles |
users:read |
ユーザーロールのリストを取得します |
getUserRole |
users:read |
特定のユーザーロールの詳細を取得します | |
listUserGroups |
users:read |
ユーザーグループのリストを取得します | |
getUserGroup |
users:read |
特定のユーザーグループの詳細を取得します | |
getUserGroupUsers |
users:read |
特定のユーザーグループに所属するユーザーを取得します | |
listUsers |
users:read |
ユーザーのリストを取得します | |
getUser |
users:read |
特定のユーザーの詳細を取得します | |
getUserGroups |
users:read |
特定のユーザーのユーザーグループを取得します | |
createUser |
users:write |
新しいユーザーを作成します | |
| ユーティリティ | signUrls |
urls:sign |
クラウドストレージのURLに署名します |
