DataverseがMCP(モデルコンテキストプロトコル)に対応したようなので、Claude DesktopからDataverseへ接続し、レコードを操作してみた。
事前準備
事前準備は以下の通り。
- ローカルプロキシのインストール
- Dataverseへの接続の作成
- テナント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を操作する際の強力なツールが追加されたので、今後さらに機能が増えていくことを期待。
コメント