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を操作する際の強力なツールが追加されたので、今後さらに機能が増えていくことを期待。



コメント