すべてのプロダクト
Search
ドキュメントセンター

Data Management:DMS MCP の使用

最終更新日:Mar 31, 2026

モデルコンテキストプロトコル (MCP) は、大規模言語モデルと外部ツール間の通信チャネルを確立します。本トピックでは、Data Management (DMS) MCP の設定方法について説明します。その後、汎用的かつマルチクラウド対応の MCP サーバーを使用して、DMS でホストされるデータベースに安全にアクセスできます。

背景情報

従来のデータベース向け MCP には、以下の課題があります:

  • 異種データベースとの互換性が限定的:単一タイプのデータベースへの接続および操作のみをサポートしており、異なるデータベースプラットフォーム間での統合管理が困難です。

  • アカウントおよび権限管理機能の欠如:アカウントおよびパスワードの集中管理機能がなく、手動によるメンテナンスに依存するため、セキュリティリスクが発生します。

  • SQL 操作の制限:基本的かつ標準的な SQL 文の手動入力のみをサポートし、複雑または非標準の構文を解析できません。

  • NL2SQL(自然言語から SQL へ)機能の未対応:NL2SQL クエリをネイティブでサポートしておらず、この機能を有効化するには外部の大規模言語モデルを統合する必要があります。

DMS MCP は、AI 大規模言語モデルに対して統一的なデータアクセスを提供することで、これらの課題を解決します。標準化されたインターフェイスを活用して互換性およびセキュリティの問題を解消するとともに、新しい機能も提供します。スキーマ情報の取得、データアクセスオブジェクト (DAO) コードの生成、構造解析などが可能です。また、自動 SQL ルーティングにより、正確なデータ取得および高度なビジネスアプリケーションへの対応を実現します。

DMS MCP の主な機能

  • 安全なアクセス

    • アカウント認証情報の安全なホスティング:DMS はデータベースアカウントの認証情報を安全に管理するため、手動によるメンテナンスが不要となり、機密情報の漏洩を効果的に防止します。

    • 内部ネットワーク経由のアクセス:パブリック IP アドレスを公開することなく内部ネットワーク経由でデータベースにアクセスできます。これにより、データのセキュリティおよびプライバシーが確保されます。

    • きめ細かな権限制御:DMS MCP は、インスタンス、データベース、テーブル、フィールド、行レベルでのきめ細かなアクセス制御をサポートします。不正な操作を防止し、データセキュリティを保護します。

    • 高リスク SQL ステートメントの検出および遮断:DMS には組み込みのセキュリティルールがあり、潜在的に高リスクな SQL ステートメントをリアルタイムで検出し、遮断します。これにより、セキュリティリスクが防止されます。

    • SQL 監査および追跡:DMS はすべての SQL ステートメントの操作ログを記録します。これにより、完全なトレーサビリティおよびコンプライアンス監査が可能となり、規制当局の要件を満たします。

  • インテリジェントなデータクエリ

    • 組み込み NL2SQL アルゴリズム:組み込みの NL2SQL アルゴリズムは、自然言語による質問に基づいてデータテーブルをインテリジェントにマッチングします。テーブルの業務的意味を理解し、SQL クエリを生成・実行して、迅速に結果を返します。

    • カスタマイズ可能なナレッジベース:DMS には、組み込みのメタデータおよびクエリナレッジベースが備わっています。業務知識およびクエリパターンをカスタマイズすることで、ご自身の業務シナリオに最適化されたインテリジェントクエリ機能を実現できます。

  • 複数のデータソース対応

    • 複数データソースの管理:40 以上の主要なデータベースおよびデータウェアハウスを管理できます。これにより、さまざまなデータの型に対する統一的なアクセスが可能になります。

    • 統合されたマルチ環境管理:開発、テスト、本番など、異なる環境にまたがるデータソースを一元管理できます。これにより、運用・保守 (O&M) 効率が向上します。

    • シームレスなマルチプラットフォーム統合:Alibaba Cloud や AWS などの主要なクラウドプラットフォームに加え、自己管理データベースおよびデータウェアハウスにも対応しています。これにより、メンテナンスコストが効果的に削減されます。

アプリケーションフロー

以下の図は、クライアントからのデータアクセス要求フローを示しています。

ユースケース

ユースケース 1:Lingma などの AI IDE を使用したデータアクセスオブジェクト (DAO) の生成

