MCPでDataverseに接続し、Claude Desktopからレコードを参照・作成する(プレビュー)

DataverseがMCP(モデルコンテキストプロトコル)に対応したようなので、Claude DesktopからDataverseへ接続し、レコードを操作してみた。

スポンサーリンク

事前準備

事前準備は以下の通り。

  1. ローカルプロキシのインストール
  2. Dataverseへの接続の作成
  3. テナントIDの取得

1. ローカルプロキシのインストール

まずはローカルプロキシをインストールする。

コマンドプロンプトからwingetを使用して.NET SDK 8をインストールし、
winget install Microsoft.DotNet.SDK.8
dotnetコマンドでローカルプロキシをインストールする。
dotnet tool install --global --add-source https://api.nuget.org/v3/index.json Microsoft.PowerPlatform.Dataverse.MCP

2. Dataverseへの接続の作成

続いてDataverseへの接続を作成する。

Power AutomateかPower Appsの[接続]タブへ移動し、Dataverseへの接続を作成。
接続を作成したら、そのURLをメモする(以降の手順で使用)。

3. テナントIDの取得

最後にテナントIDを取得する。

Power Appsのトップ画面から[歯車]→[セッション詳細]を選択し、
表示されるテナントIDをメモする(以降の手順で使用)。

以上で準備は完了。

Claude DesktopにローカルMCPサーバーを追加

Claude Desktopを開き、メニューの[設定]から[開発者]を選択し、[設定を編集]を押す。
するとconfig.jsonがエクスプローラーで開くので、VSCodeなどの適当なエディタで開く。
そしたら以下の内容を書き込み、保存する。
{
     "mcpServers": {
    "【わかりやすい(任意の)名前】": {
      "command": "Microsoft.PowerPlatform.Dataverse.MCP",
      "args": [
        "--ConnectionUrl",
        "【メモした接続のURL】",
        "--MCPServerName",
        "DataverseMCPServer",
        "--TenantId",
        "【テナントID】",
        "--EnableHttpLogging",
        "true",
        "--EnableMsalLogging",
        "false",
        "--Debug",
        "false",
        "--BackendProtocol",
        "HTTP"
         ]
       }
     }
   }
保存が終わったら、メニューの[終了]からClaude Desktopを閉じ、再起動する。再度[開発者]へ移動すると、MCPサーバーがrunningになっている。

動作確認

早速Claude DesktopからDataverseを操作してみる。

まずは「Dataverse内のテーブルを一覧にして」とお願いすると、ツールを利用してよいか聞かれる。OKを押すと、
該当環境内のテーブルを一覧にしてくれる。
その中の自分で作ったテーブル「ねこ」の必須項目を聞いてみると、ちゃんと答えてくれる。
ついでにレコードの追加を頼んでみると、一部の操作は失敗しちゃったけど、きちんと何が失敗したか教えてくれるし(これはClaudeがすごい)、

Dataverseに実際のレコードが追加される。

ということで、エージェントからDataverseを操作する際の強力なツールが追加されたので、今後さらに機能が増えていくことを期待。

参考

関連記事

コメント

タイトルとURLをコピーしました