mcpField
M
mcp-dataverse

mcp-dataverse

ローカル
github.com/rajyramanデータベース1178 週間前に更新

mcp-dataverse について

mcp-dataverseは、SQLでDataverse環境を照会するMCPサーバーです。GitHub CopilotやClaude Desktopの利用者向けで、dotnet toolまたはDockerコンテナとして実行でき、SELECT文のみを許可します。

主な機能

  1. 01SQLによるDataverseの照会
  2. 02dotnet toolまたはDockerで実行
  3. 03SELECT文のみ許可

活用シーン

  1. 01Dataverse内のソリューションを照会
  2. 02発行元別にソリューションを確認
  3. 03最近インポートされたソリューションを検索
  4. 04登録済みプラグインを確認

MCP 対応

GitHub CopilotやClaude DesktopなどのクライアントにDataverse照会機能を提供し、SQLを直接実行するツールも公開します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

概要

このリポジトリの目的は、SQL を使って Dataverse 環境をクエリできるようにすることです。設定にこの MCP サーバーを追加すれば、GitHub Copilot や Claude Desktop などの人気の AI ツールを使って Dataverse をクエリできます。

Sql4Cds を作成してくださった Mark Carrington に心より感謝します。このプロジェクトは、同氏なしには実現しませんでした。🙏

前提条件 🔍

  1. VSCode March(最低でも 2025 年 3 月版)または Claude Desktop
  2. DevContainer オプションを使用しない場合は、ローカルマシンに Azure CLI をインストールし、認証しておく必要があります。Azure Identity フレームワークを使った対話型ブラウザー認証も可能ですが、Azure CLI で認証を管理するほうが少し簡単です。
  3. Dev Containers または DevContainer 内の MCP サーバーを実行する場合は、Docker。
  4. dotnet ツールをインストールする場合は、dotnet 9.0 SDK。

Model Context Protocol(MCP)📋

MCP 仕様の策定者である Anthropic は、Model Context Protocol を次のように定義しています。

MCP は、アプリケーションが LLM にコンテキストを提供する方法を標準化するオープンプロトコルです。MCP は、AI アプリケーション向けの USB-C ポートのようなものと考えてください。USB-C がデバイスをさまざまな周辺機器やアクセサリーに接続する標準的な方法を提供するように、MCP は AI モデルをさまざまなデータソースやツールに接続する標準的な方法を提供します。

インストール 🚀

dotnet としてインストール

上のボタンが機能しない場合は、以下の URL をアドレスバーに貼り付けてください。

vscode:mcp/install?%7B%0A%20%20%20%20%22name%22%3A%20%22dataverse-mcp-dotnet-tool%22%2C%0A%20%20%20%20%22type%22%3A%20%22stdio%22%2C%0A%20%20%20%20%22command%22%3A%20%22mcp-dataverse%22%2C%0A%20%20%20%20%22env%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%22DATAVERSE_ENVIRONMENT_URL%22%3A%20%22https%3A%2F%2Fxyz.crm.dynamics.com%22%0A%20%20%20%20%7D%0A%7D

VS Code に Docker でインストール

上のボタンが機能しない場合は、以下の URL をアドレスバーに貼り付けてください。

vscode:mcp/install?%7B%0A%20%20%20%20%22name%22%3A%20%22dataverse-mcp-docker%22%2C%0A%20%20%20%20%22type%22%3A%20%22stdio%22%2C%0A%20%20%20%20%22command%22%3A%20%22docker%22%2C%0A%20%20%20%20%22args%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%22run%22%2C%0A%20%20%20%20%20%20%20%20%22--env-file%22%2C%0A%20%20%20%20%20%20%20%20%22%24%7BworkspaceFolder%7D%2F.env%22%2C%0A%20%20%20%20%20%20%20%20%22-i%22%2C%0A%20%20%20%20%20%20%20%20%22--rm%22%2C%0A%20%20%20%20%20%20%20%20%22rajyraman%2Fmcp-stdio-dataverse%22%0A%20%20%20%20%5D%0A%7D

上のボタンをクリックすると、MCP サーバーの設定を取得できます。この MCP サーバーを使用する方法は 2 つあります。

  1. Docker コンテナー
  2. dotnet tool

以下は、この MCP を使用する場所に応じた推奨事項です。

対象クライアント推奨
WindowsGitHub Copilotdotnet tool。認証に問題がある場合は、代替手段として Docker/Podman を使用してください。
WindowsClaude Desktopdotnet tool
MacOSClaude Desktop, GitHub Copilotdotnet tool
LinuxClaude Desktop, GitHub Copilotdotnet tool
GitHub CodespacesGitHub Copilotdotnet tool

この MCP サーバーは MCP C# SDK で構築されているため、nuget を通じて dotnet tool として配布されています。dotnet 9.0 SDK は、主要なすべての OS にインストールできます。

以下のコマンドを使用して、Dataverse MCP Server をグローバル dotnet tool としてインストールできます。

dotnet tool install -g Mcp.Dataverse.Stdio

設定

以下は、コンテナー内で MCP Server を実行する場合に使用できる .env ファイルのサンプルです。ワークスペースフォルダー(README.md と同じ階層)に .env を作成してください。

AZURE_CLIENT_ID=aba9829f-6288-44d7-9168-53eca9a1f4a5
AZURE_CLIENT_SECRET=abcd
AZURE_TENANT_ID=2caa17e6-884b-473b-80c5-c05d8859a2fa
DATAVERSE_ENVIRONMENT_URL=https://abc.crm6.dynamics.com
DOCKER_CONTAINER=true

クローンしたリポジトリ以外の新しいフォルダーでこの MCP Server を使用する場合は、.github/copilot-instructions.md が設定されていることを確認してください。すでに別の copilot-instructions.md ファイルがある場合は、これを .github/prompts フォルダー内のカスタムプロンプトとして作成することもできます。例:dataverse.main.prompt.md。そのプロンプトをチャットで使用してください。

MCP 設定のサンプル

{
    "servers": {
        "dataverse-mcp-dotnet-tool": {
            "type": "stdio",
            "command": "mcp-dataverse",
            "env": {
                "DATAVERSE_ENVIRONMENT_URL": "https://abc.crm6.dynamics.com"
            }
        }
    }
}

GitHub Codespaces の設定

Codespace を作成する際は、nuget-tool フォルダー内の devcontainer.json を選択してください。また、DATAVERSE_ENVIRONMENT_URL 環境変数が適切な環境 URL を指すように、dataverse-nosecrets.env も変更してください。

codespace-step-1

codespace-step-2

プロンプト

GitHub Copilot を使用する場合は、copilot-instructions.md ファイルが自動的に使用されます。

Claude Desktop では、「Attach from MCP」ボタンをクリックできます。

プロンプトを選択

例

例 1 - アンマネージドソリューションを取得する 📦

アンマネージドソリューション

例 2 - パブリッシャー別にソリューションを表示する 🏢

パブリッシャー別のソリューション

例 3 - 先週インポートされたソリューション 📅

先週インポートされたソリューション

例 4 - contact と account に登録されたプラグイン 🔌

プラグインのステップ

例 5 - #ExecuteSQL ツールで SQL を直接実行する

SQL の直接実行

例 6 - SELECT ステートメントのみ許可されます

これは、共通テーブル式も許可されないことを意味します。GitHub Copilot が MCP 仕様の Sampling をサポートするようになった場合には、この動作が変更されます。

SELECT ステートメントのみ許可

コメント

MCP は初めてですか?

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

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