モデルコンテキストプロトコル (MCP) は、大規模モデルと外部ツール間の情報伝送チャネルを確立します。 このトピックでは、複数のクラウドと互換性のある MCP サーバーを使用して、データ管理 (DMS) MCP を構成してDMS で管理されているデータベースに安全にアクセスする方法について説明します。
背景情報
DMS MCP は、AI 大規模モデルに統一されたデータアクセス機能を提供し、標準化された API を介して互換性とセキュリティの問題に対処します。 さらに、DMS MCP は、スキーマ情報の取得、データアクセスオブジェクト (DAO) コード生成、構造分析、上層ビジネス運用をサポートするための SQL 自動ルーティングによる正確なデータ取得など、新しい機能を提供します。
次の表は、従来のデータベース MCP と DMS MCP の違いを示しています。
比較項目 | 従来のデータベース MCP | DMS MCP |
メタデータ管理 | 通常、従来のデータベース MCP は独立したアカウント管理機能を提供しておらず、手動によるメンテナンスが必要です。 | DMS は、アカウントとパスワードの統一管理機能を有効にし、データ漏洩を防ぐために、セキュリティホスティングを提供しています。 |
SQL 実行 | 基本的な標準準拠の SQL 文のみを実行できます。 | DMS MCP は、詳細な権限制御、高リスク SQL 遮断ポリシー、SQL 監査などの機能を使用して、従来の SQL 実行を強化します。 |
自然言語クエリ | 通常、SQL 文を手動で入力する必要があります。 自然言語を使用してデータをクエリする場合は、外部の大規模モデルに依存して、自然言語から SQL (NL2SQL) への変換機能を取得する必要があります。 | DMS には NL2SQL 機能が備わっており、自然言語クエリを入力できます。 意味理解のためのナレッジベースによって強化された DMS は、正確な SQL 文と実行結果を迅速に生成します。 |
データベースの互換性 | 従来のデータベース MCP は、同じタイプのデータベースへの接続と操作のみをサポートしています。 | DMS MCP では、MySQL、Oracle、PostgreSQL、SQL Server データベースなど、異種データベースの一元管理が可能です。 |
DMS MCP の主な機能
断片化されたデータソースによるメンテナンスコストを削減します。
異種データベースプロトコル間の互換性の問題を解決します。
制御されていないデータベースアカウント権限と操作監査の欠如によるセキュリティリスクに対処します。
フローチャート
次の図は、データアクセスに対するクライアントリクエストのワークフローを示しています。
シナリオ
シナリオ 1:Lingma などの AI IDE と組み合わせて、DAO とデータアクセスオブジェクト (ORM) を生成する
このシナリオにおける従来の生産プロセスと DMS MCP ベースのインテリジェント開発プロセスの違いについて説明します。
従来の生産プロセス:まず、データベース開発ツールを使用してテーブル作成 SQL 文を手動で実行します。 次に、統合開発環境 (IDE) で DAO コードを記述します。 その後、データベースツールを使用してデータを構築します。 最後に、データをプレビューします。
インテリジェント開発プロセス:まず、AI IDE を使用してテーブルを設計します。 次に、DMS MCP が SQL 文を自動的に実行してテーブルを作成し、IDE が DAO コードを自動的に生成し、MCP がインテリジェントにデータを構築します。 最後に、データをプレビューします。
シナリオ 2:DMS NL2SQL を使用してデータ統計結果を直接取得する
マーケティング分析チームは、DMS NL2SQL 機能を利用して、自然言語クエリを使用してデータ統計結果を直接取得し、データトレンド分析を容易にすることができます。
課金
DMS MCP はパブリックプレビュー中で、この期間中は無料で使用できます。
DMS MCP の詳細については、アンケートに記入するか、DingTalk グループ (ID: 129600002740) で DMS テクニカルサポートに連絡してください。
準備
DMS MCP を使用して DMS で管理されているデータベースインスタンスにアクセスする前に、対応するデータベースインスタンスを DMS に登録し、データベースインスタンスに対してセキュリティコラボレーションを有効にする必要があります。 データベースインスタンスは、次の方法で登録できます。
方法 1:DMS MCP ツールを使用して Alibaba Cloud データベースインスタンスを登録する
この方法では、Alibaba Cloud データベースインスタンスのみを登録できます。
このツールで登録されたデータベースインスタンスの場合、DMS はデフォルトでセキュリティコラボレーションを有効にします。
DMS MCP サーバーは、addInstance ツールを提供して、データベースインスタンスを DMS にすばやく登録できるようにします。 インスタンスを登録する必要があることを DMS MCP AI エージェントに伝え、インスタンス ID、データベースアカウント、パスワード、リージョンなどの詳細なインスタンス情報を提供するだけです。 AI エージェントは、対応するツールを自動的に呼び出します。
方法 2:DMS コンソールで Alibaba Cloud データベースインスタンス、サードパーティクラウドプロバイダーのデータベースインスタンス、または自己管理データベースインスタンスを登録する
この方法では、Alibaba Cloud データベースインスタンス、サードパーティクラウドプロバイダーのデータベースインスタンス、または自己管理データベースインスタンスを登録できます。 次の例は、ApsaraDB RDS for MySQL データベースインスタンスを登録する方法を示しています。
- DMS コンソール V5.0 にログインします。
DMS コンソールのホームページの左側のナビゲーションウィンドウで、[データベースインスタンス] の横にある アイコンをクリックします。説明または、上部のナビゲーションバーで を選択します。 インスタンスページの [インスタンスリスト] タブで、[新規] をクリックします。
[インスタンスの追加] ダイアログボックスで、インスタンス情報を構成します。
セクション
設定項目
説明
[データソース]
-
デフォルトでは、[Alibaba Cloud-MySQL] が選択されています。 別のデータベースタイプを選択できます。
[基本情報]
[データベースタイプ]
登録するデータベースのタイプ。
説明データベースタイプを選択すると、DMS は [基本情報] ページの設定項目を自動的にリフレッシュします。
[インスタンスリージョン]
データベースインスタンスが存在するリージョン。
その他のプライマリアカウント
データベースインスタンスが属する Alibaba Cloud アカウント。 このパラメーターは、[クロス Alibaba Cloud アカウントインスタンス] をクリックした場合に表示されます。
説明Alibaba Cloud アカウントがリストにない場合は、ユーザーの追加 をクリックして、データベースインスタンスの購入に使用される Alibaba Cloud アカウントを追加できます。 詳細については、ユーザーの追加 をご参照ください。
[接続方法]
データベースインスタンスに関する情報を指定するために使用するメソッド。 有効な値:[インスタンス ID] および [接続文字列アドレス]。
[インスタンス ID] または [接続文字列アドレス]
[インスタンス ID] または [接続文字列アドレス] を入力します。
説明接続文字列の形式は次のとおりです。内部ネットワークアドレス:ポート番号。 例:rm-XXXXXXX.mysql.rds.aliyuncs.com:3306。
[セキュアホスティング]
このパラメーターを [有効] に設定します。
セキュリティホスティング を有効にすると、ユーザーがアカウントとパスワード情報に直接アクセスするのを防ぎ、詳細な権限制御を実装できます。
[アクセスモード]
データベースにログインする方法。
[アカウント + パスワードログイン]: 作成したアカウントとパスワードを使用してデータベースにログインします。
[KMS シークレットでログイン]: Key Management Service (KMS) で作成された ApsaraDB RDS シークレットを使用してデータベースにログインします。
説明このパラメーターは、ApsaraDB RDS インスタンスを登録する場合にのみ表示されます。
[高度な機能パック]
データベースインスタンスの管理方法と、データベースインスタンスの機密データ保護を有効にするかどうかを指定します。 有効な値:
[セキュリティコラボレーション] または [安定した変更]: セキュリティコラボレーション は、安定した変更のすべての機能をサポートし、DevOps 機能を提供して、開発と承認プロセスを柔軟にカスタマイズします。 安定した変更 は、ロックレス変更や SQL レビューなど、より安定したデータベース操作のためのソリューションを提供します。
説明セキュリティコラボレーションまたは安定した変更モードを選択しない場合、データベースインスタンスはデフォルトで柔軟な管理モードで管理されます。
[機密データ保護]: この機能を使用すると、機密データを制御およびマスキングできます。ビジネス要件に基づいて機能を有効にできます。詳細については、「機密データ保護機能を有効にする」をご参照ください。
セキュリティルール
このパラメーターは、「Advanced Feature Pack」パラメーターを「Security Collaboration」に設定した場合に表示されます。
デフォルトのシステム セキュリティルールを選択するか、カスタム セキュリティルール を選択して、データベースに対する詳細なコントロールを実装できます。
分類テンプレート
分類テンプレート パラメーターは、機密データ保護を有効にした場合にのみ表示されます。
[詳細情報]
-
「詳細設定」セクションのパラメーターはデフォルト値のままにしておくことができます。パラメーターの詳細については、「クラウドデータベースを登録する」をご参照ください。
上記のパラメーターを構成した後、左下隅にある [接続テスト] をクリックします。
説明接続テストが失敗した場合は、エラーメッセージに基づいて指定されたインスタンス情報を確認してください。
[接続成功] メッセージが表示された後、[送信] をクリックします。
データベースは DMS に正常に登録されました。
詳細については、「Alibaba Cloud データベースインスタンスを登録する」および「サードパーティクラウドサービスまたは自己管理データベースでホストされているデータベースを登録する」をご参照ください。
DMS MCP の使用
DMS MCP サーバーは、以下の使用モードをサポートしています。
モード | 適用可能なシナリオ |
マルチインスタンスモード | このモードは、異なる環境にある複数のデータベースインスタンスを管理およびアクセスする必要があるシナリオに適しています。すべてのデータベースインスタンスを DMS に登録し、DMS MCP サーバーを介して管理できます。 |
単一データベースモード | このモードは、単一のデータベースにアクセスする必要があるシナリオに適しています。サーバーの CONNECTION_STRING パラメーターを設定して、アクセスする必要のあるデータベースを指定できます。サービスが開始されると、DMS MCP サーバーは指定されたデータベースに直接アクセスします。
DMS ホームページの左側ナビゲーションウィンドウにあるデータベースリストでデータベース名を検索してダブルクリックすると、 |
クイックスタート
ソリューション 1:PyPI パッケージを使用して DMS MCP サービスを実行する
AccessKey ペアまたはSTS トークンを取得して、
AliyunDMSFullAccessポリシーの DMS にアクセスします。権限の付与方法の詳細については、「認証管理」をご参照ください。
次のスクリプトを MCP クライアント構成ファイルにコピーします。
マルチインスタンスモード
"mcpServers": { "dms-mcp-server": { "command": "uvx", "args": [ "alibabacloud-dms-mcp-server@latest" ], "env": { "ALIBABA_CLOUD_ACCESS_KEY_ID": "access_id", // アクセス ID "ALIBABA_CLOUD_ACCESS_KEY_SECRET": "access_key", // アクセスキー "ALIBABA_CLOUD_SECURITY_TOKEN": "sts_security_token optional, required when using STS Token" // STS トークン (オプション。STS トークンを使用する場合に必要) } } }単一データベースモード
{ "mcpServers": { "dms-mcp-server": { "command": "uvx", "args": [ "alibabacloud-dms-mcp-server@latest" ], "env": { "ALIBABA_CLOUD_ACCESS_KEY_ID": "access_id", // アクセス ID "ALIBABA_CLOUD_ACCESS_KEY_SECRET": "access_key", // アクセスキー "ALIBABA_CLOUD_SECURITY_TOKEN": "optional sts_security_token, required when using STS Token", // STS トークン (オプション。STS トークンを使用する場合に必要) "CONNECTION_STRING": "dbName@host:port" // 接続文字列 } } } }
ソリューション 2:マネージド DMS MCP サービスを使用する
Alibaba Cloud Model Studio、ModelScope、またはFunction AI で、DMS MCP サービスを使用できます。
DMS MCP でサポートされているツール
ツール名 | 説明 | 適用モード |
addInstance | DMS にインスタンスを登録します。インスタンスがすでに存在する場合は、既存のインスタンスに関する情報が返されます。 | 複数インスタンスモード |
getInstance | ホストとポート情報に基づいて、インスタンスの詳細を取得します。 | 複数インスタンスモード |
searchDatabase | スキーマ名に基づいてデータベースを検索します。 | 複数インスタンスモード |
getDatabase | 特定のデータベースの詳細を取得します。 | 複数インスタンスモード |
listTable | 指定されたデータベース内のテーブルを検索します。 | 複数インスタンスモードと単一データベースモード |
getTableDetailInfo | データベース内の特定のテーブルの詳細を取得します。 | 複数インスタンスモードと単一データベースモード |
executeScript | SQL スクリプトを実行し、結果を返します。 | 複数インスタンスモードと単一データベースモード |
nl2sql | 自然言語の質問を SQL クエリに変換します。 | 複数インスタンスモード |
askDatabase | 自然言語を使用してデータベースをクエリします (NL2SQL + SQL 実行)。 | 単一データベースモード |
configureDtsJob | データ伝送サービス (DTS) 移行タスクを構成します。 | 複数インスタンスモード |
startDtsJob | DTS 移行タスクを開始します。 | 複数インスタンスモード |
getDtsJob | DTS 移行タスクの詳細を表示します。 | 複数インスタンスモード |