注
コミュニティの関心グループが Yammer から Microsoft Viva Engage に移行されました。 Viva Engageコミュニティに参加し、最新のディスカッションに参加するには、 Finance and Operations Viva Engage Community へのアクセス権フォームに入力し、参加するコミュニティを選択します。
モデル コンテキスト プロトコル (MCP) は、AI エージェントをさまざまなデータ システムに接続して、エージェントの応答の関連性を高めるオープン標準です。 MCP は、アプリケーションが大規模な言語モデル (LLM) にコンテキストを提供する方法を標準化します。 LLM アプリケーションと外部データ ソース間のシームレスな統合が可能であるため、このプロトコルは、AI を活用したツールおよびワークフローを構築するのに役立ちます。 MCP は、エージェントとアプリケーションがエンタープライズ データとビジネス ロジックと対話する方法に関する共通言語を定義します。 MCP は、カスタム API やポイントツーポイント統合に依存する代わりに、ERP 操作へのアクセスを標準化し、一貫性、コンテキスト、および制御を確保する統合フレームワークを提供します。 共通プロトコルの標準化により、次のことが可能になります。
- 複数アプリのデータとビジネス ロジックへのエージェント アクセス
- エンタープライズ リソース プランニング (ERP) システム間でのエージェントの再利用
- 財務と運用アプリのツールへの互換性のあるエージェント プラットフォームからのアクセス
- 簡略化されたエージェント開発経験
- すべてのエージェント統合で一貫したデータ アクセス、アクセス許可、および監査可能性
Dynamics 365 ERP MCP サーバーは、エージェントがデータ操作を実行し、財務および運用アプリのビジネス ロジックにアクセスするための動的フレームワークを提供します。 開発者は、カスタム コード、コネクタ、または API を必要とせずに、データを操作し、アプリケーション インターフェイスを介してユーザーが使用できるほぼすべての関数を実行するエージェントを構築できます。
必要条件
Dynamics 365 ERP MCP サーバーを使用する前に、次の前提条件を満たしている必要があります。
- 金融および運用アプリの製品バージョンは、少なくとも 10.0.47 である必要があります。
- Dynamics 365 ERP モデル コンテキスト プロトコル サーバー機能を Feature Management で有効にします。
- エージェントを構築するエージェント プラットフォームを [ 許可された MCP クライアント] ページに追加します。 詳細については、「 許可される MCP クライアント」を参照してください。
- 環境が階層 2 以上、または統合開発環境です。 MCP サーバーは、クラウド ホスト環境 (CHE) ではサポートされていません。
注
Dataverse コネクタ フレームワーク上に構築された "静的Dynamics 365 ERP MCP" サーバーと呼ばれる以前のバージョンの MCP サーバーには、Dynamics 365 FinanceとSupply Chain Managementに対して特定のビジネス機能を有効にする 13 個のツールがあります。 この静的サーバーは、 2026 年に廃止されます。 サーバーは、バージョン 10.0.2263.17 以降の財務および運用アプリ環境で引き続き使用できます。 ただし、静的サーバーが廃止されたときに中断を回避するには、このドキュメントの対象となる新しい動的Dynamics 365 ERP MCP サーバーを使用します。
動的 MCP ツール
Dynamics 365 ERP MCP サーバーには、財務および運用アプリのデータとビジネス ロジックを操作するための 3 つのカテゴリのツールがあります。
- データ ツール: これらのツールを使用すると、エージェントは標準のデータ操作を実行して、財務および運用アプリ環境でデータを作成、読み取り、更新、および削除できます。
- フォーム ツール: これらのツールを使用すると、エージェントはアプリケーションのページで使用できる操作を実行できます。
- アクション ツール: エージェントが財務および運用アプリのコードでクラスを検索して直接呼び出せるようにします。
データ ツール
MCP サーバーのデータ ツールを使用すると、エージェントはデータ エンティティを介してアプリケーション データを操作できます。 エージェントは、これらのツールを使用して、環境内のアプリケーション データに対して作成、読み取り、更新、削除 (CRUD) 操作を実行できます。
データ エンティティを介したデータの操作は、標準の CRUD 操作の方が効率的であり、次のセクションで説明するフォーム ツールを使用する場合よりもパフォーマンスが向上し、操作を実行するツール呼び出しが少なくなります。 エージェントがデータ ツールを使用してエージェントがより最適に実行できる操作にフォーム ツールを使用している場合は、エージェントがシナリオに使用するツールに関するガイダンスをエージェントの指示に追加することで、パフォーマンスを向上させることができます。 エージェント オーケストレーションでは、これらのツールを使用して、エージェント内の自然言語プロンプトを、財務および運用アプリ環境で実行されるデータ操作に変換する必要があります。
Dynamics 365 ERP MCP サーバーでは、次のデータ ツールを使用できます。
| ツール名 | 内容 |
|---|---|
data_find_entity_type |
OData エンティティ型を検索します。 このツールは、 data_get_entity_metadata ツールを呼び出す場合に必要です。 このツールは、クエリに関連する可能性がある複数の上位ヒットを返します。 検索に一致するものを決定します。 |
data_get_entity_metadata |
エンティティのメタデータを取得します。 このメタデータは、 data_find_entities、 data_create_entities、 data_update_entities、 data_delete_entities ツールを呼び出す場合に必要です。 |
data_create_entities |
OData を使用してデータ レコードを作成します。 ディープ挿入は、生成ではサポートされていません。 |
data_delete_entities |
OData を使用してデータ レコードを削除します。 |
data_update_entities |
OData を使用してデータ レコードを更新します。 |
data_find_entities |
OData を使用してデータ レコードを検索または読み取る。 |
フォーム ツール
MCP サーバーのフォーム ツールを使用すると、エージェントはサーバー フォーム内を移動してタスクを完了できます。 エージェントは、アプリケーション クライアントでタスクを実行するのと同じ方法で、サーバー API を介してアプリケーション データとビジネス ロジックを操作します。 エージェントは、特定のアクション (承認された仕入先の検索や購買要求明細行のリリースなど) に静的ツールを使用するのではなく、ツールを使用してフォームを開き、フィールド値を設定し、フォームで使用できるアクションを選択します。
フォーム ツールは概念的にはコンピューター使用エージェント (CUA) に似ていますが、ツールはアプリケーション クライアントで直接動作しません。 エージェントの対話のためにクライアント セッションを開く代わりに、ツールは、アプリケーション ビュー モデルをコンテキストとしてエージェントに提供するサーバー API を介して動作し、より最適化されたエージェントの対話を可能にします。
フォーム ツールは、エージェントが標準の作成、読み取り、更新、削除 (CRUD) 操作ではないアプリケーションで使用できる操作を実行できるようにするために最適です。 たとえば、コードを使用してビジネス ロジックを実行するボタンをクリックして実行されるアプリケーション内のアクションは、これらのツールを介してエージェントが使用したり、アプリケーションが実行時に計算するレコード値を取得したりできます。 これらのツールを使用すると、エージェントは、同じセキュリティ アクセスを持つ人間がアクションを実行するようなアプリケーションで動作します。
Dynamics 365 ERP MCP サーバーでは、次のフォーム ツールを使用できます。
| ツール名 | 内容 |
|---|---|
form_click_control |
フォーム上のコントロールまたはコントロールのサブ要素を選択します。 コントロールのサブ要素をクリックするには、actionId パラメーターを使用します。 |
form_close_form |
フォームを閉じる |
form_filter_form |
フォームにフィルターを適用する |
form_filter_grid |
グリッドでフィルタする |
form_find_controls |
フォーム上のコントロールを検索します。 このツールは、開いた後にフォームの状態で必要なコントロールが表示されない場合に、閉じたタブの 1 つにコントロールが存在する必要がありますが、どちらが正しいかわからない場合に使用します。 このツールは、1 回の呼び出しにつき 1 つの検索語句のみを受け入れます。複数の異なるコントロールを検索するには、このツールを異なる検索語句で複数回呼び出します。 |
form_find_menu_item |
メニュー項目を検索する |
form_open_lookup |
フォームでルックアップ コントロールを開く |
form_open_menu_item |
メニュー項目を開く |
form_open_or_close_tab |
フォームのタブを開くまたは閉じる |
form_save_form |
フォームを保存する |
form_select_grid_row |
グリッド内の行を選択する |
form_set_control_values |
1 つ以上のフォーム コントロールに値を設定します。 このツールを使用して、検索を必要とするフォーム コントロールの値を設定しないでください。 これらのコントロールには、 form_open_lookup ツールを使用します。 |
form_sort_grid_column |
グリッド列でグリッドを並べ替える |
アクション ツール
アクション ツールを使用すると、エージェントは、エージェントが使用できる財務アプリおよび運用アプリ コード内のクラスを検索して直接呼び出すことができます。 データ エンティティとフォームの相互作用を使用すると、エージェントが何百万ものアクションを使用できるようになりますが、エンティティまたはアプリケーション クライアントを介してアクションまたはビジネス ロジックを使用できない場合や、エージェントがコードを介してロジックに直接アクセスする必要がある場合があります。
このような状況では、開発者は、MCP サーバーを介してビジネス ロジックを使用できるように、財務および運用アプリコードのクラスを記述できます。 開発者は、AI ツール フレームワークを使用してクラスを作成します。
api_find_actions と api_invoke_action ツールを使用して、ICustomAPI インターフェースを実装し、MCP サーバーの関連するメニュー アクション項目に対して適切なセキュリティが定義された AI ツールとして作成されたどのクラスも検索して呼び出すことができます。 AI ツールとして ICustomAPI インターフェイスを使用するように正しく構成されたクラスが、 Dataverse カスタム API の同期 (CustomApiTable) フォームの一覧に表示されます。
Dynamics 365 ERP MCP サーバーでビジネス ロジックとアクションを公開する AI ツールの作成の詳細については、「財務および運用ビジネス ロジックを使用した AI ツールの作成を参照してください。
DYNAMICS 365 ERP MCP サーバーでは、次のアクション ツールを使用できます。
| ツール名 | 内容 |
|---|---|
api_find_actions |
呼び出すことができるアクションを検索します |
api_invoke_action |
アクションを呼び出します |
動的コンテキスト
MCP サーバーは、エージェントのセキュリティアクセス許可とアプリケーションの構成、拡張機能、パーソナル化に基づいて、各ツール呼び出しでエージェントに提供するコンテキストを動的に更新します。 このアプローチにより、エージェントは特定のコンテキストで使用可能なアクションとデータの正確なビューで動作し、環境内のすべての拡張機能またはパーソナル化が、エージェントが MCP フレームワークを介してアクセスできるように自動的に使用できるようになります。
ツールがエージェントに応答すると、アプリケーション ビュー モデルがエージェント オーケストレーションに返されます。 このビュー モデルは、クライアント内のユーザーに対してレンダリングされるアプリケーションに提示されたものと同じです。 エージェントの認証済みユーザーのセキュリティ ロールによって、ビュー モデルで返されるオブジェクトが決まります。 たとえば、財務アプリと運用アプリでエージェントが購入エージェントのセキュリティ ロールに割り当てられている場合、そのエージェントは、そのセキュリティ ロールの職務と特権に割り当てられたオブジェクトにのみアクセスできます。
たとえば、エージェントが form_find_menu_item ツールを呼び出すと、そのセキュリティ ロールがアクセスできるメニュー項目のみが返されます。 フォームのビュー モデルがエージェントに返されると、ユーザー ロールがアクセスできるデータ、フィールド、アクションのみが含まれます。 システムは、ユーザー ロールがアクセス権を持たないアクションまたはオブジェクトへの明示的な呼び出しを拒否します。
同様に、 data_find_entity_type ツールへの応答で返されたエンティティと、 api_find_actions ツールへの応答で返される API には、ユーザー コンテキストのセキュリティ ロールがアクセスできるオブジェクトのみが含まれます。
ロールを使用してメニュー項目、エンティティ、API を制限することは、エージェントのスコープを制限するために重要です。 また、適切な形式、データ、またはアクションを見つけるためにエージェントが調整する必要があるコンテキストを制限することで、エージェントのオーケストレーションも向上します。
許可される MCP クライアント
環境内の Dynamics 365 ERP MCP サーバーを有効にすると、サーバーにアクセスできるエージェント プラットフォームを選択できます。 既定では、MCP サーバーにアクセスできるのは次の 2 つのプラットフォームのみです。
| Platform | クライアントID |
|---|---|
| Microsoft Copilot Studio | 7ab7862c-4c57-491e-8a45-d52a7e023983 |
| Visual Studio Code | aebc6443-996d-45c2-90f0-388ff96faa56 |
MCP サーバーにアクセスする必要がある他のエージェント プラットフォームへのアクセス権を付与する必要があります。 新しいエージェント プラットフォームを追加するには、次の手順を実行する必要があります。
- アプリケーションをMicrosoft Entra IDに登録します。 詳細については、「
Microsoft Entra ID を参照してください。 - [ 許可された MCP クライアント ] フォームに登録済みのクライアント ID 値を追加し、 Allowed プロパティを
trueに設定します。
ライセンス
標準ユーザー ライセンスの課金レート
エージェントでの Dynamics 365 ERP MCP サーバーの使用には、次の 2 種類のコストが関連付けられています。
- エージェント オーケストレーション コスト (LLM コスト)、および
- MCP サーバーの実行コスト (サーバーへのツール呼び出し)。
これらのコストは、Microsoft Copilot Studio で MCP サーバーを使用する場合と、Microsoft Foundry や Microsoft 以外のクライアントなどの他のエージェント クライアントと異なります。 Copilot Studio で MCP サーバーを使用する場合、ツール呼び出しは、ツール呼び出しごとに固定レートで課金される エージェント アクション 機能に合わせて調整されます。 Copilot Studio では、Agent Action 機能の課金には、オーケストレーションの LLM コストと MCP サーバーの実行の両方が含まれます。 Copilot Studio はコードの少ないプラットフォームであるため、トークン消費の可変 LLM コストを抽象化し、オーケストレーションとツールの呼び出しの両方に固定レートを提供します。 MCP サーバーの実行コストに対する増分料金はありません。
他のエージェント クライアント上に構築されたエージェントの場合、Dynamics 365 ERP MCP サーバーを使用すると、サーバーへの 10 個のツール呼び出し (またはツール呼び出しあたり .1 クレジット) ごとに 1 つの副操縦クレジットのコストが発生します。 これは、MCP サーバーの実行に対して Microsoft によって課金される増分コストです。 LLMオーケストレーションのコストは、当該クライアントの料金に基づいてトークンの消費に対してエージェントクライアントにより別途請求されます。
| Microsoft Copilot Studio | 他のエージェントクライアント | |
|---|---|---|
| オーケストレーションのコスト | Copilot Studio レートカード上のAgent Actionとして課金されます | クライアントのトークン消費率に基づいてエージェントクライアントによる課金 |
| ツールの実行コスト | 固定オーケストレーションレートに含まれる | ツール呼び出しごとに 0.1 Copilot クレジット で課金されます |
Copilot Studio のライセンスとクレジットの詳細については、以下を参照してください。
Premium ユーザー ライセンス
次の Premium ライセンスは、Copilot Studio 以外のクライアントで構築されたエージェントの場合、ツール実行の課金
- Dynamics 365 Finance Premium
- Dynamics 365 サプライチェーン マネジメント プレミアム
Copilot Studio エージェントの場合、エージェントの使用は Microsoft 365 Copilot ライセンスに含まれます。 Copilot Studio エージェントのビジネスから従業員への使用は、そのエージェントのユーザーが Microsoft 365 Copilot でライセンスを取得し、エージェントが認証された Microsoft 365 Copilot USL ユーザーの ID を使用して動作する場合に、Microsoft 365 Copilot USL に含まれます。 このような場合、Dynamics 365 ERP MCP サーバーへのツール呼び出しでは、追加のクレジット消費は発生しません。
エージェント ライセンス
現時点では、エージェントの ID に Dynamics 365 の財務および運用ユーザー ライセンスは必要ありません。 チャット ベースのエージェントと対話するユーザーは、Dynamics 365 アプリケーションがアプリケーションのデータとビジネス操作にアクセスするためにユーザー ライセンスを必要としますが、エージェント ID には追加のライセンスは必要ありません。 この要件は、エージェントが Microsoft Copilot Studio に組み込まれているか、Dynamics 365 ERP MCP サーバーのいずれかを介して Dynamics 365 の財務と運用にアクセスしている限り、対話型ユーザーなしでの自律エージェントにも適用されます。
Dynamics 365 Finance and Operations アプリで システム エージェント セキュリティ ロールにエージェント ID を割り当てると、エージェント ID は Dynamics 365 Finance および Operations のユーザー ライセンス要件から除外されます。 このロールは、Dynamics 365 の財務および運用アプリ環境で既定で使用できます。 アクセス許可は提供されておらず、職務や特権も割り当てられていないため、アプリのアクセス許可を追加しないでください。 このロールは、該当する場合にエージェントをライセンス要件から除外することを目的としています。 エージェントが実行するタスクに基づいて適切なアプリのアクセス許可を付与する他のセキュリティ ロールをエージェントに割り当てます。
既知の制限事項
Dynamics 365 ERP MCP サーバーの現在の実装には、次の制限があります。
言語: MCP サーバーは、米国英語 (en-us) のみをサポートしています。 エージェントの認証済みユーザーが別のロケールを指定した場合、ツール コンテキストで返されるフォーム ラベルと値はそのロケールに表示されます。 ただし、MCP 応答は常にメタデータとガイダンスを英語で提供します。
日付: 日付、時刻、数値は ISO 形式を使用します。 ユーザー ロケールは考慮されません。
制御の制限事項: エージェントは、予定表コントロール、組織図コントロール、リスト ビュー、可用性ビュー、HTML エディター、画像、ラジオ ボタン、時刻編集などの一部のコントロールを操作できません。 カスタム コントロールはサポートされていません。
使用可能なメニュー項目:
find_menu_itemツールは、左側のナビゲーション ウィンドウの項目とユーザー ロールがアクセスできる項目でフィルター処理された表示およびアクション メニュー項目を返します。フォーム タブ: フォーム タブは既定で閉じられます。 エージェントは、フォーム タブの下にあるデータとコントロールを操作するためにフォーム タブを開く必要があります。
出力メニュー項目: MCP サーバーは、レポートを生成して表示したり、結果を出力したりする出力メニュー項目をサポートしていません。
添付 ファイル: MCP サーバーでは、ドキュメント ビューアーの DocuUpload コントロールや FileUpload コントロールなどの添付ファイルはサポートされていません。
システム管理者フォーム: MCP サーバーは、機能管理、ユーザー管理、セキュリティの管理など、システム管理タスクに関連する一部のフォームへのアクセスを提供しません。 次のフォームは除外されます。
カテゴリ フォーム ラベル フォーム名 セキュリティ セキュリティ構成 SysSecConfiguration セキュリティ ユーザー ロールの割り当て SysSecUserAddRoles セキュリティ 職務の分離の設定 SysSecSegrationOfDuties セキュリティ 一時的な役割 - ユーザーセキュリティ政府の一時的な役割
- UserSecGovTemporaryRoleAddRoles
- UserSecGovTemporaryRoleAssignOrg
- UserSecGovTemporaryRoleUser
セキュリティ 特権アクセス制御 - UserSecGovPrivilegedUserManagement
- UserSec
ユーザーのセットアップ ユーザー Sysユーザー情報ページ ユーザーのセットアップ ユーザー グループ SysUserGroupInfo Integrations Microsoft Entra ID アプリケーション SysAADClientTable Features 機能管理 FeatureManagementWorkspace 高度なフィルター: MCP サーバーは、グリッドの高度なフィルターをサポートしていません。 たとえば、日付列の "before"、"after"、"between" 演算子はサポートされていません。 フィルター処理では"一致" 演算子のみがサポートされます。
環境のダウンタイム: MCP サーバーは、サービス 期間などの環境のダウンタイム中に使用できません。 エージェントがこれらのサービス期間中に行う MCP 要求はすべて失敗します。
財務および運用アプリ用のCopilot: クライアントのサイドカーチャットパネルで使用できるように、Dynamics 365 ERP MCPサーバーを財務および運用アプリ用Copilotのツールとして追加することは、まだサポートされていません。 MCP サーバーをエージェントに追加することはブロックされていませんが、実行でエラーが発生する可能性があります。 Microsoft サポートでは、これらのシナリオのエラーや問題を解決するためのサポートは保証されません。