mcpField
J
JAJ Dataverse Dev MCP

JAJ Dataverse Dev MCP

ローカル
github.com開発ツール05 週間前に更新

JAJ Dataverse Dev MCP について

JAJ Dataverse Dev MCPは、Dataverse環境を横断して作業する開発者やコンサルタント向けの軽量なMCPサーバーです。Web APIを薄く包み、既存のAzure CLI IDを使うため、アプリ用の認証情報を別途用意する必要がありません。

主な機能

  1. 01Azure CLI IDで認証
  2. 02設定済み環境を切り替え
  3. 03レコードの検索と更新
  4. 04メタデータとソリューションの確認
  5. 05ソリューションの作成とエクスポート

活用シーン

  1. 01最近作成されたDataverseレコードの確認
  2. 02テーブルやソリューションコンポーネントの調査
  3. 03アンマネージドソリューションの作成
  4. 04デプロイ用のソリューションのエクスポート

MCP 対応

薄いラッパーを通じて、データ、メタデータ、ソリューション、コンポーネント、トラブルシューティングなどのDataverse Web API機能をMCPクライアントに公開します。複数の環境を設定して利用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"jjohnsen-jaj-dataverse-dev": {
"command": "npx",
"args": [
"-y",
"jaj-dataverse-dev-mcp"
],
"env": {
"DATAVERSE_ENVIRONMENTS_PATH": "<DATAVERSE_ENVIRONMENTS_PATH>"
}
}
}
}
起動コマンドnpx -y jaj-dataverse-dev-mcp
設定が必要な環境変数
DATAVERSE_ENVIRONMENTS_PATHOptional path to the Dataverse environments configuration file. Defaults to ./environments.json.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmjaj-dataverse-dev-mcp0.1.3

ツール

4

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

JAJ Dataverse Dev MCP

日々の Dataverse および Power Platform の開発に適した、軽量な MCP サーバーです。

既存の Azure CLI ID を使って、複数の Dataverse 環境にエージェントを接続できます。 このサーバーは、データ、メタデータ、ソリューション、コンポーネント、トラブルシューティング、開発タスク向けに、Web API 上に薄くエージェントに適したレイヤーを提供します。

エージェント → MCP → Azure CLI ID → Dataverse Web API

VS Code + GitHub Copilot のクイックスタート

サーバーを .vscode/mcp.json に追加します。

{
  "servers": {
		"dataverse-dev": {
			"command": "npx",
			"args": [ "-y", "jaj-dataverse-dev-mcp" ]
		}
	}
}

ファイルを保存して、Start を押します。初回の起動時は、npx がパッケージをダウンロードするため、時間がかかることがあります。

Azure CLI でサインインします。

az login

プロジェクトのルートに environments.json を作成し、必要な環境を設定します。

{
  "environments": {
    "dev": {
      "url": "https://org8ffb6d07.crm.dynamics.com/",
      "allowWrite": true
    }
  }
}

Copilot を開いて、次のように試してみてください。

  • 利用可能な Dataverse 環境を一覧表示する
  • dev 環境で whoami を呼び出す
  • 最後に作成された 5 件のアカウントの名前と ID を表示する
  • アンマネージドソリューションを一覧表示する

これで完了です。

その他の MCP 対応エージェントも同じ方法で利用できます。jaj-dataverse-dev-mcp を stdio 経由で実行し、ローカルの Azure CLI セッションと接続設定へのアクセスを提供してください。

Claude Desktop のクイックスタート

サーバーを claude_desktop_config.json に追加します。

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "dataverse-dev": {
      "command": "npx",
      "args": ["-y", "jaj-dataverse-dev-mcp"],
      "env": { "DATAVERSE_ENVIRONMENTS_PATH": "C:/Users/you/project/environments.json" }
    }
  }
}

ファイルを保存して、Claude Desktop を完全に終了してから再起動します(ウィンドウを閉じるだけでは設定の変更が反映されません)。