本セクションでは、従来の開発フローと、DMS MCP を活用したインテリジェント開発フローの違いについて説明します。

  • 従来の開発フロー:まず、データベース開発ツールを使用してテーブル作成 SQL ステートメントを手動で実行します。次に、統合開発環境 (IDE) で DAO コードを手動で記述します。その後、データベースツールを使用してデータベースにデータを投入します。最後に、データをプレビューします。

  • インテリジェント開発フロー:まず、AI IDE を使用してテーブルを設計します。次に、DMS MCP がテーブル作成 SQL ステートメントを自動的に実行し、IDE が DAO コードを自動生成し、MCP がデータベースにデータをインテリジェントに投入します。最後に、データをプレビューします。

ユースケース 2:DMS NL2SQL を使用したデータ統計の直接取得

マーケット分析部門は、DMS NL2SQL 機能を活用して、自然言語によるクエリから直接データ統計を取得できます。これにより、データ傾向の分析が容易になります。

課金

DMS MCP サービスはパブリックプレビュー中であり、無料でご利用いただけます。

本ソリューションの詳細については、お問い合わせフォームに連絡先情報をご入力いただくか、DingTalk グループ(ID:129600002740)に参加して DMS テクニカルサポートまでお問い合わせください。

事前準備

DMS でホストされているデータベースインスタンスに DMS MCP を使用してアクセスする前に、そのインスタンスを DMS に追加し、セキュリティホスティングを有効化する必要があります。インスタンスの追加方法は以下のとおりです:

方法 1:DMS MCP ツールを使用した Alibaba Cloud データベースインスタンスの追加

説明
  • この方法は、Alibaba Cloud データベースインスタンスのみに対応しています。

  • このツールで追加されたインスタンスについては、DMS がデフォルトでセキュリティホスティングを有効化します。

DMS MCP サーバーには、インスタンスを DMS にすばやく追加するための addInstance ツールが備わっています。DMS MCP に接続されたエージェント(会話型 AI アプリケーション)内で、大規模言語モデルに対してインスタンスの追加を指示します。インスタンス ID、データベースアカウント、パスワード、リージョンなどのインスタンス情報を提供してください。モデルが自動的に該当ツールを呼び出します。

方法 2:DMS コンソールを使用した Alibaba Cloud、サードパーティクラウド、または自己管理データベースインスタンスの追加

説明

