模型上下文協議(Model Context Protocol, MCP)主要為大模型和外部工具之間搭建資訊傳遞的通道。本文為您介紹如何配置Data Management MCP,以便使用多雲通用的MCP Server安全地訪問託管在DMS的資料庫。
背景資訊
傳統資料庫的MCP存在如下痛點:
異構資料庫相容性不足:僅支援串連和操作同類型資料庫,無法跨資料庫平台統一管理。
帳號與許可權管理缺失:缺乏獨立的帳號密碼集中管理能力,依賴手動維護,存在安全隱患。
SQL操作受限:僅支援手動輸入基礎的標準SQL,無法解析複雜或非標準文法。
缺乏NL2SQL支援:本身不支援自然語言查詢(NL2SQL),需額外接入外部大模型來擷取NL2SQL能力。
DMS MCP可以很好地解決上述問題,並為AI大模型提供統一的資料接入和訪問能力,且可以通過標準化介面解決相容性、安全等問題。同時,通過DMS MCP可以獲得更多新特性,包含擷取Schema資訊,並產生DAO(Data Access Object,Data Access Objects)代碼或進行結構分析,以及通過SQL自動路由,準確擷取資料,為上層業務提供資料支援。
DMS MCP的核心特性
安全訪問
帳號密碼安全託管:DMS安全管理資料庫帳號密碼,無需人工維護,有效防止敏感資訊泄露。
支援內網訪問:支援通過內網訪問資料庫,無需暴露公網地址,有效保障資料的安全與隱私。
細粒度許可權管控:支援執行個體、庫、表、欄位及行層級的精細化存取控制,避免越權操作,保障資料安全。
識別與攔截高危SQL:DMS內建多種安全規則,可即時識別、攔截潛在高危SQL,防範安全風險。
SQL審計追蹤:支援記錄所有SQL的動作記錄,支援完整追溯與合規審計,滿足監管要求。
智能問數
內建NL2SQL演算法:根據您輸入的自然語言問題,智能匹配資料表、理解表中的業務含義,產生並執行SQL查詢,快速擷取結果。
個人化知識庫:DMS內建中繼資料和問數知識庫,支援自訂業務知識和查詢模式,打造貼合業務情境的專屬智能問數能力。
支援多種資料來源
多種資料來源管理:支援管理40多種主流資料庫和數倉,可以實現統一接入和訪問多種類型的資料。
多環境統一管理:支援集中管理開發、測試、生產等不同環境下的資料來源,提升營運效率。
多平台無縫整合:覆蓋阿里雲、AWS等主流雲平台以及自建資料庫和數倉,有效降低維護成本。
應用流程圖
如下為您展示在用戶端請求訪問資料的流程。
使用情境
情境一:結合通義靈碼等AI IDE,產生DAOData Access Objects、ORM(Data Access Object)
如下為您介紹在此情境下,傳統生產與智能開發(使用DMS MCP)流程之間的差異。
傳統生產流程:首先通過資料庫開發工具手動執行建表SQL,其次在IDE(整合式開發環境)編寫DAO代碼,再通過資料庫工具構建資料,最後預覽資料。
智能開發流程:首先通過AI IDE設計表,其次通過DMS MCP自動執行建表SQL、IDE自動產生DAO代碼、MCP智能構建資料,最後預覽資料。
情境二:通過DMS NL2SQL直接擷取資料統計結果
市場分析部門可以使用DMS NL2SQL能力,直接使用自然語言擷取資料統計結果,便於分析資料趨勢。
費用說明
當前DMS MCP服務處於公測階段,可以免費使用。
如果您需要諮詢本方案的更多資訊,歡迎填寫表單留下您的資訊或進入DingTalk群(群號:129600002740)聯絡DMS支援人員。
準備工作
在您使用DMS MCP能力訪問託管在DMS的資料庫執行個體之前,您需要將對應的資料庫執行個體錄入至DMS中,並為執行個體開啟安全託管。錄入執行個體的方式如下:
方法一:通過DMS MCP工具錄入阿里雲資料庫執行個體
該方式僅支援錄入阿里雲資料庫執行個體。
通過該工具錄入的執行個體,DMS預設為其開啟安全託管。
DMS MCP Server提供addInstance工具,協助您快速將執行個體錄入至DMS中。您僅需要在接入DMS MCP的智能體(對話式AI應用)中告訴大模型您需要錄入執行個體,以及執行個體的詳細資料(執行個體ID、資料庫帳號、密碼和地區),大模型會自動調用對應工具。
方法二:通過DMS控制台錄入阿里雲或他雲/自建資料庫執行個體
該方式支援錄入阿里雲或他雲/自建資料庫執行個體。如下以錄入阿里雲RDS MySQL資料庫為例。
- 登入Data Management 5.0。
在控制台首頁左側的資料庫執行個體地區,單擊新增執行個體
表徵圖。說明您還可以在功能表列中選擇,單擊新增,進行新增執行個體操作。
在新增執行個體頁面,錄入執行個體資訊。
類別
配置項
說明
資料來源
-
預設選擇阿里雲-MySQL。您可以以重新選擇資料庫類型。
基本資料
資料庫類型
選擇資料庫執行個體的類型。
說明在選擇資料庫類型後,DMS會自動重新整理基本資料頁面的配置項。
執行個體地區
選擇資料庫執行個體所在的地區。
其他主賬號
若您選擇跨阿里雲帳號執行個體,則會出現該配置項。選擇資料庫執行個體所屬的主帳號。
說明如果主帳號不在挑選清單中,您可以單擊添加用戶,添加資料庫執行個體購買者的主帳號。具體操作,請參見添加使用者。
錄入方式
選擇資料庫執行個體的錄入方式。支援執行個體ID或串連串地址兩種錄入方式。
執行個體ID或串連串地址
輸入執行個體ID或串連串地址。
說明串連串地址的組成形式為內網地址+內網連接埠。以RDS MySQL舉例,rm-XXXXXXX.mysql.rds.aliyuncs.com:3306。
安全託管
保持開啟狀態。
開啟安全託管,可以避免使用者直接接觸賬密、實現細粒度的許可權管控。
訪問方式
訪問方式如下:
帳號+密碼登入:您需要手動輸入已建立好的資料庫帳號及密碼。
KMS憑據登入:手動選擇在KMS建立的RDS憑據以登入資料庫。
說明目前僅錄入RDS執行個體時,會出現該參數。
增值功能包
您可以按需選擇功能包。
安全協同或穩定變更(二選一):安全協同支援穩定變更的所有能力,其提供DevOps功能,可以靈活自訂研發流程、審批次程序;穩定變更支援為資料庫提供更加穩定啟動並執行解決方案,如無鎖變更、SQL審核。
說明若不選擇安全協同和穩定變更功能包,則執行個體預設為自由操作。
Sensitive Data Discovery and Protection:此功能可以實現對敏感性資料進行管控和脫敏,根據您的業務需求選擇是否開啟此功能。詳細資料,請參見開通Sensitive Data Discovery and Protection。
安全規則
當功能包選擇安全協同時,會出現該配置項。
您可以選擇系統預設或自建的安全規則對資料庫進行精細化的管控。
分類分級模板
當開啟Sensitive Data Discovery and Protection時,才會出現分類分級模板的配置項。
進階資訊
-
進階資訊地區的參數值可以保持預設。參數說明,請參見雲資料庫錄入。
填寫完成以上資訊後,單擊左下角的測試連接。
說明如果測試連接失敗,請按照報錯提示檢查您錄入的執行個體資訊。
出現串連成功提示後,單擊提交。
至此資料庫已成功錄入至DMS。
錄入執行個體操作,請參見雲資料庫錄入和他雲/自建資料庫錄入。
使用模式
DMS MCP Server支援兩種使用模式。
模式 | 模式適用情境 |
模式一:多執行個體模式 | 該模式適用於管理和訪問多環境多資料庫執行個體的情境。您可以將執行個體全部錄入至DMS中,再通過DMS MCP Server管理資料庫執行個體。 |
模式二:單資料庫模式 | 該模式適用於專註訪問單個資料庫的情境。您可以在Server中配置CONNECTION_STRING參數,指定需要訪問的資料庫。後續啟動服務時,DMS MCP Server會直接存取指定的資料庫。 配置格式: 您可以在DMS頁面左側的資料庫列表地區,找到並雙擊資料庫名稱,通過SQL視窗快速擷取 |
快速使用
方案一:使用PyPI包運行
擷取具有訪問阿里雲Data Management許可權(AliyunDMSFullAccess)的AccessKey或STS Token。
添加許可權操作,請參見授權管理。
將如下配置添加至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 optional, required when using STS Token" } } } }單資料庫模式
{ "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": "optional sts_security_token, required when using STS Token", "CONNECTION_STRING": "dbName@host:port" } } } }
方案二:使用託管在DMS的MCP服務
- 登入Data Management 5.0。
開通MCP服務。
MCP服務開通成功後,查看MCP配置資訊。
說明您可以將滑鼠指標放在右下角的MCP表徵圖
上,並在彈出的對話方塊查看MCP配置資訊。根據實際情況,將DMS MCP服務整合到您的AI Agent中並使用。
方案三:使用託管在其他平台的DMS MCP服務
您可以在阿里雲百鍊、ModelScope魔搭、Function AI中使用DMS MCP服務。
DMS MCP支援的工具
工具名稱 | 描述 | 適用模式 |
| 將執行個體錄入至DMS。如果執行個體已存在,則返回已執行個體的資訊。 | 多執行個體模式 |
| 搜尋DMS中的執行個體列表。 | 多執行個體模式 |
| 根據host和port擷取執行個體詳細資料。 | 多執行個體模式 |
| 根據schemaName搜尋資料庫。 | 多執行個體模式 |
| 擷取特定資料庫的詳細資料。 | 多執行個體模式 |
| 搜尋指定資料庫下的資料表。 | 多執行個體模式&單資料庫模式 |
| 擷取特定資料庫表的詳細資料。 | 多執行個體模式&單資料庫模式 |
| 執行SQL指令碼並返回結果。 | 多執行個體模式&單資料庫模式 |
| 建立資料變更工單,用於提交 DDL/DML 操作申請 | 多執行個體模式&單資料庫模式 |
| 查詢工單的詳細資料,包括狀態、審批次程序、執行日誌等 | 多執行個體模式&單資料庫模式 |
| 提交工單至審批次程序,等待審核通過後執行 | 多執行個體模式&單資料庫模式 |
| 將自然語言問題轉換為可執行檔 SQL 查詢語句 | 多執行個體模式 |
| 自然語言查詢資料庫(NL2SQL + 執行SQL)。 | 單資料庫模式 |
| 對存在文法或邏輯錯誤的 SQL 進行自動修複 | 多執行個體模式&單資料庫模式 |
| 針對 SQL 文法問題提供解釋與建議 | 多執行個體模式&單資料庫模式 |
| 分析並最佳化 SQL 陳述式,提升執行效率 | 多執行個體模式&單資料庫模式 |