VS Code + GitHub Copilot のクイックスタートの「Azure CLI でサインインします...」から続けてください。

このプロジェクトの理由

Microsoft 独自のツールを含め、Dataverse MCP の実装はすでに複数あります。

このプロジェクトは、日々の開発作業で、利用可能な専用ツールを超える機能をエージェントが必要とすることが多かったことから生まれました。 多くの場合、エージェントは Dataverse Web API のリクエストを直接組み立てることで、タスクをうまく解決できました。

この MCP はそのアプローチを採用しています。

Dataverse を大規模な抽象化の背後に隠すのではなく、薄いラッパーを介して Web API に幅広くアクセスできるようにします。

また、プロジェクト、顧客、Dataverse 環境を頻繁に切り替える開発者やコンサルタント向けに設計されています。

既存の Azure CLI ID を使って、1 つの MCP サーバーで複数の Dataverse 環境を利用できます。 別途アプリ登録、クライアント ID、クライアントシークレットを用意する必要はありません。

前提条件

認証

# Authentication is based on your current Azure CLI identity:

az login

# Useful variants:

az login --tenant <tenant-id>       # Specific tenant, if your tenant is not the default
az login --allow-no-subscriptions   # Tenant without subscriptions
az login --use-device-code          # Remote/headless environments

# To inspect the currently active Azure CLI account:

az account show

Dataverse 環境

環境はプロジェクトルートの environments.json で設定し、dev、test、prod などの分かりやすい名前で識別します。
エージェントは、作業対象の Dataverse 環境を選択する際にこれらの名前を使用します。

環境が既定の Azure CLI テナントとは異なるテナントにある場合は、その環境に tenantId を追加します。

DATAVERSE_ENVIRONMENTS_PATH を使って、実行時に設定ファイルのパスを上書きできます。

例:

{
  "environments": {
    "dev": {
      "url": "https://YOUR-DEV.crm.dynamics.com/",
      "allowWrite": true
    },
    "test": {
      "url": "https://YOUR-TEST.crm4.dynamics.com",
      "allowWrite": false
    },
    "prod": {
      "url": "https://YOUR-PROD.crm4.dynamics.com",
      "allowWrite": false,
      "tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    }
  }
}

プロジェクト固有の Copilot 指示を追加する

エージェントの動作を改善するには、MCP を使用するプロジェクトに Dataverse 固有の指示を追加します。

docs/examples/copilot-instructions.md を、MCP サーバーを使用するワークスペース内の .github/copilot-instructions.md にコピーし、プロジェクトに合わせてカスタマイズします。

  • YOUR-dev、YOUR-test、YOUR-prod を environments.json の環境名に置き換えます
  • YOUR_DEFAULT_SOLUTION を、主要な Dataverse ソリューションの一意の名前に置き換えます
  • プロジェクトに合わせて既定の環境と安全ルールを調整します

カスタマイズしたファイルをプロジェクトリポジトリにコミットし、すべてのコントリビューターが同じガイダンスを使用できるようにします。

npx で直接実行

このパッケージは、デフォルトのトランスポートとして stdio を使用して手動で起動することもできます。

npx -y jaj-dataverse-dev-mcp

開発時や Streamable HTTP を使用するクライアントでは、--http を追加してください。

どのような用途に使えますか?

この MCP は Dataverse Web API を意図的に薄くラップしたものですが、次のような幅広い開発やトラブルシューティングのタスクをサポートできます。

  • Dataverse のレコードをクエリして更新する
  • テーブル、列、メタデータ、パブリッシャー、ソリューションを調べる
  • アンマネージドソリューションを作成して構成する
  • 既存のコンポーネントをソリューションに追加する
  • Dataverse のアクションや関数を操作する
  • 他の環境にデプロイするためにソリューションをエクスポートする

このため、Dataverse を調べ、次のアクションを決定し、MCP を通じて実行するエージェント主導のワークフローだけでなく、直接的な開発タスクにも役立ちます。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。