この方法は、Alibaba Cloud、サードパーティクラウド、または自己管理データベースインスタンスの追加に対応しています。以下の手順では、ApsaraDB RDS for MySQL インスタンスを例として説明します。

  1. DMS 5.0 にログインします。

  2. コンソール左側の データベースインスタンス エリアで、[インスタンスの追加] アイコン add をクリックします。

    説明

    また、メニューバーから データ資産 > インスタンス管理 を選択し、新規 をクリックしてインスタンスを追加することもできます。

  3. インスタンスの追加 ページで、インスタンス情報を入力します。

    カテゴリ

    設定項目

    説明

    データソース

    -

    デフォルト値は Alibaba Cloud-MySQL です。他のデータベースタイプを選択できます。

    基本情報

    データベースタイプ

    データベースインスタンスのタイプを選択します。

    説明

    データベースタイプを選択すると、DMS が自動的に 基本情報 ページの設定項目をリフレッシュします。

    インスタンスリージョン

    データベースインスタンスが配置されているリージョンを選択します。

    その他のプライマリアカウント

    この設定項目は、クロスアカウントインスタンス を選択した場合に表示されます。データベースインスタンスの所有者である Alibaba Cloud アカウントを選択します。

    説明

    Alibaba Cloud アカウントがリストにない場合は、ユーザーの追加 をクリックして、インスタンス所有者のアカウントを追加できます。「ユーザーの追加」をご参照ください。

    入力方法

    データベースインスタンスの登録方法を選択します。インスタンス ID または 接続文字列 を使用してインスタンスを登録できます。

    インスタンス ID または 接続文字列

    インスタンス ID または 接続文字列 を入力します。

    説明

    接続文字列は、内部エンドポイントおよび内部ポートで構成されます。ApsaraDB RDS for MySQL の例:rm-XXXXXXX.mysql.rds.aliyuncs.com:3306。

    セキュリティホスティング

    この機能を有効化したままにしてください。

    アカウント認証情報をユーザーが直接扱わないようにし、きめ細かな権限制御を実現するために、セキュリティホスティング を有効化します。

    アクセスモード

    アクセスモードは以下のとおりです:

    • アカウントおよびパスワードでログイン:ユーザーが作成したデータベースアカウントおよびパスワードを手動で入力する必要があります。

    • KMS 認証情報でログイン:KMS で作成した RDS 認証情報を手動で選択してデータベースにログインします。

      説明

      このパラメーターは、RDS インスタンスを追加する場合にのみ表示されます。

    付加機能パッケージ

    必要に応じて機能パッケージを選択します。

    • セキュリティコラボレーション または 安定的な変更(いずれか 1 つを選択):セキュリティコラボレーション は、安定的な変更のすべての機能をサポートし、DevOps 機能も提供します。開発および承認フローを柔軟にカスタマイズできます。安定的な変更 は、ロックレス変更や SQL 監査など、より安定したデータベース操作のためのソリューションを提供します。

      説明

      セキュリティコラボレーションまたは安定的な変更の機能パッケージを選択しない場合、インスタンスはデフォルトで柔軟な管理モードを使用します。

    • 機密データ保護:この機能により、機密データの制御および非識別化が可能になります。業務要件に応じてこの機能を有効化してください。「機密データ保護の有効化」をご参照ください。

    セキュリティルール

    この設定項目は、機能パッケージとしてセキュリティコラボレーションを選択した場合に表示されます。

    データベースに対するきめ細かな制御のために、デフォルトまたはカスタムセキュリティルールを選択できます。

    分類およびグレーディングテンプレート

    分類およびグレーディングテンプレート の設定項目は、機密データ保護を有効化した場合にのみ表示されます。

    詳細情報

    -

    詳細情報セクションのパラメーターは、デフォルト値のままにしておくことができます。各パラメーターの詳細については、「ApsaraDB データベースインスタンスの追加」をご参照ください。

  4. 必要な情報を入力した後、左下隅の 接続テスト をクリックします。

    説明

    接続テストが失敗した場合は、エラーメッセージを確認し、入力したインスタンス情報を再確認してください。

  5. 接続成功 のメッセージが表示されたら、送信 をクリックします。

    データベースインスタンスが DMS に追加されました。

インスタンスの追加方法の詳細については、「ApsaraDB データベースインスタンスの追加」および「サードパーティクラウドまたは自己管理データベースインスタンスの追加」をご参照ください。

使用モード

DMS MCP サーバーは、2 種類の使用モードをサポートしています。

モード

シナリオ

モード 1:マルチインスタンスモード

このモードは、複数の環境でデータベースインスタンスを管理およびアクセスする場合に適しています。すべてのインスタンスを DMS に追加し、DMS MCP サーバーを使用して一元管理できます。

モード 2:シングルデータベースモード

このモードは、単一のデータベースにアクセスする場合に適しています。サーバーの CONNECTION_STRING パラメーターを構成することで、アクセス対象のデータベースを指定できます。サービス起動時に、DMS MCP サーバーは指定されたデータベースに直接アクセスします。

フォーマット:CONNECTION_STRING = dbName@host:port

DMS ページ左側のデータベース一覧エリアで、データベース名を検索してダブルクリックし、SQL ウィンドウ を使用して、CONNECTION_STRING の値をすばやく取得できます。

クイックスタート

ソリューション 1:PyPI パッケージを使用した実行

  1. AccessKey または Security Token Service (STS) トークン を取得します。このトークンには AliyunDMSFullAccess 権限が必要です。

    権限の付与方法の詳細については、「権限管理」をご参照ください。

  2. MCP クライアントの設定ファイルに、以下の構成を追加します。

    • マルチインスタンスモード

      {
        "mcpServers": {
        "dms-mcp-server": {
          "command": "uvx",
          "args": [
            "alibabacloud-dms-mcp-server@latest"
          ],
          "env": {
            "ALIBABA_CLOUD_ACCESS_KEY_ID": "access_id",
            "ALIBABA_CLOUD_ACCESS_KEY_SECRET": "access_key",
            "ALIBABA_CLOUD_SECURITY_TOKEN": "sts_security_token は任意です。STS トークンを使用する場合に必要です。" 
            }
          }
        }
      }
    • シングルデータベースモード

      {
        "mcpServers": {
          "dms-mcp-server": {
            "command": "uvx",
            "args": [
              "alibabacloud-dms-mcp-server@latest"
            ],
            "env": {
              "ALIBABA_CLOUD_ACCESS_KEY_ID": "access_id",
              "ALIBABA_CLOUD_ACCESS_KEY_SECRET": "access_key",
              "ALIBABA_CLOUD_SECURITY_TOKEN": "sts_security_token は任意です。STS トークンを使用する場合に必要です。",
              "CONNECTION_STRING": "dbName@host:port"
            }
          }
        }
      }

ソリューション 2:DMS でホストされる MCP サービスの使用

  1. DMS 5.0 にログインします。

  2. MCP サービスを有効化します。

    1. 右下隅の MCP アイコン image にマウスポインターを合わせ、表示されるダイアログボックスで 今すぐ有効化 をクリックします。

      image

    2. MCP サービスの適用範囲を選択します。

      • すべてのデータベース:「事前準備」セクションで追加されたすべてのデータベース。

      • 指定されたデータベース:「事前準備」セクションで追加されたデータベースのうち、1 つを指定します。

        説明

        指定されたデータベース を選択した場合、対象となるデータベースも選択する必要があります。

    3. 有効化の確認 をクリックします。

      image

  3. MCP サービスが有効化された後、MCP 構成情報を表示します。

    説明

    右下隅の MCP アイコン image にマウスポインターを合わせると、表示されるダイアログボックスで MCP 構成情報を確認できます。

  4. DMS MCP サービスを AI エージェントに統合し、必要に応じて使用します。

    説明
    • DMS MCP サービスを使用する場合は、手順 3[MCP Configuration Example]にある[Authorization]フィールドに基づいて、認証用の Bearer トークンを設定します。

    • MCP サービスのデータベース範囲を変更するには、まずサービスをキャンセルする必要があります。MCP アイコン image にマウスポインターを合わせ、サービスのキャンセル をクリックし、表示されるダイアログボックスで キャンセルの確認 をクリックします。その後、MCP サービスの再有効化 を行ってください。

ソリューション 3:他のプラットフォームでホストされる DMS MCP サービスの使用

DMS MCP サービスは、Alibaba Cloud Model StudioModelScope、およびFunction AIで利用できます。

DMS MCP でサポートされるツール

ツール名

説明

適用モード

addInstance

DMS にインスタンスを追加します。既に存在するインスタンスの場合、その情報が返されます。

マルチインスタンスモード

listInstances

DMS 内のインスタンスの一覧を検索します。

マルチインスタンスモード

getInstance

ホストおよびポートに基づいて、インスタンスの詳細を取得します。

マルチインスタンスモード

searchDatabase

スキーマ名に基づいてデータベースを検索します。

マルチインスタンスモード

getDatabase

特定のデータベースの詳細を取得します。

マルチインスタンスモード

listTable

指定されたデータベース内のデータテーブルを検索します。

マルチインスタンスモードおよびシングルデータベースモード

getTableDetailInfo

特定のデータテーブルの詳細を取得します。

マルチインスタンスモードおよびシングルデータベースモード

executeScript

SQL スクリプトを実行し、結果を返します。

マルチインスタンスモードおよびシングルデータベースモード

createDataChangeOrder

DDL または DML 操作のリクエストを提出するためのデータ変更チケットを作成します。

マルチインスタンスモードおよびシングルデータベースモード

getOrderInfo

チケットの詳細(ステータス、承認フロー、実行ログなど)を照会します。

マルチインスタンスモードおよびシングルデータベースモード

submitOrderApproval

チケットを承認フローに提出し、承認後に実行できるようにします。

マルチインスタンスモードおよびシングルデータベースモード

generateSql

自然言語による質問を実行可能な SQL クエリ文に変換します。

マルチインスタンスモード

askDatabase

自然言語を使用してデータベースをクエリします(NL2SQL + SQL 実行)。

シングルデータベースモード

fixSql

構文または論理エラーがある SQL ステートメントを自動的に修正します。

マルチインスタンスモードおよびシングルデータベースモード

answerSqlSyntax

SQL 構文に関する説明および提案を提供します。

マルチインスタンスモードおよびシングルデータベースモード

optimizeSql

SQL ステートメントを分析および最適化し、実行効率を向上させます。

マルチインスタンスモードおよびシングルデータベースモード